bsc: also allow empty key for A5/0
Change-Id: Id54abc09dd62d7247a970a03ed8c2209b641f511
This commit is contained in:
parent
beda697221
commit
3fe8460494
|
@ -718,7 +718,7 @@ runs on MSC_ConnHdlr {
|
||||||
var PDU_BSSAP bssap;
|
var PDU_BSSAP bssap;
|
||||||
var RSL_Message rsl;
|
var RSL_Message rsl;
|
||||||
var RSL_AlgId alg_rsl;
|
var RSL_AlgId alg_rsl;
|
||||||
var octetstring expect_kc;
|
var template octetstring expect_kc;
|
||||||
|
|
||||||
if (isvalue(enc.enc_kc128)) {
|
if (isvalue(enc.enc_kc128)) {
|
||||||
BSSAP.send(ts_BSSMAP_CipherModeCmdKc128(enc.enc_alg, enc.enc_key, valueof(enc.enc_kc128)));
|
BSSAP.send(ts_BSSMAP_CipherModeCmdKc128(enc.enc_alg, enc.enc_key, valueof(enc.enc_kc128)));
|
||||||
|
@ -732,6 +732,13 @@ runs on MSC_ConnHdlr {
|
||||||
|
|
||||||
if (alg_rsl == RSL_ALG_ID_A5_4 and ispresent(enc.enc_kc128)) {
|
if (alg_rsl == RSL_ALG_ID_A5_4 and ispresent(enc.enc_kc128)) {
|
||||||
expect_kc := enc.enc_kc128;
|
expect_kc := enc.enc_kc128;
|
||||||
|
} else if (alg_rsl == RSL_ALG_ID_A5_0) {
|
||||||
|
/* When A5/0 is chosen, no encryption is active, so technically, no key is needed. However, 3GPP TS
|
||||||
|
* 48.058 9.3.7 Encryption Information stays quite silent about presence or absence of a key for A5/0.
|
||||||
|
* The only thing specified is how to indicate the length of the key; the possibility that the key may
|
||||||
|
* be zero length is not explicitly mentioned. So it seems that we should always send the key along,
|
||||||
|
* even for A5/0. Still, let's also allow a zero length key for A5/0. */
|
||||||
|
expect_kc := (enc.enc_key, ''O);
|
||||||
} else {
|
} else {
|
||||||
expect_kc := enc.enc_key;
|
expect_kc := enc.enc_key;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue