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