diff --git a/GSMDriver.st b/GSMDriver.st index e7ba9a9..3a99ac3 100644 --- a/GSMDriver.st +++ b/GSMDriver.st @@ -166,7 +166,8 @@ classes.'> aMsg class messageType = GSM48MMMessage msgAuReq ifTrue: [ | auth resp | - auth := A3A8 COMP128_v3: self auKey rand: aMsg auth data. + auth := A3A8 COMP128: phoneConfig auVer ki: self auKey rand: aMsg auth data. + resp := GSM48AuthResp new. resp sres data: (auth copyFrom: 1 to: 4). diff --git a/TestPhone.st b/TestPhone.st index 4ca4440..876b4bd 100644 --- a/TestPhone.st +++ b/TestPhone.st @@ -150,7 +150,7 @@ Object subclass: IPAConfig [ ] Object subclass: PhoneConfig [ - | imsi auKey | + | imsi auKey auVer | @@ -167,10 +167,22 @@ Object subclass: PhoneConfig [ imsi [ ^ imsi ] auKey [ ^ auKey ] + auVer [ ^ auVer ] auKey: anAuKey [ auKey := anAuKey. + auVer := 3. ] + auKeyV2: anAuKey [ + auKey := anAuKey. + auVer := 2. + ] + + auKeyV1: anAuKey [ + auKey := anAuKey. + auVer := 1. + ] + auKeyByteArray [ ^ auKey isString ifTrue: [