This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
Neels Hofmeyr gerrit-no-reply at lists.osmocom.orgNeels Hofmeyr has submitted this change and it was merged. ( https://gerrit.osmocom.org/12016 )
Change subject: populate gsm_subscriber_connection->encr during Ciph
......................................................................
populate gsm_subscriber_connection->encr during Ciph
The gsm_subscriber_connection->encr is never used. Use it.
When sending the Ciphering Mode Command, populate the encryption key.
When receivint the Ciphering Mode Complete, populate the chosen alg_id.
Out of paranoia, store the enc key only if the size is large enough.
Hence the vty_dump_one_conn() now reports the actually chosen A5 algorithm ID
used.
For 3G connections, though, this will still remain 0 in the VTY, since there is
no explicit A5 algorithm negotiated on UTRAN. (Security Mode Command and
Security Mode Complete instead of the GERAN Ciphering.)
(Note, 'struct gsm_encr encr' will be renamed to 'struct geran_encr geran_encr'
in Idc7ca9da1aa13ae16f5db2cb1024676cbc770820)
Change-Id: Ice2c470c360612249f97301944c6fdf9443c7dce
---
M src/libmsc/gsm_04_08.c
M src/libmsc/osmo_msc.c
2 files changed, 9 insertions(+), 0 deletions(-)
Approvals:
Pau Espin Pedrol: Looks good to me, approved
diff --git a/src/libmsc/gsm_04_08.c b/src/libmsc/gsm_04_08.c
index d5cc212..7dd303f 100644
--- a/src/libmsc/gsm_04_08.c
+++ b/src/libmsc/gsm_04_08.c
@@ -1663,6 +1663,13 @@
memcpy(ei.key, tuple->vec.kc, sizeof(tuple->vec.kc));
ei.key_len = sizeof(tuple->vec.kc);
+ conn->encr = (struct gsm_encr){};
+ if (ei.key_len <= sizeof(conn->encr.key)) {
+ memcpy(conn->encr.key, ei.key, ei.key_len);
+ conn->encr.key_len = ei.key_len;
+ }
+ /* conn->encr.alg_id remains unknown until we receive a Cipher Mode Complete from the BSC */
+
return a_iface_tx_cipher_mode(conn, &ei, retrieve_imeisv);
}
diff --git a/src/libmsc/osmo_msc.c b/src/libmsc/osmo_msc.c
index f2c84e6..e3d7055 100644
--- a/src/libmsc/osmo_msc.c
+++ b/src/libmsc/osmo_msc.c
@@ -222,6 +222,8 @@
}
}
+ conn->encr.alg_id = alg_id;
+
ciph_res.cause = VLR_CIPH_COMPL;
vlr_subscr_rx_ciph_res(conn->vsub, &ciph_res);
}
--
To view, visit https://gerrit.osmocom.org/12016
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-msc
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: Ice2c470c360612249f97301944c6fdf9443c7dce
Gerrit-Change-Number: 12016
Gerrit-PatchSet: 8
Gerrit-Owner: Neels Hofmeyr <nhofmeyr at sysmocom.de>
Gerrit-Reviewer: Jenkins Builder (1000002)
Gerrit-Reviewer: Neels Hofmeyr <nhofmeyr at sysmocom.de>
Gerrit-Reviewer: Pau Espin Pedrol <pespin at sysmocom.de>
Gerrit-Reviewer: Vadim Yanitskiy <axilirator at gmail.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20181130/1e70cdff/attachment.htm>