add authorized state to subscribers in db
diff --git a/include/openbsc/gsm_subscriber.h b/include/openbsc/gsm_subscriber.h
index d2c0d4f..03333d4 100644
--- a/include/openbsc/gsm_subscriber.h
+++ b/include/openbsc/gsm_subscriber.h
@@ -13,6 +13,7 @@
 	char tmsi[GSM_TMSI_LENGTH];
 	u_int16_t lac;
 	char name[GSM_NAME_LENGTH];
+	int authorized;
 };
 
 enum gsm_subscriber_field {
diff --git a/src/db.c b/src/db.c
index 73fb0fe..94105bd 100644
--- a/src/db.c
+++ b/src/db.c
@@ -69,7 +69,8 @@
 		"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 @@
 	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 @@
 	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 @@
 	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");