aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/gprs/sgsn_vty.c
diff options
context:
space:
mode:
Diffstat (limited to 'openbsc/src/gprs/sgsn_vty.c')
-rw-r--r--openbsc/src/gprs/sgsn_vty.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/openbsc/src/gprs/sgsn_vty.c b/openbsc/src/gprs/sgsn_vty.c
index ce3b4da9e..a4ba2802e 100644
--- a/openbsc/src/gprs/sgsn_vty.c
+++ b/openbsc/src/gprs/sgsn_vty.c
@@ -131,6 +131,8 @@ static int config_write_sgsn(struct vty *vty)
gctx->gtp_version, VTY_NEWLINE);
}
+ vty_out(vty, " auth-policy %s%s",
+ g_cfg->acl_enabled ? "closed" : "accept-all", VTY_NEWLINE);
llist_for_each_entry(acl, &g_cfg->imsi_acl, list)
vty_out(vty, " imsi-acl add %s%s", acl->imsi, VTY_NEWLINE);
@@ -392,6 +394,20 @@ DEFUN(imsi_acl, cfg_imsi_acl_cmd,
return CMD_SUCCESS;
}
+DEFUN(cfg_auth_policy, cfg_auth_policy_cmd,
+ "auth-policy (accept-all|closed)",
+ "Autorization Policy of SGSN\n"
+ "Accept all IMSIs (DANGEROUS\n"
+ "Accept only home network subscribers or those in ACL\n")
+{
+ if (!strcmp(argv[0], "accept-all"))
+ g_cfg->acl_enabled = 0;
+ else
+ g_cfg->acl_enabled = 1;
+
+ return CMD_SUCCESS;
+}
+
int sgsn_vty_init(void)
{
install_element_ve(&show_sgsn_cmd);
@@ -410,6 +426,7 @@ int sgsn_vty_init(void)
//install_element(SGSN_NODE, &cfg_ggsn_remote_port_cmd);
install_element(SGSN_NODE, &cfg_ggsn_gtp_version_cmd);
install_element(SGSN_NODE, &cfg_imsi_acl_cmd);
+ install_element(SGSN_NODE, &cfg_auth_policy_cmd);
return 0;
}