diff --git a/sys/src/cmd/auth/factotum/dat.h b/sys/src/cmd/auth/factotum/dat.h index a12bb8e1b..19893aa6e 100644 --- a/sys/src/cmd/auth/factotum/dat.h +++ b/sys/src/cmd/auth/factotum/dat.h @@ -225,8 +225,6 @@ extern Proto chap, mschap, mschapv2, mschap2; /* chap.c */ extern Proto p9cr, vnc; /* p9cr.c */ extern Proto pass; /* pass.c */ extern Proto rsa; /* rsa.c */ -extern Proto wep; /* wep.c */ -/* extern Proto srs; /* srs.c */ extern Proto httpdigest; /* httpdigest.c */ extern Proto ecdsa; /* ecdsa.c */ extern Proto wpapsk; /* wpapsk.c */ diff --git a/sys/src/cmd/auth/factotum/fs.c b/sys/src/cmd/auth/factotum/fs.c index a3eff5b8d..13e04ce22 100644 --- a/sys/src/cmd/auth/factotum/fs.c +++ b/sys/src/cmd/auth/factotum/fs.c @@ -17,7 +17,7 @@ extern Srv fs; static void notifyf(void*, char*); static void private(void); -char Easproto[] = "auth server protocol botch"; +char Easproto[] = "auth server protocol botch"; char Ebadarg[] = "invalid argument"; char Ebadkey[] = "bad key"; char Enegotiation[] = "negotiation failed, no common protocols or keys"; @@ -38,10 +38,8 @@ prototab[] = &p9sk1, &dp9ik, &pass, -/* &srs, */ &rsa, &vnc, - &wep, &ecdsa, &wpapsk, nil, diff --git a/sys/src/cmd/auth/factotum/mkfile b/sys/src/cmd/auth/factotum/mkfile index 505216b06..5b6186e7a 100644 --- a/sys/src/cmd/auth/factotum/mkfile +++ b/sys/src/cmd/auth/factotum/mkfile @@ -12,7 +12,6 @@ PROTO=\ p9sk1.$O\ pass.$O\ rsa.$O\ - wep.$O\ ecdsa.$O\ wpapsk.$O\ diff --git a/sys/src/cmd/auth/factotum/wep.c b/sys/src/cmd/auth/factotum/wep.c deleted file mode 100644 index 6efcf5daa..000000000 --- a/sys/src/cmd/auth/factotum/wep.c +++ /dev/null @@ -1,128 +0,0 @@ -/* - * The caller supplies the device, we do the flavoring. There - * are no phases, everything happens in the init routine. - */ - -#include "dat.h" - -typedef struct State State; -struct State -{ - Key *key; -}; - -enum -{ - HavePass, -}; - -static int -wepinit(Proto*, Fsstate *fss) -{ - int ret; - Key *k; - Keyinfo ki; - State *s; - - /* find a key with at least one password */ - mkkeyinfo(&ki, fss, nil); - ret = findkey(&k, &ki, "!key1?"); - if(ret != RpcOk) - ret = findkey(&k, &ki, "!key2?"); - if(ret != RpcOk) - ret = findkey(&k, &ki, "!key3?"); - if(ret != RpcOk) - return ret; - - setattrs(fss->attr, k->attr); - s = emalloc(sizeof(*s)); - s->key = k; - fss->ps = s; - fss->phase = HavePass; - - return RpcOk; -} - -static void -wepclose(Fsstate *fss) -{ - State *s; - - s = fss->ps; - if(s->key) - closekey(s->key); - free(s); -} - -static int -wepread(Fsstate *fss, void*, uint*) -{ - return phaseerror(fss, "read"); -} - -static int -wepwrite(Fsstate *fss, void *va, uint n) -{ - char *data = va; - State *s; - char dev[64]; - int fd, cfd; - int rv; - char *p; - - /* get the device */ - if(n > sizeof(dev)-5){ - werrstr("device too long"); - return RpcErrstr; - } - memmove(dev, data, n); - dev[n] = 0; - s = fss->ps; - - /* legal? */ - if(dev[0] != '#' || dev[1] != 'l'){ - werrstr("%s not an ether device", dev); - return RpcErrstr; - } - strcat(dev, "!0"); - fd = dial(dev, 0, 0, &cfd); - if(fd < 0) - return RpcErrstr; - - /* flavor it with passwords, essid, and turn on wep */ - rv = RpcErrstr; - p = _strfindattr(s->key->privattr, "!key1"); - if(p != nil) - if(fprint(cfd, "key1 %s", p) < 0) - goto out; - p = _strfindattr(s->key->privattr, "!key2"); - if(p != nil) - if(fprint(cfd, "key2 %s", p) < 0) - goto out; - p = _strfindattr(s->key->privattr, "!key3"); - if(p != nil) - if(fprint(cfd, "key3 %s", p) < 0) - goto out; - p = _strfindattr(fss->attr, "essid"); - if(p != nil) - if(fprint(cfd, "essid %s", p) < 0) - goto out; - if(fprint(cfd, "crypt on") < 0) - goto out; - rv = RpcOk; -out: - close(fd); - close(cfd); - return rv; -} - -Proto wep = -{ -.name= "wep", -.init= wepinit, -.write= wepwrite, -.read= wepread, -.close= wepclose, -.addkey= replacekey, -.keyprompt= "!key1? !key2? !key3? essid?", -};