xref: /csrg-svn/old/berknet/netlogin.c (revision 8194)
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