12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- #include <u.h>
- #include <libc.h>
- #include <authsrv.h>
- #include <ctype.h>
- #include "authcmdlib.h"
- void
- main(int argc, char **argv)
- {
- char user[ANAMELEN];
- char p9pass[32];
- char key[DESKEYLEN];
- int fd;
- ARGBEGIN{
- }ARGEND;
- switch(argc){
- case 2:
- strncpy(user, argv[0], ANAMELEN);
- user[ANAMELEN-1] = 0;
- passtokey(key, argv[1]);
- break;
- case 1:
- strncpy(user, argv[0], ANAMELEN);
- user[ANAMELEN-1] = 0;
- getpass(key, p9pass, 0, 0);
- break;
- case 0:
- strcpy(user, getuser());
- getpass(key, p9pass, 0, 0);
- break;
- default:
- fprint(2, "usage: auth/iam [user [password]]\n");
- break;
- }
- fd = open("/dev/key", OWRITE);
- if(fd < 0)
- sysfatal("open key");
- write(fd, key, DESKEYLEN);
- close(fd);
- fd = open("/dev/hostowner", OWRITE);
- if(fd < 0)
- sysfatal("open hostowner");
- write(fd, user, strlen(user));
- close(fd);
- }
|