Blame


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