aboutsummaryrefslogtreecommitdiffstats
path: root/src/libbsc/net_init.c
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2017-12-23 17:30:18 +0100
committerPhilipp Maier <pmaier@sysmocom.de>2018-02-19 11:43:07 +0100
commit51e4bf329844b8daa20239f77bb90cf04ce6dbb9 (patch)
tree714824807233bc013977d51adf5b266e72c616be /src/libbsc/net_init.c
parent86a8031e9cf0b8660d4c34079d0aec1505b4823f (diff)
Permit set of multiple different A5 ciphers
So far, the administrator had to pick one particular cipher which would then be used throughout all subscribers/phones. This is a bit impractical, as e.g. not all phones support A5/3. Extend the VTY command syntax in a backwards-compatible way to permit for multiple ciphers. The bit-mask of permitted ciphers from the MSC (sent in ASSIGNMENT COMMAND) is intersected with the vty-configured mask a the BSC. Finally, the best (highest) possible cipher is chosen. Change-Id: I1d1c8131855bcab2392b4f27f6216bdb2fae10e0 Closes: OS#2461
Diffstat (limited to 'src/libbsc/net_init.c')
-rw-r--r--src/libbsc/net_init.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/libbsc/net_init.c b/src/libbsc/net_init.c
index 90f668f2c..d560b0c9e 100644
--- a/src/libbsc/net_init.c
+++ b/src/libbsc/net_init.c
@@ -50,6 +50,8 @@ struct gsm_network *bsc_network_init(void *ctx,
net->country_code = country_code;
net->network_code = network_code;
+ /* Permit a compile-time default of A5/3 and A5/1 */
+ net->a5_encryption_mask = (1 << 3) | (1 << 1);
/* Use 30 min periodic update interval as sane default */
net->t3212 = 5;