]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
agetty: print /etc/issue on --skip-login
authorKarel Zak <kzak@redhat.com>
Mon, 10 Jul 2017 08:42:49 +0000 (10:42 +0200)
committerKarel Zak <kzak@redhat.com>
Mon, 10 Jul 2017 08:42:49 +0000 (10:42 +0200)
The current --skip-login implementation disables also issue file
printing. This is unexpected behavior as /etc/issue may contains
important information and we have --noissue for admins who don't want
it.

This patch forces /etc/issue printing if --noissue no specified.

Addresses: https://github.com/karelzak/util-linux/issues/480
Signed-off-by: Karel Zak <kzak@redhat.com>
term-utils/agetty.c

index 23cac403e31ec154eff70e534f74ba26076affa2..e5f2ff2292fc8312b62eac676ef19619c5e7c831 100644 (file)
@@ -317,6 +317,7 @@ static ssize_t append(char *dest, size_t len, const char  *sep, const char *src)
 static void check_username (const char* nm);
 static void login_options_to_argv(char *argv[], int *argc, char *str, char *username);
 static void reload_agettys(void);
+static void print_issue_file(struct options *op, struct termios *tp);
 
 /* Fake hostname for ut_host specified on command line. */
 static char *fakehost;
@@ -452,7 +453,9 @@ int main(int argc, char **argv)
                username = options.autolog;
        }
 
-       if ((options.flags & F_NOPROMPT) == 0) {
+       if (options.flags & F_NOPROMPT) {       /* --skip-login */
+               print_issue_file(&options, &termios);
+       } else {                                /* regular (auto)login */
                if (options.autolog) {
                        /* Autologin prompt */
                        do_prompt(&options, &termios);