plan9port

fork of plan9port with libvec, libstr and libsdb
Log | Files | Refs | README | LICENSE

auth_wep.c (738B)


      1 #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  */
      9 int
     10 auth_wep(char *dev, char *fmt, ...)
     11 {
     12 	AuthRpc *rpc;
     13 	char *params, *p;
     14 	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 
     24 	rpc = auth_allocrpc();
     25 	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 	}
     42 	return rv;
     43 }