BSSMAP: Be able to parse Cipher Mode command..
This commit is contained in:
parent
f1697c3126
commit
9ad23782d3
33
BSSMAP.st
33
BSSMAP.st
|
@ -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.
|
||||
]
|
||||
]
|
||||
|
|
5
Tests.st
5
Tests.st
|
@ -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.
|
||||
]
|
||||
]
|
||||
|
|
Reference in New Issue