#include #include #include #include "authsrv.h" enum{ Plan9 = 1, Securenet = 2, }; void install(char*, char*, char*, int); void usage(void); void main(int argc, char *argv[]) { char *u, key[DESKEYLEN], answer[32]; int which, host, i, chal; srand(getpid()*time(0)); fmtinstall('K', keyconv); which = 0; host = 0; ARGBEGIN{ case 'h': host = 1; break; case 'p': which |= Plan9; break; case 'n': which |= Securenet; break; default: usage(); }ARGEND argv0 = "changeuser"; if(argc != 1) usage(); u = *argv; if(memchr(u, '\0', NAMELEN) == 0) error("bad user name"); if(!which) which = Plan9; if(which & Plan9){ getpass(key, 1); install(KEYDB, u, key, host); print("user %s changed for Plan 9\n", u); syslog(0, AUTHLOG, "user %s changed for plan 9", u); } if(which & Securenet){ for(i=0; i