Add a ``-P altlogin'' option which allows the sysadmin to specify an
alternate login(1) type program to run.
This commit is contained in:
parent
ed9a71b7fc
commit
326bbdd92f
@ -42,6 +42,8 @@ static char sccsid[] = "@(#)sys_term.c 8.2 (Berkeley) 12/15/93";
|
||||
#include <libtelnet/auth.h>
|
||||
#endif
|
||||
|
||||
extern char *altlogin;
|
||||
|
||||
#if defined(CRAY) || defined(__hpux)
|
||||
# define PARENT_DOES_UTMP
|
||||
#endif
|
||||
@ -1728,10 +1730,14 @@ start_login(host, autologin, name)
|
||||
close(pty);
|
||||
#endif
|
||||
closelog();
|
||||
execv(_PATH_LOGIN, argv);
|
||||
|
||||
syslog(LOG_ERR, "%s: %m\n", _PATH_LOGIN);
|
||||
fatalperror(net, _PATH_LOGIN);
|
||||
if (altlogin == NULL) {
|
||||
altlogin = _PATH_LOGIN;
|
||||
}
|
||||
execv(altlogin, argv);
|
||||
|
||||
syslog(LOG_ERR, "%s: %m\n", altlogin);
|
||||
fatalperror(net, altlogin);
|
||||
/*NOTREACHED*/
|
||||
}
|
||||
|
||||
|
@ -48,6 +48,7 @@ protocol server
|
||||
.Op Fl X Ar authtype
|
||||
.Op Fl a Ar authmode
|
||||
.Op Fl edebug
|
||||
.Op Fl P Ar loginprog
|
||||
.Op Fl r Ns Ar lowpty-highpty
|
||||
.Op Fl u Ar len
|
||||
.Op Fl debug Op Ar port
|
||||
@ -187,6 +188,11 @@ If
|
||||
has been compiled with support for data encryption, then the
|
||||
.Fl edebug
|
||||
option may be used to enable encryption debugging code.
|
||||
.It Fl P Ar loginprog
|
||||
Specifies an alternate
|
||||
.Xr login 1
|
||||
command to run to complete the login. The alternate command must
|
||||
understand the same command arguments as the standard login.
|
||||
.It Fl h
|
||||
Disables the printing of host-specific information before
|
||||
login has been completed.
|
||||
|
@ -124,6 +124,7 @@ int lowpty = 0, highpty; /* low, high pty numbers */
|
||||
int debug = 0;
|
||||
int keepalive = 1;
|
||||
char *progname;
|
||||
char *altlogin;
|
||||
|
||||
extern void usage P((void));
|
||||
|
||||
@ -133,7 +134,7 @@ extern void usage P((void));
|
||||
* passed off to getopt().
|
||||
*/
|
||||
char valid_opts[] = {
|
||||
'd', ':', 'h', 'k', 'n', 'S', ':', 'u', ':', 'U',
|
||||
'd', ':', 'h', 'k', 'n', 'p', ':', 'S', ':', 'u', ':', 'U',
|
||||
#ifdef AUTHENTICATION
|
||||
'a', ':', 'X', ':',
|
||||
#endif
|
||||
@ -284,6 +285,10 @@ main(argc, argv)
|
||||
keepalive = 0;
|
||||
break;
|
||||
|
||||
case 'p':
|
||||
altlogin = optarg;
|
||||
break;
|
||||
|
||||
#ifdef CRAY
|
||||
case 'r':
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user