secstore.h 859 B

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