add authorized state to subscribers in db

This commit is contained in:
Jan Luebbe 2008-12-27 16:47:55 +00:00
parent e9a8261486
commit 6e2e545fa1
2 changed files with 8 additions and 8 deletions

View File

@ -13,6 +13,7 @@ struct gsm_subscriber {
char tmsi[GSM_TMSI_LENGTH];
u_int16_t lac;
char name[GSM_NAME_LENGTH];
int authorized;
};
enum gsm_subscriber_field {

View File

@ -69,7 +69,8 @@ int db_prepare() {
"imsi NUMERIC UNIQUE NOT NULL, "
"tmsi NUMERIC UNIQUE, "
"extension TEXT UNIQUE, "
"lac INTEGER"
"lac INTEGER NOT NULL DEFAULT 0, "
"authorized INTEGER NOT NULL DEFAULT 0"
")"
);
if (result==NULL) {
@ -140,10 +141,6 @@ struct gsm_subscriber* db_create_subscriber(char imsi[GSM_IMSI_LENGTH]) {
return subscriber;
}
int db__parse_subscriber(dbi_result result, struct gsm_subscriber* subscriber) {
return 0;
}
int db_get_subscriber(enum gsm_subscriber_field field, struct gsm_subscriber* subscriber) {
dbi_result result;
switch (field) {
@ -178,7 +175,9 @@ int db_get_subscriber(enum gsm_subscriber_field field, struct gsm_subscriber* su
strncpy(subscriber->tmsi, dbi_result_get_string(result, "tmsi"), GSM_TMSI_LENGTH);
// FIXME handle extension
subscriber->lac = dbi_result_get_uint(result, "lac");
printf("DB: Found Subscriber: IMSI %s, TMSI %s, LAC %hu\n", subscriber->imsi, subscriber->tmsi, subscriber->lac);
subscriber->authorized = dbi_result_get_uint(result, "authorized");
printf("DB: Found Subscriber: IMSI %s, TMSI %s, LAC %hu, AUTH %u\n",
subscriber->imsi, subscriber->tmsi, subscriber->lac, subscriber->authorized);
dbi_result_free(result);
return 0;
}
@ -187,9 +186,9 @@ int db_set_subscriber(struct gsm_subscriber* subscriber) {
dbi_result result;
result = dbi_conn_queryf(conn,
"UPDATE Subscriber "
"SET tmsi = %s, lac = %i "
"SET tmsi = %s, lac = %i, authorized = %i "
"WHERE imsi = %s ",
subscriber->tmsi, subscriber->lac, subscriber->imsi
subscriber->tmsi, subscriber->lac, subscriber->authorized, subscriber->imsi
);
if (result==NULL) {
printf("DB: Failed to update Subscriber (by IMSI).\n");