aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/include
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2009-12-05 15:13:22 +0530
committerHarald Welte <laforge@gnumonks.org>2009-12-24 09:37:34 +0100
commit3606cc576502b95d4973fac2af76d1b9bdc4705b (patch)
treeeb1bc60f0c1109a066609dd73398954847b8160a /openbsc/include
parent61cc306a55bdcbf543ce5c3e74a4d30cdbba5984 (diff)
[authentication] Code for retrieving authentication data from SQL DB
This is the first step towards supporting actual A3/A8 authentication.
Diffstat (limited to 'openbsc/include')
-rw-r--r--openbsc/include/openbsc/gsm_data.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/openbsc/include/openbsc/gsm_data.h b/openbsc/include/openbsc/gsm_data.h
index c2eec4156..ff01d7287 100644
--- a/openbsc/include/openbsc/gsm_data.h
+++ b/openbsc/include/openbsc/gsm_data.h
@@ -589,6 +589,25 @@ struct gsm_sms {
char text[SMS_TEXT_SIZE];
};
+enum gsm_auth_algo {
+ AUTH_ALGO_NONE,
+ AUTH_ALGO_XOR,
+ AUTH_ALGO_COMP128v1,
+};
+
+/* Real authentication information containing Ki */
+struct gsm_auth_info {
+ enum gsm_auth_algo auth_algo;
+ unsigned int a3a8_ki_len;
+ u_int8_t a3a8_ki[16];
+};
+
+struct gsm_auth_tuple {
+ u_int8_t rand[16];
+ u_int8_t sres[8];
+ u_int8_t kc[8];
+};
+
struct gsm_network *gsm_network_init(u_int16_t country_code, u_int16_t network_code,
int (*mncc_recv)(struct gsm_network *, int, void *));
struct gsm_bts *gsm_bts_alloc(struct gsm_network *net, enum gsm_bts_type type,