diff options
Diffstat (limited to 'tests/db')
-rw-r--r-- | tests/db/db_test.c | 20 | ||||
-rw-r--r-- | tests/db/db_test.err | 88 |
2 files changed, 56 insertions, 52 deletions
diff --git a/tests/db/db_test.c b/tests/db/db_test.c index 6727812..bdf1393 100644 --- a/tests/db/db_test.c +++ b/tests/db/db_test.c @@ -122,16 +122,16 @@ static void _fill_invalid(void *dest, size_t size) /* Not linking the real auc_compute_vectors(), just returning num_vec. * This gets called by db_get_auc(), but we're only interested in its rc. */ int auc_compute_vectors(struct osmo_auth_vector *vec, unsigned int num_vec, - struct osmo_sub_auth_data *aud2g, - struct osmo_sub_auth_data *aud3g, + struct osmo_sub_auth_data2 *aud2g, + struct osmo_sub_auth_data2 *aud3g, const uint8_t *rand_auts, const uint8_t *auts) { return num_vec; } static struct db_context *dbc = NULL; static void *ctx = NULL; static struct hlr_subscriber g_subscr; -static struct osmo_sub_auth_data g_aud2g; -static struct osmo_sub_auth_data g_aud3g; +static struct osmo_sub_auth_data2 g_aud2g; +static struct osmo_sub_auth_data2 g_aud3g; static int g_rc; static int64_t g_id; @@ -180,18 +180,21 @@ void dump_subscr(struct hlr_subscriber *subscr) #undef Pb } -void dump_aud(const char *label, struct osmo_sub_auth_data *aud) +void dump_aud(const char *label, struct osmo_sub_auth_data2 *aud) { if (aud->type == OSMO_AUTH_TYPE_NONE) { fprintf(stderr, "%s: none\n", label); return; } - fprintf(stderr, "%s: struct osmo_sub_auth_data {\n", label); + fprintf(stderr, "%s: struct osmo_sub_auth_data2 {\n", label); #define Pf(name, fmt) \ Pfo(name, fmt, aud) #define Phex(name) \ Pfv(name, "'%s'", osmo_hexdump_nospc(aud->name, sizeof(aud->name))) +#define Phexl(name, len) \ + Pfv(name, "'%s'", osmo_hexdump_nospc(aud->name, aud->len)) + Pfv(type, "%s", osmo_sub_auth_type_name(aud->type)); Pfv(algo, "%s", osmo_auth_alg_name(aud->algo)); @@ -200,9 +203,9 @@ void dump_aud(const char *label, struct osmo_sub_auth_data *aud) Phex(u.gsm.ki); break; case OSMO_AUTH_TYPE_UMTS: - Phex(u.umts.opc); + Phexl(u.umts.opc, u.umts.opc_len); Pf(u.umts.opc_is_op, "%u"); - Phex(u.umts.k); + Phexl(u.umts.k, u.umts.k_len); Phex(u.umts.amf); if (aud->u.umts.sqn) { Pf(u.umts.sqn, "%"PRIu64); @@ -219,6 +222,7 @@ void dump_aud(const char *label, struct osmo_sub_auth_data *aud) #undef Pf #undef Phex +#undef Phexl } void db_raw_sql(struct db_context *dbc, const char *sql) diff --git a/tests/db/db_test.err b/tests/db/db_test.err index 222d3a1..dee85e0 100644 --- a/tests/db/db_test.err +++ b/tests/db/db_test.err @@ -824,7 +824,7 @@ db_subscr_update_aud_by_id(dbc, id, mk_aud_2g(OSMO_AUTH_ALG_COMP128v1, "01234567 db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0 DAUC IMSI='123456789000000': No 3G Auth Data -2G: struct osmo_sub_auth_data { +2G: struct osmo_sub_auth_data2 { .type = GSM, .algo = COMP128v1, .u.gsm.ki = '0123456789abcdef0123456789abcdef', @@ -841,7 +841,7 @@ db_subscr_update_aud_by_id(dbc, id, mk_aud_2g(OSMO_AUTH_ALG_COMP128v1, "01234567 db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0 DAUC IMSI='123456789000000': No 3G Auth Data -2G: struct osmo_sub_auth_data { +2G: struct osmo_sub_auth_data2 { .type = GSM, .algo = COMP128v1, .u.gsm.ki = '0123456789abcdef0123456789abcdef', @@ -853,7 +853,7 @@ db_subscr_update_aud_by_id(dbc, id, mk_aud_2g(OSMO_AUTH_ALG_COMP128v2, "BeadedBe db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0 DAUC IMSI='123456789000000': No 3G Auth Data -2G: struct osmo_sub_auth_data { +2G: struct osmo_sub_auth_data2 { .type = GSM, .algo = COMP128v2, .u.gsm.ki = 'beadedbeeaced1ebbeddefacedfacade', @@ -865,7 +865,7 @@ db_subscr_update_aud_by_id(dbc, id, mk_aud_2g(OSMO_AUTH_ALG_COMP128v3, "DeafBedd db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0 DAUC IMSI='123456789000000': No 3G Auth Data -2G: struct osmo_sub_auth_data { +2G: struct osmo_sub_auth_data2 { .type = GSM, .algo = COMP128v3, .u.gsm.ki = 'deafbeddedbabeacceededfadeddecaf', @@ -877,7 +877,7 @@ db_subscr_update_aud_by_id(dbc, id, mk_aud_2g(OSMO_AUTH_ALG_XOR_2G, "CededEfface db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0 DAUC IMSI='123456789000000': No 3G Auth Data -2G: struct osmo_sub_auth_data { +2G: struct osmo_sub_auth_data2 { .type = GSM, .algo = XOR-2G, .u.gsm.ki = 'cededeffacedacefacedbadfadedbeef', @@ -905,7 +905,7 @@ db_subscr_update_aud_by_id(dbc, id, mk_aud_2g(OSMO_AUTH_ALG_XOR_2G, "CededEfface db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0 DAUC IMSI='123456789000000': No 3G Auth Data -2G: struct osmo_sub_auth_data { +2G: struct osmo_sub_auth_data2 { .type = GSM, .algo = XOR-2G, .u.gsm.ki = 'cededeffacedacefacedbadfadedbeef', @@ -932,7 +932,7 @@ db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0 DAUC IMSI='123456789000000': No 2G Auth Data 2G: none -3G: struct osmo_sub_auth_data { +3G: struct osmo_sub_auth_data2 { .type = UMTS, .algo = MILENAGE, .u.umts.opc = 'beefedcafefaceacedaddeddecadefee', @@ -954,7 +954,7 @@ db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0 DAUC IMSI='123456789000000': No 2G Auth Data 2G: none -3G: struct osmo_sub_auth_data { +3G: struct osmo_sub_auth_data2 { .type = UMTS, .algo = MILENAGE, .u.umts.opc = 'beefedcafefaceacedaddeddecadefee', @@ -970,7 +970,7 @@ db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0 DAUC IMSI='123456789000000': No 2G Auth Data 2G: none -3G: struct osmo_sub_auth_data { +3G: struct osmo_sub_auth_data2 { .type = UMTS, .algo = MILENAGE, .u.umts.opc = 'deaf0ff1ced0d0dabbedd1ced1cef00d', @@ -985,7 +985,7 @@ db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0 DAUC IMSI='123456789000000': No 2G Auth Data 2G: none -3G: struct osmo_sub_auth_data { +3G: struct osmo_sub_auth_data2 { .type = UMTS, .algo = MILENAGE, .u.umts.opc = 'beefedcafefaceacedaddeddecadefee', @@ -1001,7 +1001,7 @@ db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0 DAUC IMSI='123456789000000': No 2G Auth Data 2G: none -3G: struct osmo_sub_auth_data { +3G: struct osmo_sub_auth_data2 { .type = UMTS, .algo = MILENAGE, .u.umts.opc = 'cededeffacedacefacedbadfadedbeef', @@ -1033,7 +1033,7 @@ db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0 DAUC IMSI='123456789000000': No 2G Auth Data 2G: none -3G: struct osmo_sub_auth_data { +3G: struct osmo_sub_auth_data2 { .type = UMTS, .algo = MILENAGE, .u.umts.opc = 'cededeffacedacefacedbadfadedbeef', @@ -1069,12 +1069,12 @@ db_subscr_update_aud_by_id(dbc, id, mk_aud_3g(OSMO_AUTH_ALG_MILENAGE, "BeefedCaf db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0 -2G: struct osmo_sub_auth_data { +2G: struct osmo_sub_auth_data2 { .type = GSM, .algo = COMP128v3, .u.gsm.ki = 'cededeffacedacefacedbadfadedbeef', } -3G: struct osmo_sub_auth_data { +3G: struct osmo_sub_auth_data2 { .type = UMTS, .algo = MILENAGE, .u.umts.opc = 'beefedcafefaceacedaddeddecadefee', @@ -1097,12 +1097,12 @@ DAUC Cannot update auth tokens: Unknown auth algo: 99999 db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0 -2G: struct osmo_sub_auth_data { +2G: struct osmo_sub_auth_data2 { .type = GSM, .algo = COMP128v3, .u.gsm.ki = 'cededeffacedacefacedbadfadedbeef', } -3G: struct osmo_sub_auth_data { +3G: struct osmo_sub_auth_data2 { .type = UMTS, .algo = MILENAGE, .u.umts.opc = 'beefedcafefaceacedaddeddecadefee', @@ -1117,12 +1117,12 @@ DAUC Cannot update auth tokens: Invalid KI: 'f000000000000f00000000000f000000f00 db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0 -2G: struct osmo_sub_auth_data { +2G: struct osmo_sub_auth_data2 { .type = GSM, .algo = COMP128v3, .u.gsm.ki = 'cededeffacedacefacedbadfadedbeef', } -3G: struct osmo_sub_auth_data { +3G: struct osmo_sub_auth_data2 { .type = UMTS, .algo = MILENAGE, .u.umts.opc = 'beefedcafefaceacedaddeddecadefee', @@ -1137,12 +1137,12 @@ DAUC Cannot update auth tokens: Invalid KI: 'f00' db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0 -2G: struct osmo_sub_auth_data { +2G: struct osmo_sub_auth_data2 { .type = GSM, .algo = COMP128v3, .u.gsm.ki = 'cededeffacedacefacedbadfadedbeef', } -3G: struct osmo_sub_auth_data { +3G: struct osmo_sub_auth_data2 { .type = UMTS, .algo = MILENAGE, .u.umts.opc = 'beefedcafefaceacedaddeddecadefee', @@ -1157,12 +1157,12 @@ DAUC Cannot update auth tokens: auth algo not suited for 2G: MILENAGE db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0 -2G: struct osmo_sub_auth_data { +2G: struct osmo_sub_auth_data2 { .type = GSM, .algo = COMP128v3, .u.gsm.ki = 'cededeffacedacefacedbadfadedbeef', } -3G: struct osmo_sub_auth_data { +3G: struct osmo_sub_auth_data2 { .type = UMTS, .algo = MILENAGE, .u.umts.opc = 'beefedcafefaceacedaddeddecadefee', @@ -1177,12 +1177,12 @@ DAUC Cannot update auth tokens: Invalid OP/OPC: '0f000000000000f00000000000f0000 db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0 -2G: struct osmo_sub_auth_data { +2G: struct osmo_sub_auth_data2 { .type = GSM, .algo = COMP128v3, .u.gsm.ki = 'cededeffacedacefacedbadfadedbeef', } -3G: struct osmo_sub_auth_data { +3G: struct osmo_sub_auth_data2 { .type = UMTS, .algo = MILENAGE, .u.umts.opc = 'beefedcafefaceacedaddeddecadefee', @@ -1197,12 +1197,12 @@ DAUC Cannot update auth tokens: Invalid K: '000000000000f00000000000f000000' db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0 -2G: struct osmo_sub_auth_data { +2G: struct osmo_sub_auth_data2 { .type = GSM, .algo = COMP128v3, .u.gsm.ki = 'cededeffacedacefacedbadfadedbeef', } -3G: struct osmo_sub_auth_data { +3G: struct osmo_sub_auth_data2 { .type = UMTS, .algo = MILENAGE, .u.umts.opc = 'beefedcafefaceacedaddeddecadefee', @@ -1217,12 +1217,12 @@ DAUC Cannot update auth tokens: Invalid ind_bitlen: 29 db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0 -2G: struct osmo_sub_auth_data { +2G: struct osmo_sub_auth_data2 { .type = GSM, .algo = COMP128v3, .u.gsm.ki = 'cededeffacedacefacedbadfadedbeef', } -3G: struct osmo_sub_auth_data { +3G: struct osmo_sub_auth_data2 { .type = UMTS, .algo = MILENAGE, .u.umts.opc = 'beefedcafefaceacedaddeddecadefee', @@ -1237,12 +1237,12 @@ DAUC Cannot update auth tokens: Invalid OP/OPC: 'X000000000000f00000000000f00000 db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0 -2G: struct osmo_sub_auth_data { +2G: struct osmo_sub_auth_data2 { .type = GSM, .algo = COMP128v3, .u.gsm.ki = 'cededeffacedacefacedbadfadedbeef', } -3G: struct osmo_sub_auth_data { +3G: struct osmo_sub_auth_data2 { .type = UMTS, .algo = MILENAGE, .u.umts.opc = 'beefedcafefaceacedaddeddecadefee', @@ -1257,12 +1257,12 @@ DAUC Cannot update auth tokens: Invalid K: 'f000000000000 f00000000000 f000000' db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0 -2G: struct osmo_sub_auth_data { +2G: struct osmo_sub_auth_data2 { .type = GSM, .algo = COMP128v3, .u.gsm.ki = 'cededeffacedacefacedbadfadedbeef', } -3G: struct osmo_sub_auth_data { +3G: struct osmo_sub_auth_data2 { .type = UMTS, .algo = MILENAGE, .u.umts.opc = 'beefedcafefaceacedaddeddecadefee', @@ -1338,7 +1338,7 @@ sqlite3_prepare_v2(dbc->db, sql, -1, &stmt, NULL) --> SQLITE_OK sqlite3_step(stmt) --> SQLITE_DONE db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> -ENOKEY -DAUC IMSI='123456789000000': Error reading Ki, expected length 16 but has length 15 +DAUC IMSI='123456789000000': Error reading Ki, expected min length 16 but has length 15 DAUC IMSI='123456789000000': No 3G Auth Data @@ -1359,7 +1359,7 @@ sqlite3_step(stmt) --> SQLITE_DONE db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> -5 DAUC IMSI='123456789000000': No 2G Auth Data -DAUC IMSI='123456789000000': Error reading K, expected length 16 but has length 15 +DAUC IMSI='123456789000000': Error reading K, expected min length 16 but has length 15 @@ -1374,7 +1374,7 @@ sqlite3_step(stmt) --> SQLITE_DONE db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> -5 DAUC IMSI='123456789000000': No 2G Auth Data -DAUC IMSI='123456789000000': Error reading OP, expected length 16 but has length 15 +DAUC IMSI='123456789000000': Error reading OP, expected min length 16 but has length 15 @@ -1389,7 +1389,7 @@ sqlite3_step(stmt) --> SQLITE_DONE db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> -5 DAUC IMSI='123456789000000': No 2G Auth Data -DAUC IMSI='123456789000000': Error reading OPC, expected length 16 but has length 15 +DAUC IMSI='123456789000000': Error reading OPC, expected min length 16 but has length 15 @@ -1458,7 +1458,7 @@ db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0 DAUC IMSI='123456789000000': No 2G Auth Data 2G: none -3G: struct osmo_sub_auth_data { +3G: struct osmo_sub_auth_data2 { .type = UMTS, .algo = MILENAGE, .u.umts.opc = 'beefedcafefaceacedaddeddecadefee', @@ -1477,7 +1477,7 @@ db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0 DAUC IMSI='123456789000000': No 2G Auth Data 2G: none -3G: struct osmo_sub_auth_data { +3G: struct osmo_sub_auth_data2 { .type = UMTS, .algo = MILENAGE, .u.umts.opc = 'beefedcafefaceacedaddeddecadefee', @@ -1495,7 +1495,7 @@ db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0 DAUC IMSI='123456789000000': No 2G Auth Data 2G: none -3G: struct osmo_sub_auth_data { +3G: struct osmo_sub_auth_data2 { .type = UMTS, .algo = MILENAGE, .u.umts.opc = 'beefedcafefaceacedaddeddecadefee', @@ -1513,7 +1513,7 @@ db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0 DAUC IMSI='123456789000000': No 2G Auth Data 2G: none -3G: struct osmo_sub_auth_data { +3G: struct osmo_sub_auth_data2 { .type = UMTS, .algo = MILENAGE, .u.umts.opc = 'beefedcafefaceacedaddeddecadefee', @@ -1534,7 +1534,7 @@ db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0 DAUC IMSI='123456789000000': No 2G Auth Data 2G: none -3G: struct osmo_sub_auth_data { +3G: struct osmo_sub_auth_data2 { .type = UMTS, .algo = MILENAGE, .u.umts.opc = 'beefedcafefaceacedaddeddecadefee', @@ -1550,7 +1550,7 @@ db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0 DAUC IMSI='123456789000000': No 2G Auth Data 2G: none -3G: struct osmo_sub_auth_data { +3G: struct osmo_sub_auth_data2 { .type = UMTS, .algo = MILENAGE, .u.umts.opc = 'beefedcafefaceacedaddeddecadefee', @@ -1568,7 +1568,7 @@ db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0 DAUC IMSI='123456789000000': No 2G Auth Data 2G: none -3G: struct osmo_sub_auth_data { +3G: struct osmo_sub_auth_data2 { .type = UMTS, .algo = MILENAGE, .u.umts.opc = 'beefedcafefaceacedaddeddecadefee', @@ -1586,7 +1586,7 @@ db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> 0 DAUC IMSI='123456789000000': No 2G Auth Data 2G: none -3G: struct osmo_sub_auth_data { +3G: struct osmo_sub_auth_data2 { .type = UMTS, .algo = MILENAGE, .u.umts.opc = 'beefedcafefaceacedaddeddecadefee', |