diff options
Diffstat (limited to 'openbsc/tests')
-rw-r--r-- | openbsc/tests/bsc-nat/Makefile.am | 8 | ||||
-rw-r--r-- | openbsc/tests/bsc-nat/bsc_nat_test.c | 59 |
2 files changed, 35 insertions, 32 deletions
diff --git a/openbsc/tests/bsc-nat/Makefile.am b/openbsc/tests/bsc-nat/Makefile.am index b620d9649..26e550098 100644 --- a/openbsc/tests/bsc-nat/Makefile.am +++ b/openbsc/tests/bsc-nat/Makefile.am @@ -10,11 +10,13 @@ bsc_nat_test_SOURCES = bsc_nat_test.c \ $(top_srcdir)/src/osmo-bsc_nat/bsc_filter.c \ $(top_srcdir)/src/osmo-bsc_nat/bsc_sccp.c \ $(top_srcdir)/src/osmo-bsc_nat/bsc_nat_utils.c \ - $(top_srcdir)/src/osmo-bsc_nat/bsc_nat_filter.c \ $(top_srcdir)/src/osmo-bsc_nat/bsc_nat_rewrite.c \ $(top_srcdir)/src/osmo-bsc_nat/bsc_nat_rewrite_trie.c \ - $(top_srcdir)/src/osmo-bsc_nat/bsc_mgcp_utils.c -bsc_nat_test_LDADD = $(top_builddir)/src/libbsc/libbsc.a \ + $(top_srcdir)/src/osmo-bsc_nat/bsc_mgcp_utils.c \ + $(top_srcdir)/src/osmo-bsc_nat/bsc_nat_filter.c +bsc_nat_test_LDADD = \ + $(top_builddir)/src/libfilter/libfilter.a \ + $(top_builddir)/src/libbsc/libbsc.a \ $(top_builddir)/src/libmgcp/libmgcp.a \ $(top_builddir)/src/libtrau/libtrau.a \ $(top_builddir)/src/libcommon/libcommon.a \ diff --git a/openbsc/tests/bsc-nat/bsc_nat_test.c b/openbsc/tests/bsc-nat/bsc_nat_test.c index 5b01cc3cd..b830eb0df 100644 --- a/openbsc/tests/bsc-nat/bsc_nat_test.c +++ b/openbsc/tests/bsc-nat/bsc_nat_test.c @@ -26,6 +26,7 @@ #include <openbsc/gsm_data.h> #include <openbsc/bsc_nat.h> #include <openbsc/bsc_nat_sccp.h> +#include <openbsc/bsc_msg_filter.h> #include <openbsc/nat_rewrite_trie.h> #include <osmocom/core/application.h> @@ -710,7 +711,7 @@ static struct cr_filter cr_filter[] = { .data = bssmap_cr, .length = sizeof(bssmap_cr), .result = 1, - .contype = NAT_CON_TYPE_CM_SERV_REQ, + .contype = FLT_CON_TYPE_CM_SERV_REQ, .nat_cm_reject_cause = GSM48_REJECT_PLMN_NOT_ALLOWED, .nat_lu_reject_cause = GSM48_REJECT_PLMN_NOT_ALLOWED, .bsc_cm_reject_cause = GSM48_REJECT_PLMN_NOT_ALLOWED, @@ -722,7 +723,7 @@ static struct cr_filter cr_filter[] = { .data = bss_lu, .length = sizeof(bss_lu), .result = 1, - .contype = NAT_CON_TYPE_LU, + .contype = FLT_CON_TYPE_LU, .nat_cm_reject_cause = GSM48_REJECT_PLMN_NOT_ALLOWED, .nat_lu_reject_cause = GSM48_REJECT_PLMN_NOT_ALLOWED, .bsc_cm_reject_cause = GSM48_REJECT_PLMN_NOT_ALLOWED, @@ -734,7 +735,7 @@ static struct cr_filter cr_filter[] = { .data = pag_resp, .length = sizeof(pag_resp), .result = 1, - .contype = NAT_CON_TYPE_PAG_RESP, + .contype = FLT_CON_TYPE_PAG_RESP, .nat_cm_reject_cause = GSM48_REJECT_PLMN_NOT_ALLOWED, .nat_lu_reject_cause = GSM48_REJECT_PLMN_NOT_ALLOWED, .bsc_cm_reject_cause = GSM48_REJECT_PLMN_NOT_ALLOWED, @@ -748,7 +749,7 @@ static struct cr_filter cr_filter[] = { .length = sizeof(bss_lu), .result = -3, .nat_imsi_deny = "[0-9]*", - .contype = NAT_CON_TYPE_LU, + .contype = FLT_CON_TYPE_LU, .nat_cm_reject_cause = GSM48_REJECT_PLMN_NOT_ALLOWED, .nat_lu_reject_cause = GSM48_REJECT_PLMN_NOT_ALLOWED, .bsc_cm_reject_cause = GSM48_REJECT_PLMN_NOT_ALLOWED, @@ -763,7 +764,7 @@ static struct cr_filter cr_filter[] = { .result = 1, .nat_imsi_deny = "[0-9]*", .bsc_imsi_allow = "2440[0-9]*", - .contype = NAT_CON_TYPE_LU, + .contype = FLT_CON_TYPE_LU, .nat_cm_reject_cause = GSM48_REJECT_PLMN_NOT_ALLOWED, .nat_lu_reject_cause = GSM48_REJECT_PLMN_NOT_ALLOWED, .bsc_cm_reject_cause = GSM48_REJECT_PLMN_NOT_ALLOWED, @@ -778,7 +779,7 @@ static struct cr_filter cr_filter[] = { .result = 1, .bsc_imsi_allow = "[0-9]*", .nat_imsi_deny = "[0-9]*", - .contype = NAT_CON_TYPE_LU, + .contype = FLT_CON_TYPE_LU, .nat_cm_reject_cause = GSM48_REJECT_PLMN_NOT_ALLOWED, .nat_lu_reject_cause = GSM48_REJECT_PLMN_NOT_ALLOWED, .bsc_cm_reject_cause = GSM48_REJECT_PLMN_NOT_ALLOWED, @@ -794,7 +795,7 @@ static struct cr_filter cr_filter[] = { .bsc_imsi_deny = "[0-9]*", .bsc_imsi_allow = "[0-9]*", .nat_imsi_deny = "[0-9]*", - .contype = NAT_CON_TYPE_LU, + .contype = FLT_CON_TYPE_LU, .nat_cm_reject_cause = GSM48_REJECT_PLMN_NOT_ALLOWED, .nat_lu_reject_cause = GSM48_REJECT_PLMN_NOT_ALLOWED, .bsc_cm_reject_cause = GSM48_REJECT_PLMN_NOT_ALLOWED, @@ -809,7 +810,7 @@ static struct cr_filter cr_filter[] = { .result = -3, .bsc_imsi_deny = "000[0-9]*", .nat_imsi_deny = "[0-9]*", - .contype = NAT_CON_TYPE_LU, + .contype = FLT_CON_TYPE_LU, .nat_cm_reject_cause = GSM48_REJECT_PLMN_NOT_ALLOWED, .nat_lu_reject_cause = GSM48_REJECT_PLMN_NOT_ALLOWED, .bsc_cm_reject_cause = GSM48_REJECT_PLMN_NOT_ALLOWED, @@ -824,7 +825,7 @@ static struct cr_filter cr_filter[] = { .result = -3, .bsc_imsi_deny = "000[0-9]*", .nat_imsi_deny = "[0-9]*", - .contype = NAT_CON_TYPE_LU, + .contype = FLT_CON_TYPE_LU, .nat_cm_reject_cause = 0x23, .nat_lu_reject_cause = 0x42, .bsc_cm_reject_cause = GSM48_REJECT_PLMN_NOT_ALLOWED, @@ -838,7 +839,7 @@ static struct cr_filter cr_filter[] = { .length = sizeof(bss_lu), .result = -2, .bsc_imsi_deny = "[0-9]*", - .contype = NAT_CON_TYPE_LU, + .contype = FLT_CON_TYPE_LU, .nat_cm_reject_cause = GSM48_REJECT_PLMN_NOT_ALLOWED, .nat_lu_reject_cause = GSM48_REJECT_PLMN_NOT_ALLOWED, .bsc_cm_reject_cause = GSM48_REJECT_PLMN_NOT_ALLOWED, @@ -852,7 +853,7 @@ static struct cr_filter cr_filter[] = { .length = sizeof(bss_lu), .result = -2, .bsc_imsi_deny = "[0-9]*", - .contype = NAT_CON_TYPE_LU, + .contype = FLT_CON_TYPE_LU, .nat_cm_reject_cause = GSM48_REJECT_PLMN_NOT_ALLOWED, .nat_lu_reject_cause = GSM48_REJECT_PLMN_NOT_ALLOWED, .bsc_cm_reject_cause = 0x42, @@ -867,9 +868,9 @@ static void test_cr_filter() int i, res, contype; struct msgb *msg = msgb_alloc(4096, "test_cr_filter"); struct bsc_nat_parsed *parsed; - struct bsc_nat_acc_lst *nat_lst, *bsc_lst; - struct bsc_nat_acc_lst_entry *nat_entry, *bsc_entry; - struct bsc_nat_reject_cause cause; + struct bsc_msg_acc_lst *nat_lst, *bsc_lst; + struct bsc_msg_acc_lst_entry *nat_entry, *bsc_entry; + struct bsc_filter_reject_cause cause; struct bsc_nat *nat = bsc_nat_alloc(); struct bsc_connection *bsc = bsc_connection_alloc(nat); @@ -878,11 +879,11 @@ static void test_cr_filter() bsc->cfg->acc_lst_name = "bsc"; nat->acc_lst_name = "nat"; - nat_lst = bsc_nat_acc_lst_get(nat, "nat"); - bsc_lst = bsc_nat_acc_lst_get(nat, "bsc"); + nat_lst = bsc_msg_acc_lst_get(nat, &nat->access_lists, "nat"); + bsc_lst = bsc_msg_acc_lst_get(nat, &nat->access_lists, "bsc"); - bsc_entry = bsc_nat_acc_lst_entry_create(bsc_lst); - nat_entry = bsc_nat_acc_lst_entry_create(nat_lst); + bsc_entry = bsc_msg_acc_lst_entry_create(bsc_lst); + nat_entry = bsc_msg_acc_lst_entry_create(nat_lst); /* test the default value as we are going to overwrite it */ OSMO_ASSERT(bsc_entry->cm_reject_cause == GSM48_REJECT_PLMN_NOT_ALLOWED); @@ -946,7 +947,7 @@ static void test_dt_filter() int i; struct msgb *msg = msgb_alloc(4096, "test_dt_filter"); struct bsc_nat_parsed *parsed; - struct bsc_nat_reject_cause cause; + struct bsc_filter_reject_cause cause; struct bsc_nat *nat = bsc_nat_alloc(); struct bsc_connection *bsc = bsc_connection_alloc(nat); @@ -991,7 +992,7 @@ static void test_dt_filter() if (!parsed) continue; - con->imsi_checked = 0; + con->filter_state.imsi_checked = 0; memset(&cause, 0, sizeof(cause)); bsc_nat_filter_dt(bsc, msg, con, parsed, &cause); } @@ -1453,21 +1454,21 @@ static void test_barr_list_parsing(void) if (lst == NULL) abort(); - rc = bsc_nat_barr_adapt(NULL, &root, lst); + rc = bsc_filter_barr_adapt(NULL, &root, lst); if (rc != 0) abort(); talloc_free(lst); for (node = rb_first(&root); node; node = rb_next(node)) { - struct bsc_nat_barr_entry *entry; - entry = rb_entry(node, struct bsc_nat_barr_entry, node); + struct bsc_filter_barr_entry *entry; + entry = rb_entry(node, struct bsc_filter_barr_entry, node); printf("IMSI: %s CM: %d LU: %d\n", entry->imsi, entry->cm_reject_cause, entry->lu_reject_cause); } /* do the look up now.. */ - rc = bsc_nat_barr_find(&root, "12123119", &cm, &lu); + rc = bsc_filter_barr_find(&root, "12123119", &cm, &lu); if (!rc) { printf("Failed to find the IMSI.\n"); abort(); @@ -1479,7 +1480,7 @@ static void test_barr_list_parsing(void) } /* empty and check that it is empty */ - bsc_nat_barr_adapt(NULL, &root, NULL); + bsc_filter_barr_adapt(NULL, &root, NULL); if (!RB_EMPTY_ROOT(&root)) { printf("Failed to empty the list.\n"); abort(); @@ -1492,7 +1493,7 @@ static void test_barr_list_parsing(void) abort(); } - rc = bsc_nat_barr_adapt(NULL, &root, lst); + rc = bsc_filter_barr_adapt(NULL, &root, lst); if (rc != -1) { printf("It should have failed due dup\n"); abort(); @@ -1501,13 +1502,13 @@ static void test_barr_list_parsing(void) /* dump for reference */ for (node = rb_first(&root); node; node = rb_next(node)) { - struct bsc_nat_barr_entry *entry; - entry = rb_entry(node, struct bsc_nat_barr_entry, node); + struct bsc_filter_barr_entry *entry; + entry = rb_entry(node, struct bsc_filter_barr_entry, node); printf("IMSI: %s CM: %d LU: %d\n", entry->imsi, entry->cm_reject_cause, entry->lu_reject_cause); } - rc = bsc_nat_barr_adapt(NULL, &root, NULL); + rc = bsc_filter_barr_adapt(NULL, &root, NULL); } static void test_nat_extract_lac() |