diff options
-rw-r--r-- | openbsc/include/openbsc/gsm_data.h | 2 | ||||
-rw-r--r-- | openbsc/src/db.c | 12 |
2 files changed, 11 insertions, 3 deletions
diff --git a/openbsc/include/openbsc/gsm_data.h b/openbsc/include/openbsc/gsm_data.h index cc023b3ab..a50d9f21d 100644 --- a/openbsc/include/openbsc/gsm_data.h +++ b/openbsc/include/openbsc/gsm_data.h @@ -605,6 +605,8 @@ struct gsm_auth_info { }; struct gsm_auth_tuple { + int use_count; + int key_seq; u_int8_t rand[16]; u_int8_t sres[8]; u_int8_t kc[8]; diff --git a/openbsc/src/db.c b/openbsc/src/db.c index bfc7d9310..5ad951ac1 100644 --- a/openbsc/src/db.c +++ b/openbsc/src/db.c @@ -133,9 +133,12 @@ static char *create_stmts[] = { "CREATE TABLE IF NOT EXISTS AuthTuples (" "id INTEGER PRIMARY KEY AUTOINCREMENT, " "subscriber_id NUMERIC UNIQUE NOT NULL, " - "rand BLOB, " - "sres BLOB, " - "kc BLOB " + "issued TIMESTAMP NOT NULL, " + "use_count INTEGER NOT NULL DEFAULT 0, " + "key_seq INTEGER NOT NULL, " + "rand BLOB NOT NULL, " + "sres BLOB NOT NULL, " + "kc BLOB NOT NULL " ")", }; @@ -383,6 +386,9 @@ int get_authtuple_by_subscr(struct gsm_auth_tuple *atuple, memset(atuple, 0, sizeof(atuple)); + atuple->use_count = dbi_result_get_ulonglong(result, "use_count"); + atuple->key_seq = dbi_result_get_ulonglong(result, "key_seq"); + len = dbi_result_get_field_length(result, "rand"); if (len != sizeof(atuple->rand)) goto err_size; |