From 090dd141cb88607213068853592594ce2c6f8e1a Mon Sep 17 00:00:00 2001 From: Neels Hofmeyr Date: Tue, 9 Jan 2018 23:48:25 +0100 Subject: associate conn with bsc subscriber where possible (TODO) Various logging in the code (e.g. handover) attempts to log the subscriber information from conn->bsub, but so far, the only time we set conn->bsub is during paging. We do though get IMSI and/or TMSI information from Layer 3 Complete messaging, not only from the Paging Request, which is already used for IMSI filtering. Also extract TMSI and create a conn->bsub subscriber. <-- TODO Make sure conn->bsub also gets cleaned up by bsc_subscr_put() when the conn is freed. Change-Id: Icc20c141ec339385181949b93548a73121bb7615 --- src/libbsc/bsc_subscriber.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'src/libbsc/bsc_subscriber.c') diff --git a/src/libbsc/bsc_subscriber.c b/src/libbsc/bsc_subscriber.c index d9d90baa9..65a660b40 100644 --- a/src/libbsc/bsc_subscriber.c +++ b/src/libbsc/bsc_subscriber.c @@ -41,7 +41,6 @@ static struct bsc_subscr *bsc_subscr_alloc(struct llist_head *list) return NULL; llist_add_tail(&bsub->entry, list); - bsub->use_count = 1; return bsub; } @@ -92,7 +91,7 @@ struct bsc_subscr *bsc_subscr_find_or_create_by_imsi(struct llist_head *list, return bsub; bsub = bsc_subscr_alloc(list); bsc_subscr_set_imsi(bsub, imsi); - return bsub; + return bsc_subscr_get(bsub); } struct bsc_subscr *bsc_subscr_find_or_create_by_tmsi(struct llist_head *list, @@ -104,7 +103,7 @@ struct bsc_subscr *bsc_subscr_find_or_create_by_tmsi(struct llist_head *list, return bsub; bsub = bsc_subscr_alloc(list); bsub->tmsi = tmsi; - return bsub; + return bsc_subscr_get(bsub); } const char *bsc_subscr_name(struct bsc_subscr *bsub) -- cgit v1.2.3