aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/auth/secstore/secstore.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/auth/secstore/secstore.h')
-rw-r--r--src/cmd/auth/secstore/secstore.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/cmd/auth/secstore/secstore.h b/src/cmd/auth/secstore/secstore.h
new file mode 100644
index 00000000..dbd2ec9c
--- /dev/null
+++ b/src/cmd/auth/secstore/secstore.h
@@ -0,0 +1,31 @@
+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;
+