blob: 75d820a4277fa206319176514ed3680c67a14a91 [file] [log] [blame]
rscbe8b3152004-06-17 03:27:35 +00001#include <u.h>
2#include <libc.h>
3#include <auth.h>
4#include "authlocal.h"
5
6/*
7 * make factotum add wep keys to an 802.11 device
8 */
9int
10auth_wep(char *dev, char *fmt, ...)
11{
12 AuthRpc *rpc;
13 char *params, *p;
rscbe8b3152004-06-17 03:27:35 +000014 va_list arg;
15 int rv;
16
17 rv = -1;
18
19 if(dev == nil){
20 werrstr("no device specified");
21 return rv;
22 }
23
rsc648bb6f2005-02-08 20:58:10 +000024 rpc = auth_allocrpc();
rscbe8b3152004-06-17 03:27:35 +000025 if(rpc != nil){
26 quotefmtinstall(); /* just in case */
27 va_start(arg, fmt);
28 params = vsmprint(fmt, arg);
29 va_end(arg);
30 if(params != nil){
31 p = smprint("proto=wep %s", params);
32 if(p != nil){
33 if(auth_rpc(rpc, "start", p, strlen(p)) == ARok
34 && auth_rpc(rpc, "write", dev, strlen(dev)) == ARok)
35 rv = 0;
36 free(p);
37 }
38 free(params);
39 }
40 auth_freerpc(rpc);
41 }
rscbe8b3152004-06-17 03:27:35 +000042 return rv;
43}