smalltalk
/
osmo-st-gsm
Archived
1
0
Fork 0

BSSMAP: Be able to parse Cipher Mode command..

This commit is contained in:
Holger Hans Peter Freyther 2010-11-29 21:52:51 +01:00
parent f1697c3126
commit 9ad23782d3
2 changed files with 38 additions and 0 deletions

View File

@ -400,3 +400,36 @@ GSM0808IE subclass: GSM0808EncrIE [
aMsg putByteArray: key.
]
]
GSM0808IE subclass: GSM0808ChosenEncrIE [
| algo |
GSM0808ChosenEncrIE class >> elementId [ ^ 44 ]
GSM0808ChosenEncrIE class >> initWith: anAlgo [
^ self new
cryptAlgo: anAlgo;
yourself
]
GSM0808ChosenEncrIE class >> length: aByteArray [
^ 1
]
GSM0808ChosenEncrIE class >> parseFrom: aByteArray [
^ self initWith: (aByteArray at: 2)
]
cryptAlgo [ ^ algo ]
cryptAlgo: anAlgo [
(anAlgo < 0 or: [anAlgo > 255])
ifTrue: [
self error: 'Crypt algo must be from 0-255'.
].
algo := anAlgo.
]
writeOnDirect: aMsg [
aMsg putByte: algo.
]
]

View File

@ -324,5 +324,10 @@ TestCase subclass: TestMessages [
inp := #(6 0 0 72 0 1 14 0 12 83 10 9 3 8 90 152 155 24 30 20 226 ) asByteArray.
msg := MSGParser parse: inp.
self assert: msg toMessage asByteArray = inp.
"Ciphermode Complete"
inp := #(16r06 16r01 16r03 16r23 16r00 16r01 16r05 16r00 16r03 16r55 16r2C 16r02) asByteArray.
msg := MSGParser parse: inp.
self assert: msg toMessage asByteArray = inp.
]
]