2 * Copy WEP key to ethernet device.
11 char *dev, buf[128], *p, *kp;
19 if((k = keylookup("%A !key1?", c->attr)) == nil
20 && (k = keylookup("%A !key2?", c->attr)) == nil
21 && (k = keylookup("%A !key3?", c->attr)) == nil){
22 werrstr("cannot find wep keys");
25 if(convreadm(c, &dev) < 0)
27 if(dev[0] != '#' || dev[1] != 'l'){
28 werrstr("not an ethernet device: %s", dev);
31 snprint(buf, sizeof buf, "%s!0", dev);
32 if((fd = dial(buf, 0, 0, &cfd)) < 0)
34 if(!(p = strfindattr(k->privattr, kp="!key1"))
35 && !(p = strfindattr(k->privattr, kp="key2"))
36 && !(p = strfindattr(k->privattr, kp="key3"))){
40 if(fprint(cfd, "%s %q", kp+1, p) < 0)
42 if((p = strfindattr(k->attr, "essid")) != nil
43 && fprint(cfd, "essid %q", p) < 0)
45 if(fprint(cfd, "crypt on") < 0)
62 if(strfindattr(k->privattr, "!key1") == nil
63 && strfindattr(k->privattr, "!key2") == nil
64 && strfindattr(k->privattr, "!key3") == nil){
65 werrstr("need !key1, !key2, or !key3 attribute");
71 static Role weproles[] = {