@ -21,18 +21,25 @@
# include <string.h>
# include <osmocom/core/linuxlist.h>
# include <osmocom/core/talloc.h>
# include <osmocom/crypt/auth.h>
# include "auc.h"
# define NBUCKETS 1024
static struct llist_head auc_buckets [ NBUCKETS ] ;
static struct llist_head * auc_buckets ;
static unsigned int g_nbuckets ;
int auc_core_init ( void * ctx )
int auc_core_init ( void * ctx , unsigned int nbuckets )
{
int i ;
for ( i = 0 ; i < NBUCKETS ; i + + )
auc_buckets = talloc_array ( ctx , struct llist_head , nbuckets ) ;
if ( ! auc_buckets )
return - ENOMEM ;
g_nbuckets = nbuckets ;
for ( i = 0 ; i < nbuckets ; i + + )
INIT_LLIST_HEAD ( & auc_buckets [ i ] ) ;
return 0 ;
@ -45,7 +52,7 @@ static unsigned int osmo_auc_hashfn(const char *imsi)
res = atoi ( imsi + len - 6 ) ;
return res % NBUCKETS ;
return res % g_nbuckets ;
}
int auc_add_rec ( struct auc_rec * rec )