diff options
| author | rsc <devnull@localhost> | 2005-02-13 05:58:45 +0000 |
|---|---|---|
| committer | rsc <devnull@localhost> | 2005-02-13 05:58:45 +0000 |
| commit | 0f8ec41b0ae522b73085fa1662461e6351ba7e54 (patch) | |
| tree | 2d54cfd8208bdd903273ccc7df889677cf7fe8d5 /src/cmd/factotum/dat.h | |
| parent | 7637c81af02c49ef508b946dfdec39f757a658d4 (diff) | |
| download | plan9port-0f8ec41b0ae522b73085fa1662461e6351ba7e54.tar.gz plan9port-0f8ec41b0ae522b73085fa1662461e6351ba7e54.zip | |
moving to auth
Diffstat (limited to 'src/cmd/factotum/dat.h')
| -rw-r--r-- | src/cmd/factotum/dat.h | 227 |
1 files changed, 0 insertions, 227 deletions
diff --git a/src/cmd/factotum/dat.h b/src/cmd/factotum/dat.h deleted file mode 100644 index 1d4a3da2..00000000 --- a/src/cmd/factotum/dat.h +++ /dev/null @@ -1,227 +0,0 @@ -enum -{ - MaxRpc = 2048, /* max size of any protocol message */ - - /* keep in sync with rpc.c:/rpcname */ - RpcUnknown = 0, /* Rpc.op */ - RpcAuthinfo, - RpcAttr, - RpcRead, - RpcStart, - RpcWrite, - - /* thread stack size */ - STACK = 8192, -}; - -typedef struct Conv Conv; -typedef struct Key Key; -typedef struct Logbuf Logbuf; -typedef struct Proto Proto; -typedef struct Ring Ring; -typedef struct Role Role; -typedef struct Rpc Rpc; - -struct Rpc -{ - int op; - void *data; - int count; -}; - -struct Conv -{ - int ref; /* ref count */ - int hangup; /* flag: please hang up */ - int active; /* flag: there is an active thread */ - int done; /* flag: conversation finished successfully */ - ulong tag; /* identifying tag */ - Conv *next; /* in linked list */ - char *sysuser; /* system name for user speaking to us */ - char *state; /* for debugging */ - char statebuf[128]; /* for formatted states */ - char err[ERRMAX]; /* last error */ - - Attr *attr; /* current attributes */ - Proto *proto; /* protocol */ - - Channel *rpcwait; /* wait here for an rpc */ - Rpc rpc; /* current rpc. op==RpcUnknown means none */ - char rpcbuf[MaxRpc]; /* buffer for rpc */ - char reply[MaxRpc]; /* buffer for response */ - int nreply; /* count of response */ - void (*kickreply)(Conv*); /* call to send response */ - Req *req; /* 9P call to read response */ - - Channel *keywait; /* wait here for key confirmation */ - -}; - -struct Key -{ - int ref; /* ref count */ - ulong tag; /* identifying tag: sequence number */ - Attr *attr; /* public attributes */ - Attr *privattr; /* private attributes, like !password */ - Proto *proto; /* protocol owner of key */ - void *priv; /* protocol-specific storage */ -}; - -struct Logbuf -{ - Req *wait; - Req **waitlast; - int rp; - int wp; - char *msg[128]; -}; - -struct Ring -{ - Key **key; - int nkey; -}; - -struct Proto -{ - char *name; /* name of protocol */ - Role *roles; /* list of roles and service functions */ - char *keyprompt; /* required attributes for key proto=name */ - int (*checkkey)(Key*); /* initialize k->priv or reject key */ - void (*closekey)(Key*); /* free k->priv */ -}; - -struct Role -{ - char *name; /* name of role */ - int (*fn)(Conv*); /* service function */ -}; - -extern char *authaddr; /* plan9.c */ -extern int *confirminuse; /* fs.c */ -extern Conv* conv; /* conv.c */ -extern int debug; /* main.c */ -extern char *factname; /* main.c */ -extern Srv fs; /* fs.c */ -extern int *needkeyinuse; /* fs.c */ -extern char *owner; /* main.c */ -extern Proto *prototab[]; /* main.c */ -extern Ring ring; /* key.c */ -extern char *rpcname[]; /* rpc.c */ - -extern char Easproto[]; /* err.c */ - -extern Proto apop; /* apop.c */ -extern Proto chap; /* chap.c */ -extern Proto cram; /* cram.c */ -extern Proto mschap; /* mschap.c */ -extern Proto p9any; /* p9any.c */ -extern Proto p9sk1; /* p9sk1.c */ -extern Proto p9sk2; /* p9sk2.c */ - -/* provided by lib9p */ -#define emalloc emalloc9p -#define erealloc erealloc9p -#define estrdup estrdup9p - -/* hidden in libauth */ -#define attrfmt _attrfmt -#define copyattr _copyattr -#define delattr _delattr -#define findattr _findattr -#define freeattr _freeattr -#define mkattr _mkattr -#define parseattr _parseattr -#define strfindattr _strfindattr - -extern Attr* addattr(Attr*, char*, ...); -/* #pragma varargck argpos addattr 2 */ -extern Attr* addattrs(Attr*, Attr*); -extern Attr* sortattr(Attr*); -extern int attrnamefmt(Fmt*); -/* #pragma varargck type "N" Attr* */ -extern int matchattr(Attr*, Attr*, Attr*); -extern Attr* parseattrfmt(char*, ...); -/* #pragma varargck argpos parseattrfmt 1 */ -extern Attr* parseattrfmtv(char*, va_list); - -extern void confirmflush(Req*); -extern void confirmread(Req*); -extern int confirmwrite(char*); -extern int needkey(Conv*, Attr*); -extern int badkey(Conv*, Key*, char*, Attr*); -extern int confirmkey(Conv*, Key*); - -extern Conv* convalloc(char*); -extern void convclose(Conv*); -extern void convhangup(Conv*); -extern int convneedkey(Conv*, Attr*); -extern int convbadkey(Conv*, Key*, char*, Attr*); -extern int convread(Conv*, void*, int); -extern int convreadm(Conv*, char**); -extern int convprint(Conv*, char*, ...); -/* #pragma varargck argpos convprint 2 */ -extern int convreadfn(Conv*, int(*)(void*, int), char**); -extern void convreset(Conv*); -extern int convwrite(Conv*, void*, int); - -extern int ctlwrite(char*); - -extern char* estrappend(char*, char*, ...); -/* #pragma varargck argpos estrappend 2 */ -extern int hexparse(char*, uchar*, int); - -extern void keyadd(Key*); -extern Key* keylookup(char*, ...); -/* #pragma varargck argpos keylookup 1 */ -extern Key* keyfetch(Conv*, char*, ...); -/* #pragma varargck argpos keyfetch 2 */ -extern void keyclose(Key*); -extern void keyevict(Conv*, Key*, char*, ...); -/* #pragma varargck argpos keyevict 3 */ -extern Key* keyreplace(Conv*, Key*, char*, ...); -/* #pragma varargck argpos keyreplace 3 */ - -extern void lbkick(Logbuf*); -extern void lbappend(Logbuf*, char*, ...); -extern void lbvappend(Logbuf*, char*, va_list); -/* #pragma varargck argpos lbappend 2 */ -extern void lbread(Logbuf*, Req*); -extern void lbflush(Logbuf*, Req*); -extern void flog(char*, ...); -/* #pragma varargck argpos flog 1 */ - -extern void logflush(Req*); -extern void logread(Req*); -extern void logwrite(Req*); - -extern void needkeyread(Req*); -extern void needkeyflush(Req*); -extern int needkeywrite(char*); -extern int needkeyqueue(void); - -extern Attr* addcap(Attr*, char*, Ticket*); -extern Key* plan9authkey(Attr*); -extern int _authdial(char*, char*); - -extern int memrandom(void*, int); - -extern Proto* protolookup(char*); - -extern int rpcwrite(Conv*, void*, int); -extern void rpcrespond(Conv*, char*, ...); -/* #pragma varargck argpos rpcrespond 2 */ -extern void rpcrespondn(Conv*, char*, void*, int); -extern void rpcexec(Conv*); - -extern int xioauthdial(char*, char*); -extern void xioclose(int); -extern int xiodial(char*, char*, char*, int*); -extern int xiowrite(int, void*, int); -extern int xioasrdresp(int, void*, int); -extern int xioasgetticket(int, char*, char*); - -extern int extrafactotumdir; - -int havesecstore(void); -int secstorefetch(void); |
