add a authorization policy field to the network and VTY

this is not being used yet
diff --git a/openbsc/src/gsm_data.c b/openbsc/src/gsm_data.c
index edf1b3d..22e8422 100644
--- a/openbsc/src/gsm_data.c
+++ b/openbsc/src/gsm_data.c
@@ -320,3 +320,26 @@
 	}
 }
 
+static const char *gsm_auth_policy_names[] = {
+	[GSM_AUTH_POLICY_CLOSED] = "closed",
+	[GSM_AUTH_POLICY_ACCEPT_ALL] = "accept-all",
+	[GSM_AUTH_POLICY_TOKEN] = "token",
+};
+
+enum gsm_auth_policy gsm_auth_policy_parse(const char *arg)
+{
+	int i;
+	for (i = 0; i < ARRAY_SIZE(gsm_auth_policy_names); i++) {
+		if (!strcmp(arg, gsm_auth_policy_names[i]))
+			return i;
+	}
+	return GSM_AUTH_POLICY_CLOSED;
+}
+
+const char *gsm_auth_policy_name(enum gsm_auth_policy policy)
+{
+	if (policy > ARRAY_SIZE(gsm_auth_policy_names))
+		return "undefined";
+	return gsm_auth_policy_names[policy];
+}
+
diff --git a/openbsc/src/vty_interface.c b/openbsc/src/vty_interface.c
index 1e0951a..9b35e6b 100644
--- a/openbsc/src/vty_interface.c
+++ b/openbsc/src/vty_interface.c
@@ -91,6 +91,8 @@
 		net->name_long, VTY_NEWLINE);
 	vty_out(vty, "  Short network name: '%s'%s",
 		net->name_short, VTY_NEWLINE);
+	vty_out(vty, "  Authentication policy: %s%s",
+		gsm_auth_policy_name(net->auth_policy), VTY_NEWLINE);
 }
 
 DEFUN(show_net, show_net_cmd, "show network",
@@ -261,6 +263,7 @@
 	vty_out(vty, " mobile network code %u%s", gsmnet->network_code, VTY_NEWLINE);
 	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);
 
 	return CMD_SUCCESS;
 }
@@ -771,6 +774,18 @@
 	return CMD_SUCCESS;
 }
 
+DEFUN(cfg_net_auth_policy,
+      cfg_net_auth_policy_cmd,
+      "auth policy (closed|accept-all|token)",
+      "Set the GSM network authentication policy\n")
+{
+	enum gsm_auth_policy policy = gsm_auth_policy_parse(argv[0]);
+
+	gsmnet->auth_policy = policy;
+
+	return CMD_SUCCESS;
+}
+
 /* per-BTS configuration */
 DEFUN(cfg_bts,
       cfg_bts_cmd,
@@ -1320,6 +1335,7 @@
 	install_element(GSMNET_NODE, &cfg_net_mnc_cmd);
 	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_bts_cmd);
 	install_node(&bts_node, config_write_bts);