Patch YowAxoltolLayer to fix padding problems
These changes should be reverted when yowsup updates.
This commit is contained in:
parent
dc3033c811
commit
4643bb433d
|
@ -45,9 +45,38 @@ from functools import partial
|
||||||
|
|
||||||
#from session import MsgIDs
|
#from session import MsgIDs
|
||||||
|
|
||||||
|
# Temporarily work around yowsup padding bugs with new protocol
|
||||||
|
class UpdatedYowAxolotlLayer(YowAxolotlLayer):
|
||||||
|
def decodeInt7bit(self, string):
|
||||||
|
idx = 0
|
||||||
|
while ord(string[idx]) >= 128:
|
||||||
|
idx += 1
|
||||||
|
consumedBytes = idx + 1
|
||||||
|
value = 0
|
||||||
|
while idx >= 0:
|
||||||
|
value <<= 7
|
||||||
|
value += ord(string[idx]) % 128
|
||||||
|
idx -= 1
|
||||||
|
return value, consumedBytes
|
||||||
|
|
||||||
|
def unpadV2Plaintext(self, v2plaintext):
|
||||||
|
end = -ord(v2plaintext[-1]) # length of the left padding
|
||||||
|
length,consumed = self.decodeInt7bit(v2plaintext[1:])
|
||||||
|
return v2plaintext[1+consumed:end]
|
||||||
|
|
||||||
|
# Temporary env until yowsup updates
|
||||||
|
class UpdatedS40YowsupEnv(env.S40YowsupEnv):
|
||||||
|
_VERSION = "2.13.39"
|
||||||
|
_OS_NAME= "S40"
|
||||||
|
_OS_VERSION = "14.26"
|
||||||
|
_DEVICE_NAME = "302"
|
||||||
|
_MANUFACTURER = "Nokia"
|
||||||
|
_TOKEN_STRING = "PdA2DJyKoUrwLw1Bg6EIhzh502dF9noR9uFCllGk{phone}"
|
||||||
|
_AXOLOTL = True
|
||||||
|
|
||||||
class YowsupApp(object):
|
class YowsupApp(object):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
env.CURRENT_ENV = env.S40YowsupEnv()
|
env.CURRENT_ENV = UpdatedS40YowsupEnv()
|
||||||
|
|
||||||
layers = (YowsupAppLayer,
|
layers = (YowsupAppLayer,
|
||||||
YowParallelLayer((YowAuthenticationProtocolLayer,
|
YowParallelLayer((YowAuthenticationProtocolLayer,
|
||||||
|
@ -65,7 +94,7 @@ class YowsupApp(object):
|
||||||
YowProfilesProtocolLayer,
|
YowProfilesProtocolLayer,
|
||||||
YowGroupsProtocolLayer,
|
YowGroupsProtocolLayer,
|
||||||
YowPresenceProtocolLayer)),
|
YowPresenceProtocolLayer)),
|
||||||
YowAxolotlLayer,
|
UpdatedYowAxolotlLayer,
|
||||||
YowCoderLayer,
|
YowCoderLayer,
|
||||||
YowCryptLayer,
|
YowCryptLayer,
|
||||||
YowStanzaRegulator,
|
YowStanzaRegulator,
|
||||||
|
|
Loading…
Reference in a new issue