enum{ MAXFILESIZE = 10*1024*1024 };

enum{// PW status bits
	Enabled 	= (1<<0),
	STA 		= (1<<1),	// extra SecurID step
};

typedef struct PW {
	char *id;		// user id
	ulong expire;	// expiration time (epoch seconds)
	ushort status;	// Enabled, STA, ...
	ushort failed;	// number of failed login attempts
	char *other;	// other information, e.g. sponsor
	mpint *Hi;  	// H(passphrase)^-1 mod p
} PW;

PW *getPW(char *, int);
int putPW(PW *);
void freePW(PW *);

// *client: SConn, client name, passphrase
// *server: SConn, (partial) 1st msg, PW entry
// *setpass: Username, hashed passphrase, PW entry
int PAKclient(SConn *, char *, char *, char **);
int PAKserver(SConn *, char *, char *, PW **);
char *PAK_Hi(char *, char *, mpint *, mpint *);

#define LOG "secstore"

extern	char	*SECSTORE_DIR;

