aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/include
diff options
context:
space:
mode:
authorJacob Erlbeck <jerlbeck@sysmocom.de>2014-11-07 14:17:44 +0100
committerHolger Hans Peter Freyther <holger@moiji-mobile.com>2014-11-14 10:23:54 +0100
commitf951a01bb227e524eb369051c95fbebace7570d0 (patch)
tree9a01dc28a3675f95e4b43ab70e05da8a25eb442f /openbsc/include
parentf6e7d99d54cc75fdc19433011afb5eaaa8a2a002 (diff)
sgsn: Refactor sgsn_auth to separate request and authorization
Currently the authorization is done in sgsn_auth_request for ACL based authorization. This doesn't match the way remote authorization would work, so that there is a second call to sgsn_auth_state already present in sgsn_auth_update. This patch removes the autorization check completely from sgsn_auth_request which in turn calls sgsn_auth_update directly now. Sponsored-by: On-Waves ehf
Diffstat (limited to 'openbsc/include')
-rw-r--r--openbsc/include/openbsc/gprs_sgsn.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/openbsc/include/openbsc/gprs_sgsn.h b/openbsc/include/openbsc/gprs_sgsn.h
index 0cb722067..ac78a1626 100644
--- a/openbsc/include/openbsc/gprs_sgsn.h
+++ b/openbsc/include/openbsc/gprs_sgsn.h
@@ -269,6 +269,7 @@ struct sgsn_subscriber_data {
struct sgsn_config;
struct sgsn_instance;
+extern const struct value_string *sgsn_auth_state_names;
void sgsn_auth_init(struct sgsn_instance *sgi);
struct imsi_acl_entry *sgsn_acl_lookup(const char *imsi, struct sgsn_config *cfg);
@@ -278,11 +279,10 @@ int sgsn_acl_del(const char *imsi, struct sgsn_config *cfg);
int sgsn_auth_request(struct sgsn_mm_ctx *mm, struct sgsn_config *cfg);
enum sgsn_auth_state sgsn_auth_state(struct sgsn_mm_ctx *mm,
struct sgsn_config *cfg);
-void sgsn_auth_update(struct sgsn_mm_ctx *mm, struct sgsn_subscriber_data *sd);
+void sgsn_auth_update(struct sgsn_mm_ctx *mm, struct sgsn_instance *sgi);
/* Called on subscriber data updates */
-void sgsn_update_subscriber_data(struct sgsn_mm_ctx *mmctx,
- struct sgsn_subscriber_data *sd);
+void sgsn_update_subscriber_data(struct sgsn_mm_ctx *mmctx);
int gprs_sndcp_vty_init(void);
struct sgsn_instance;