| #include <u.h> |
| #include <libc.h> |
| #include <auth.h> |
| #include "authlocal.h" |
| |
| /* |
| * make factotum add wep keys to an 802.11 device |
| */ |
| int |
| auth_wep(char *dev, char *fmt, ...) |
| { |
| AuthRpc *rpc; |
| char *params, *p; |
| va_list arg; |
| int rv; |
| |
| rv = -1; |
| |
| if(dev == nil){ |
| werrstr("no device specified"); |
| return rv; |
| } |
| |
| rpc = auth_allocrpc(); |
| if(rpc != nil){ |
| quotefmtinstall(); /* just in case */ |
| va_start(arg, fmt); |
| params = vsmprint(fmt, arg); |
| va_end(arg); |
| if(params != nil){ |
| p = smprint("proto=wep %s", params); |
| if(p != nil){ |
| if(auth_rpc(rpc, "start", p, strlen(p)) == ARok |
| && auth_rpc(rpc, "write", dev, strlen(dev)) == ARok) |
| rv = 0; |
| free(p); |
| } |
| free(params); |
| } |
| auth_freerpc(rpc); |
| } |
| return rv; |
| } |