agetty: make --remote to forward --nohostname as -H to login

Without this change an attempt to remove hostname printing required following
rather clumsy agetty invocation.

  /sbin/agetty --nohostname --login-options '/bin/login -H -- \u'

After the change --nohostname behaves similar way with --host option, that
is when combined with --remote the effect is passed to login(1).

Signed-off-by: Sami Kerola <kerolasa@iki.fi>
This commit is contained in:
Sami Kerola 2017-04-01 11:38:01 +01:00
parent 4783f2005d
commit 343cc27559
No known key found for this signature in database
GPG Key ID: A9553245FDE9B739
2 changed files with 12 additions and 5 deletions

View File

@ -100,8 +100,12 @@ Don't reset terminal cflags (control modes). See \fBtermios\fP(3) for more
details.
.TP
\-E, \-\-remote
If an \fB\-H\fP \fIfakehost\fP option is given, then an \fB\-r\fP
\fIfakehost\fP option is added to the \fB/bin/login\fP command line.
If an \fB\-\-host\fP \fIfakehost\fP option is given, then an \fB\-h\fP
\fIfakehost\fP option and argument are added to the \fB/bin/login\fP
command line.
.IP
If an \fB\-\-nohostname\fR option is given, then an \fB\-H\fP option
is added to the \fB/bin/login\fP command line.
.TP
\-f, \-\-issue\-file \fIissue_file\fP
Display the contents of \fIissue_file\fP instead of \fI/etc/issue\fP.

View File

@ -493,9 +493,12 @@ int main(int argc, char **argv)
login_options_to_argv(login_argv, &login_argc,
options.logopt, username);
} else {
if (fakehost && (options.flags & F_REMOTE)) {
login_argv[login_argc++] = "-h";
login_argv[login_argc++] = fakehost;
if (options.flags & F_REMOTE) {
if (fakehost) {
login_argv[login_argc++] = "-h";
login_argv[login_argc++] = fakehost;
} else if (options.flags & F_NOHOSTNAME)
login_argv[login_argc++] = "-H";
}
if (username) {
if (options.autolog)