74 lines
1.6 KiB
C
74 lines
1.6 KiB
C
#pragma lib "./lib.$O.a"
|
|
|
|
enum{
|
|
PASSLEN = 10,
|
|
MAXNETCHAL = 100000, /* max securenet challenge */
|
|
Maxpath = 256,
|
|
};
|
|
|
|
#define KEYDB "/mnt/keys"
|
|
#define NETKEYDB "/mnt/netkeys"
|
|
#define KEYDBBUF (sizeof NETKEYDB) /* enough for any keydb prefix */
|
|
#define AUTHLOG "auth"
|
|
|
|
enum
|
|
{
|
|
Nemail = 10,
|
|
Plan9 = 1,
|
|
Securenet = 2,
|
|
};
|
|
|
|
typedef struct
|
|
{
|
|
char *user;
|
|
char *postid;
|
|
char *name;
|
|
char *dept;
|
|
char *email[Nemail];
|
|
} Acctbio;
|
|
|
|
typedef struct {
|
|
char *keys;
|
|
char *msg;
|
|
char *who;
|
|
Biobuf *b;
|
|
} Fs;
|
|
|
|
extern Fs fs[3];
|
|
|
|
void checksum(char*, char*);
|
|
void error(char*, ...);
|
|
void fail(char*);
|
|
int findkey(char*, char*, Authkey*);
|
|
char* finddeskey(char*, char*, char*);
|
|
uint8_t* findaeskey(char*, char*, uint8_t*);
|
|
char* findsecret(char*, char*, char*);
|
|
int getauthkey(Authkey*);
|
|
int32_t getexpiration(char *db, char *u);
|
|
void getpass(Authkey*, char*, int, int);
|
|
int getsecret(int, char*);
|
|
int deskeyfmt(Fmt*);
|
|
void logfail(char*);
|
|
int netcheck(void*, int32_t, char*);
|
|
char* netdecimal(char*);
|
|
char* netresp(char*, int32_t, char*);
|
|
char* okpasswd(char*);
|
|
void private(void);
|
|
int querybio(char*, char*, Acctbio*);
|
|
void rdbio(char*, char*, Acctbio*);
|
|
int readarg(int, char*, int);
|
|
int readfile(char*, char*, int);
|
|
void readln(char*, char*, int, int);
|
|
int32_t readn(int, void*, int32_t);
|
|
char* secureidcheck(char*, char*);
|
|
int setkey(char*, char*, Authkey*);
|
|
char* setdeskey(char*, char*, char*);
|
|
uint8_t* setaeskey(char*, char*, uint8_t*);
|
|
char* setsecret(char*, char*, char*);
|
|
int smartcheck(void*, int32_t, char*);
|
|
void succeed(char*);
|
|
void wrbio(char*, Acctbio*);
|
|
int writefile(char*, char*, int);
|
|
|
|
#pragma varargck type "K" char*
|