Add a new getty/gettytab capability to generate an initial message dynamically.
This modification adds a new gettytab(5) option (iM) to specify a program to run that will generate the initial (banner) message that is displayed before the login prompt. Such a capability is useful when dynamic information is needed in the banner message that cannot be supplied by the set of % substitution sequences available in the "im" option. Reviewed by: vangyzen, wblock, manpages Approved by: vangyzen (mentor) MFC after: 1 week Relnotes: yes Sponsored by: Dell EMC Differential Revision: https://reviews.freebsd.org/D12108
This commit is contained in:
parent
f526d86d75
commit
ff48be37b5
@ -28,7 +28,7 @@
|
||||
.\" from: @(#)gettytab.5 8.4 (Berkeley) 4/19/94
|
||||
.\" $FreeBSD$
|
||||
.\" "
|
||||
.Dd February 2, 2017
|
||||
.Dd August 23, 2017
|
||||
.Dt GETTYTAB 5
|
||||
.Os
|
||||
.Sh NAME
|
||||
@ -130,6 +130,8 @@ hangup line on last close
|
||||
.It "ig bool false ignore garbage characters in login name"
|
||||
.It "im str" Ta Dv NULL
|
||||
.Ta No "initial (banner) message"
|
||||
.It "iM str" Ta Dv NULL
|
||||
.Ta No "execute named file to generate initial (banner) message"
|
||||
.It "in str" Ta So Li ^C
|
||||
.Sc Ta No "interrupt character"
|
||||
.It "is num unused input speed"
|
||||
@ -146,7 +148,7 @@ hangup line on last close
|
||||
.It "mb bool false do flow control based on carrier"
|
||||
.It "nc bool false terminal does not supply carrier (set clocal)"
|
||||
.It "nl bool false terminal has (or might have) a newline character"
|
||||
.It "np bool false terminal uses no parity (i.e. 8-bit characters)"
|
||||
.It "np bool false terminal uses no parity (i.e., 8-bit characters)"
|
||||
.It "nx str default next table (for auto speed selection)"
|
||||
.It "o0 num unused tty output flags to write messages"
|
||||
.It "o1 num unused tty output flags to read login name"
|
||||
|
@ -88,6 +88,7 @@ struct gettyflags {
|
||||
#define AC gettystrs[28].value
|
||||
#define AL gettystrs[29].value
|
||||
#define DF gettystrs[30].value
|
||||
#define IMP gettystrs[31].value
|
||||
|
||||
/*
|
||||
* Numeric definitions.
|
||||
|
@ -82,6 +82,7 @@ struct gettystrs gettystrs[] = {
|
||||
{ "ac" }, /* modem answer-chat */
|
||||
{ "al" }, /* user to auto-login */
|
||||
{ "df", datefmt}, /* format for strftime() */
|
||||
{ "iM" }, /* initial message program */
|
||||
{ 0 }
|
||||
};
|
||||
|
||||
|
@ -324,6 +324,8 @@ main(int argc, char *argv[])
|
||||
}
|
||||
first_time = 0;
|
||||
|
||||
if (IMP && *IMP && !(PL && PP))
|
||||
system(IMP);
|
||||
if (IM && *IM && !(PL && PP))
|
||||
putf(IM);
|
||||
if (setjmp(timeout)) {
|
||||
|
Loading…
Reference in New Issue
Block a user