Blame


1 6e527fbc 2005-02-13 devnull enum{ MAXFILESIZE = 10*1024*1024 };
2 6e527fbc 2005-02-13 devnull
3 6e527fbc 2005-02-13 devnull enum{// PW status bits
4 6e527fbc 2005-02-13 devnull Enabled = (1<<0),
5 6e527fbc 2005-02-13 devnull STA = (1<<1), // extra SecurID step
6 6e527fbc 2005-02-13 devnull };
7 6e527fbc 2005-02-13 devnull
8 6e527fbc 2005-02-13 devnull typedef struct PW {
9 6e527fbc 2005-02-13 devnull char *id; // user id
10 6e527fbc 2005-02-13 devnull ulong expire; // expiration time (epoch seconds)
11 6e527fbc 2005-02-13 devnull ushort status; // Enabled, STA, ...
12 6e527fbc 2005-02-13 devnull ushort failed; // number of failed login attempts
13 6e527fbc 2005-02-13 devnull char *other; // other information, e.g. sponsor
14 6e527fbc 2005-02-13 devnull mpint *Hi; // H(passphrase)^-1 mod p
15 6e527fbc 2005-02-13 devnull } PW;
16 6e527fbc 2005-02-13 devnull
17 6e527fbc 2005-02-13 devnull PW *getPW(char *, int);
18 6e527fbc 2005-02-13 devnull int putPW(PW *);
19 6e527fbc 2005-02-13 devnull void freePW(PW *);
20 6e527fbc 2005-02-13 devnull
21 6e527fbc 2005-02-13 devnull // *client: SConn, client name, passphrase
22 6e527fbc 2005-02-13 devnull // *server: SConn, (partial) 1st msg, PW entry
23 6e527fbc 2005-02-13 devnull // *setpass: Username, hashed passphrase, PW entry
24 6e527fbc 2005-02-13 devnull int PAKclient(SConn *, char *, char *, char **);
25 6e527fbc 2005-02-13 devnull int PAKserver(SConn *, char *, char *, PW **);
26 6e527fbc 2005-02-13 devnull char *PAK_Hi(char *, char *, mpint *, mpint *);
27 6e527fbc 2005-02-13 devnull
28 6e527fbc 2005-02-13 devnull #define LOG "secstore"
29 6e527fbc 2005-02-13 devnull
30 6e527fbc 2005-02-13 devnull extern char *SECSTORE_DIR;
31 6e527fbc 2005-02-13 devnull