File pam_login-3.31-suppress_hostname.patch of Package pam_login

diff -ru pam_login-3.31/src/login.1 pam_login-3.31.devel/src/login.1
--- pam_login-3.31/src/login.1	2005-08-17 11:59:14.000000000 -0400
+++ pam_login-3.31.devel/src/login.1	2006-05-05 13:37:45.000000000 -0400
@@ -20,6 +20,8 @@
 .BR \-h
 .IR host
 ] [
+.BR \-H
+] [
 .BR \-f
 .IR username
 ]
@@ -121,6 +123,13 @@
 .B login
 so that it may be placed in utmp and wtmp.  Only the superuser may use
 this option.
+.TP
+.B \-H
+Used by other servers (i.e.,
+.BR telnetd (8))
+to tell
+.B login
+that printing the hostname should be suppressed in the login: prompt.
 
 .SH "SPECIAL ACCESS RESTRICTIONS"
 The file
diff -ru pam_login-3.31/src/login.c pam_login-3.31.devel/src/login.c
--- pam_login-3.31/src/login.c	2006-05-05 13:26:32.000000000 -0400
+++ pam_login-3.31.devel/src/login.c	2006-05-05 13:28:06.000000000 -0400
@@ -30,6 +30,7 @@
  * login -h hostname    (for telnetd, etc.)
  * login -f name        (for pre-authenticated login: datakit, xterm, etc.)
  * login -p             (don't destroy environment)
+ * login -H             (suppress printing hostname)
  */
 
 #ifdef HAVE_CONFIG_H
@@ -139,6 +140,8 @@
   fputs (_("  -h hostname    Name of the remote host for umtp/wtmp\n"),
 	 stdout);
   fputs (_("  -f name        Skip a second login authentication\n"), stdout);
+  fputs (_("  -H             Do not print hostname before login: prompt\n"),
+  	 stdout);
   fputs (_("  --help         Give this help list\n"), stdout);
   fputs (_("  --usage        Give a short usage message\n"), stdout);
   fputs (_("  --version      Print program version\n"), stdout);
@@ -372,8 +375,11 @@
   char *ret;
 
   *cp++ = '\n';
-  cp = stpcpy (cp, thishost);
-  cp = stpcpy (cp, " login: ");
+  if (thishost[0]) {
+	cp = stpcpy (cp, thishost);
+	*cp++ = ' ';
+  }
+  cp = stpcpy (cp, "login: ");
 
   ret = strdup (buffer);
 
@@ -504,7 +510,7 @@
 	{NULL, 0, NULL, '\0'}
       };
 
-      c = getopt_long (argc, argv, "f:h:p", long_options, &option_index);
+      c = getopt_long (argc, argv, "f:h:pH", long_options, &option_index);
       if (c == (-1))
 	break;
       switch (c)
@@ -570,6 +576,9 @@
 	case 'p':
 	  pflag = 1;
 	  break;
+	case 'H':
+	  thishost[0] = '\0';
+	  break;
 	case '\253':
 	  print_help ();
 	  return 0;
openSUSE Build Service is sponsored by