From f13b3c968ff6266cc19188fe25cb3f7d8d780b6d Mon Sep 17 00:00:00 2001 From: Neels Hofmeyr Date: Fri, 17 Feb 2017 17:05:40 +0100 Subject: logging: use central filter and ctx consts from libosmocore The LCHAN and BTS filter contexts are actually never used, so drop them until someone adds them properly. For now use only LOGGING_{FILTER,CTX}_VLR_SUBSCR. Some of these will change to _BSC_SUBSCR once struct bsc_subscriber is introduced, and later on, struct gsm_subscriber will be replaced by vlr_subscriber so that the names will match. Depends: libosmocore change-id I5c343630020f4b108099696fd96c2111614c8067 Change-Id: Ifa82f6a461ad4c0eeddb8a38fb3833460432d16b --- openbsc/src/libcommon/debug.c | 42 ++++++++++++++++++------------------------ 1 file changed, 18 insertions(+), 24 deletions(-) (limited to 'openbsc/src/libcommon') diff --git a/openbsc/src/libcommon/debug.c b/openbsc/src/libcommon/debug.c index cf5beeb44..51fbb931e 100644 --- a/openbsc/src/libcommon/debug.c +++ b/openbsc/src/libcommon/debug.c @@ -177,32 +177,25 @@ static const struct log_info_cat default_categories[] = { }, }; -enum log_filter { - _FLT_ALL = LOG_FILTER_ALL, /* libosmocore */ - FLT_IMSI = 1, - FLT_NSVC = 2, - FLT_BVC = 3, -}; - static int filter_fn(const struct log_context *ctx, struct log_target *tar) { - struct gsm_subscriber *subscr = ctx->ctx[BSC_CTX_SUBSCR]; - const struct gprs_nsvc *nsvc = ctx->ctx[GPRS_CTX_NSVC]; - const struct gprs_nsvc *bvc = ctx->ctx[GPRS_CTX_BVC]; + const struct gsm_subscriber *subscr = ctx->ctx[LOGGING_CTX_VLR_SUBSCR]; + const struct gprs_nsvc *nsvc = ctx->ctx[LOGGING_CTX_GB_NSVC]; + const struct gprs_nsvc *bvc = ctx->ctx[LOGGING_CTX_GB_BVC]; - if ((tar->filter_map & (1 << FLT_IMSI)) != 0 - && subscr && subscr == tar->filter_data[FLT_IMSI]) + if ((tar->filter_map & (1 << LOGGING_FILTER_VLR_SUBSCR)) != 0 + && subscr && subscr == tar->filter_data[LOGGING_FILTER_VLR_SUBSCR]) return 1; /* Filter on the NS Virtual Connection */ - if ((tar->filter_map & (1 << FLT_NSVC)) != 0 - && nsvc && (nsvc == tar->filter_data[FLT_NSVC])) + if ((tar->filter_map & (1 << LOGGING_FILTER_GB_NSVC)) != 0 + && nsvc && (nsvc == tar->filter_data[LOGGING_FILTER_GB_NSVC])) return 1; /* Filter on the NS Virtual Connection */ - if ((tar->filter_map & (1 << FLT_BVC)) != 0 - && bvc && (bvc == tar->filter_data[FLT_BVC])) + if ((tar->filter_map & (1 << LOGGING_FILTER_GB_BVC)) != 0 + && bvc && (bvc == tar->filter_data[LOGGING_FILTER_GB_BVC])) return 1; return 0; @@ -216,16 +209,17 @@ const struct log_info log_info = { void log_set_imsi_filter(struct log_target *target, struct gsm_subscriber *subscr) { + struct gsm_subscriber **fsub = (void*)&target->filter_data[LOGGING_FILTER_VLR_SUBSCR]; + /* free the old data */ - if (target->filter_data[FLT_IMSI]) { - subscr_put(target->filter_data[FLT_IMSI]); - target->filter_data[FLT_IMSI] = NULL; + if (*fsub) { + subscr_put(*fsub); + *fsub = NULL; } if (subscr) { - target->filter_map |= (1 << FLT_IMSI); - target->filter_data[FLT_IMSI] = subscr_get(subscr); - } else { - target->filter_map &= ~(1 << FLT_IMSI); - } + target->filter_map |= (1 << LOGGING_FILTER_VLR_SUBSCR); + *fsub = subscr_get(subscr); + } else + target->filter_map &= ~(1 << LOGGING_FILTER_VLR_SUBSCR); } -- cgit v1.2.3