[1158] in Kerberos-V5-bugs

home help back first fref pref prev next nref lref last post

krb5b4pl3: appl/bsd/krlogind.c: allow login program to be specified on command line

daemon@ATHENA.MIT.EDU (Jonathan I. Kamens)
Tue Mar 14 11:09:08 1995

From: "Jonathan I. Kamens" <jik@cam.ov.com>
Date: Tue, 14 Mar 1995 11:11:44 -0500
To: krb5-bugs@MIT.EDU

This way, an administrator installing Kerberos on a machine can
install the Kerberos login binary wherever he/she wants, and specify
its location in inetd.conf.

--- appl/bsd/krlogind.c	1995/03/09 20:52:58	1.1
+++ appl/bsd/krlogind.c	1995/03/09 21:28:25	1.2
@@ -247,7 +247,7 @@
 #endif
 #endif
 
-#define ARGSTR	"rRkKeExXpPD:?"
+#define ARGSTR	"rRkKeExXpPD:l:?"
 #else /* !KERBEROS */
 #define ARGSTR	"rRpPD:?"
 #define (*des_read)  read
@@ -280,6 +280,7 @@
 char		term[64];
 char            rhost_name[128];
 krb5_principal  client;
+char		*login_program = LOGIN_PROGRAM;
 
 extern	int errno;
 int	reapchild();
@@ -411,6 +412,9 @@
 	case 'D':
 	  debug_port = atoi(optarg);
 	  break;
+        case 'l':
+	  login_program = optarg;
+	  break;
 	case '?':
 	default:
 	  usage();
@@ -765,15 +769,15 @@
 #endif
 	
 #ifdef DO_NOT_USE_K_LOGIN
-	execl(LOGIN_PROGRAM, "login", "-r", rhost_name, 0);
+	execl(login_program, "login", "-r", rhost_name, 0);
 #else
 	if (passwd_req)
-	  execl(LOGIN_PROGRAM, "login","-h", rhost_name, lusername, 0);
+	  execl(login_program, "login","-h", rhost_name, lusername, 0);
 	else
-	  execl(LOGIN_PROGRAM, "login", "-h", rhost_name, "-e", lusername, 0);
+	  execl(login_program, "login", "-h", rhost_name, "-e", lusername, 0);
 #endif
 	
-	fatalperror(2, LOGIN_PROGRAM, errno);
+	fatalperror(2, login_program, errno);
 	/*NOTREACHED*/
     }
     /*
@@ -1398,10 +1402,10 @@
 {
 #ifdef KERBEROS
     syslog(LOG_ERR, 
-	   "usage: klogind [-rRkKxpP] [-D port] or [r/R][k/K][x/e][p/P]logind");
+	   "usage: klogind [-rRkKxpP] [-D port] [-l login-program] or [r/R][k/K][x/e][p/P]logind");
 #else
     syslog(LOG_ERR, 
-	   "usage: rlogind [-rRpP] [-D port] or [r/R][p/P]logind");
+	   "usage: rlogind [-rRpP] [-D port] [-l login-program] or [r/R][p/P]logind");
 #endif
 }
 

home help back first fref pref prev next nref lref last post