Commit | Line | Data |
---|---|---|
c219cb97 KM |
1 | static char sccsid[] = "@(#)netlogin.c 4.1 (Berkeley) %G%"; |
2 | ||
3 | /* sccs id variable */ | |
4 | static char *netlogin_sid = "@(#)netlogin.c 1.2"; | |
5 | ||
6 | /* | |
7 | netlogin - specify login name and password in environment | |
8 | */ | |
9 | # include "defs.h" | |
10 | ||
11 | /* global variables */ | |
12 | struct userinfo status; | |
13 | ||
14 | main(argc,argv) | |
15 | char **argv; | |
16 | { | |
17 | char mch, stemp[20], sencpasswd[30]; | |
18 | # ifdef V6 | |
19 | fprintf(stderr,"The netlogin command doesn't work on Version 6 UNIX\n"); | |
20 | exit(EX_UNAVAILABLE); | |
21 | # endif | |
22 | mch = 0; | |
23 | status.login[0] = 0; | |
24 | status.mpasswd[0] = 0; | |
25 | while(argc > 1 && argv[1][0] == '-'){ | |
26 | argc--; | |
27 | argv++; | |
28 | switch(argv[0][1]){ | |
29 | case 'm': | |
30 | harg(stemp); | |
31 | mch = lookup(stemp); | |
32 | if(mch == 0){ | |
33 | fprintf(stderr,"Bad machine %s\n",stemp); | |
34 | exit(EX_NOHOST); | |
35 | } | |
36 | break; | |
37 | case 'l': | |
38 | harg(status.login); | |
39 | break; | |
40 | default: | |
41 | usage(); | |
42 | break; | |
43 | } | |
44 | } | |
45 | if(mch == 0)usage(); | |
46 | passwdent(); | |
47 | promptlogin(mch); | |
48 | if(strcmp(status.mpasswd,"\"\"") == 0)status.mpasswd[0] = 0; | |
49 | mkpwunclear(status.mpasswd,mch,sencpasswd); | |
50 | printf("%s,%s\n",status.login,sencpasswd); | |
51 | exit(EX_OK); | |
52 | } | |
53 | usage(){ | |
54 | fprintf(stderr,"Usage: netlogin -m mach [-l username]\n"); | |
55 | exit(EX_USAGE); | |
56 | } |