Linux console tools development discussion
 help / color / mirror / Atom feed
From: Vladimir Lomov <lomov.vl@yandex.ru>
To: kbd@lists.altlinux.org
Subject: Re: [kbd] [Enhancement] Add hostname to message on locked screen
Date: Fri, 2 Jun 2017 13:23:19 +0800
Message-ID: <20170602052319.GB703@smoon.vl-lomov.ru> (raw)
In-Reply-To: <20170601145447.GA703@smoon.vl-lomov.ru>

[-- Attachment #1: Type: text/plain, Size: 792 bytes --]

Hello,
** Vladimir Lomov [2017-06-01 22:54:47 +0800]:

> Hello,
> 
> I'd like to propose small enhancement: to add to the message on locked
> screen information about current host. May be it is worth to store the
> same information in syslog, I don't have any opinion.
> 
> I attached small patch that works (basically) on my system (Archlinux
> x86_64).

I was too optimistic. On one host patched vlock works as expected but on
other one it output (null) instead of host name. Seems that my
assumption that env. variable HOSTNAME is always set is wrong, esp.
according to environ(7). I prepared another patch that should work in
most cases.

---
WBR, Vladimir Lomov

-- 
[Wisdom] is a tree of life to those laying
hold of her, making happy each one holding her fast.
		-- Proverbs 3:18, NSV

[-- Attachment #2: vlock-message.patch --]
[-- Type: text/x-diff, Size: 1137 bytes --]

diff --git a/src/vlock/auth.c b/src/vlock/auth.c
index 25efb5e..cb8f057 100644
--- a/src/vlock/auth.c
+++ b/src/vlock/auth.c
@@ -37,6 +37,8 @@
 #define LONG_DELAY 10
 /* Delay after other PAM errors, in seconds. */
 #define SHORT_DELAY 1
+/* Max length of hostname. */
+#define HOSTNAME_MAX 256
 
 static int
 do_account_password_management(pam_handle_t *pamh)
@@ -60,6 +62,9 @@ do_account_password_management(pam_handle_t *pamh)
 int get_password(pam_handle_t *pamh, const char *username, const char *tty)
 {
 	uid_t uid = getuid();
+	char hostname[HOSTNAME_MAX];
+	hostname[HOSTNAME_MAX - 1] = '\0';
+	gethostname(hostname, HOSTNAME_MAX - 1);
 
 	for (;;) {
 		int rc;
@@ -83,8 +88,8 @@ int get_password(pam_handle_t *pamh, const char *username, const char *tty)
 			printf(_("The entire console display is now completely locked by %s.\n"),
 			       username);
 		} else {
-			printf(_("The %s is now locked by %s.\n"), tty,
-			       username);
+			printf(_("The %s on %s is now locked by %s.\n"), tty,
+			       hostname, username);
 			if (is_vt)
 				puts(_("Use Alt-function keys to switch to other virtual consoles."));
 		}

      reply	other threads:[~2017-06-02  5:23 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-01 14:54 Vladimir Lomov
2017-06-02  5:23 ` Vladimir Lomov [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170602052319.GB703@smoon.vl-lomov.ru \
    --to=lomov.vl@yandex.ru \
    --cc=kbd@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Linux console tools development discussion

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/kbd/0 kbd/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 kbd kbd/ http://lore.altlinux.org/kbd \
		kbd@lists.altlinux.org kbd@lists.altlinux.ru kbd@lists.altlinux.com
	public-inbox-index kbd

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.kbd


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git