mirror of
https://github.com/romanz/amodem.git
synced 2026-05-09 21:13:04 +08:00
Merge pull request #30 from np/decode-subpackets
gpg/decode/parse_subpackets: parse subpacket length according to RFC
This commit is contained in:
@@ -25,10 +25,17 @@ def parse_subpackets(s):
|
|||||||
|
|
||||||
while True:
|
while True:
|
||||||
try:
|
try:
|
||||||
subpacket_len = s.readfmt('B')
|
first = s.readfmt('B')
|
||||||
except EOFError:
|
except EOFError:
|
||||||
break
|
break
|
||||||
|
|
||||||
|
if first < 192:
|
||||||
|
subpacket_len = first
|
||||||
|
elif first < 255:
|
||||||
|
subpacket_len = ((first - 192) << 8) + s.readfmt('B') + 192
|
||||||
|
else: # first == 255
|
||||||
|
subpacket_len = s.readfmt('>L')
|
||||||
|
|
||||||
subpackets.append(s.read(subpacket_len))
|
subpackets.append(s.read(subpacket_len))
|
||||||
|
|
||||||
return subpackets
|
return subpackets
|
||||||
|
|||||||
Reference in New Issue
Block a user