diff options
author | Harald Welte <laforge@gnumonks.org> | 2009-08-30 15:47:06 +0900 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2009-08-30 15:47:06 +0900 |
commit | 4381cfe41b123bf201e2e22735e2ff038bb8a05b (patch) | |
tree | 2328d19a1a5e5fb5dcc8b511755ea1cd608cef72 | |
parent | 08d91a5b26f0a81d6c5ba6f2c03a465108a3f189 (diff) |
add VTY/configfile command for setting encryption (A5) level
This is just configuring the gsm_network property, nobody uses it yet
-rw-r--r-- | openbsc/include/openbsc/gsm_data.h | 1 | ||||
-rw-r--r-- | openbsc/src/vty_interface.c | 14 |
2 files changed, 15 insertions, 0 deletions
diff --git a/openbsc/include/openbsc/gsm_data.h b/openbsc/include/openbsc/gsm_data.h index 2658a79a4..1ceb105df 100644 --- a/openbsc/include/openbsc/gsm_data.h +++ b/openbsc/include/openbsc/gsm_data.h @@ -374,6 +374,7 @@ struct gsm_network { char *name_long; char *name_short; enum gsm_auth_policy auth_policy; + int a5_encryption; /* layer 4 */ int (*mncc_recv) (struct gsm_network *net, int msg_type, void *arg); diff --git a/openbsc/src/vty_interface.c b/openbsc/src/vty_interface.c index 248e68eb5..f75cfaf8a 100644 --- a/openbsc/src/vty_interface.c +++ b/openbsc/src/vty_interface.c @@ -85,6 +85,8 @@ static void net_dump_vty(struct vty *vty, struct gsm_network *net) net->name_short, VTY_NEWLINE); vty_out(vty, " Authentication policy: %s%s", gsm_auth_policy_name(net->auth_policy), VTY_NEWLINE); + vty_out(vty, " Encryption: A5/%u%s", net->a5_encryption, + VTY_NEWLINE); } DEFUN(show_net, show_net_cmd, "show network", @@ -264,6 +266,7 @@ static int config_write_net(struct vty *vty) vty_out(vty, " short name %s%s", gsmnet->name_short, VTY_NEWLINE); vty_out(vty, " long name %s%s", gsmnet->name_long, VTY_NEWLINE); vty_out(vty, " auth policy %s%s", gsm_auth_policy_name(gsmnet->auth_policy), VTY_NEWLINE); + vty_out(vty, " encryption a5 %u%s", gsmnet->a5_encryption, VTY_NEWLINE); return CMD_SUCCESS; } @@ -766,6 +769,16 @@ DEFUN(cfg_net_auth_policy, return CMD_SUCCESS; } +DEFUN(cfg_net_encryption, + cfg_net_encryption_cmd, + "encryption a5 (0|1|2)", + "Enable or disable encryption (A5) for this network\n") +{ + gsmnet->auth_policy = atoi(argv[0]); + + return CMD_SUCCESS; +} + /* per-BTS configuration */ DEFUN(cfg_bts, cfg_bts_cmd, @@ -1155,6 +1168,7 @@ int bsc_vty_init(struct gsm_network *net) install_element(GSMNET_NODE, &cfg_net_name_short_cmd); install_element(GSMNET_NODE, &cfg_net_name_long_cmd); install_element(GSMNET_NODE, &cfg_net_auth_policy_cmd); + install_element(GSMNET_NODE, &cfg_net_encryption_cmd); install_element(GSMNET_NODE, &cfg_bts_cmd); install_node(&bts_node, config_write_bts); |