Content-Type: text/plain Content-Disposition: inline Content-Transfer-Encoding: binary MIME-Version: 1.0 X-Mailer: MIME-tools 5.411 (Entity 5.404) X-RT-Original-Encoding: iso-8859-1 Content-Length: 7461 From mwolf@clan.premtec.com Fri Sep 25 08:33:10 1998 Received: from MIT.EDU (SOUTH-STATION-ANNEX.MIT.EDU [18.72.1.2]) by rt-11.MIT.EDU (8.7.5/8.7.3) with SMTP id IAA16981 for ; Fri, 25 Sep 1998 08:33:05 -0400 Received: from dns1.tc.net by MIT.EDU with SMTP id AA20364; Fri, 25 Sep 98 08:33:00 EDT Received: from [10.16.190.171] by dns1.tc.net for id IAA08231; Fri Sep 25 08:32:57 1998 Received: (from mwolf@localhost) by clan.premtec.com (8.8.7/8.8.7) id IAA24090; Fri, 25 Sep 1998 08:32:57 -0400 Message-Id: <199809251232.IAA24090@clan.premtec.com> Date: Fri, 25 Sep 1998 08:32:57 -0400 From: "Matthew J. Wolf" Reply-To: mwolf@premtec.com To: krb5-bugs@MIT.EDU Subject: Linux Redhat and /etc/issus.net X-Send-Pr-Version: 3.99 >Number: 636 >Category: krb5-clients >Synopsis: The displaying of /etc/issus.net at login with telnetd >Confidential: no >Severity: non-critical >Priority: medium >Responsible: krb5-unassigned >State: open >Class: change-request >Submitter-Id: unknown >Arrival-Date: Fri Sep 25 08:34:01 EDT 1998 >Last-Modified: Tue Jul 06 21:15:28 EDT 1999 >Originator: Matthew J. Wolf >Organization: Premiere Communications Inc X >Release: krb5-1.0.5 >Environment: RedHat Linux Ver. 5.1 /w glibc-2.0.7 System: Linux clan.premtec.com 2.0.35 #1 Thu Jul 23 14:01:04 EDT 1998 i686 unknown Architecture: i686 >Description: The default string than is displayed (4.4 BSD UNIX) when some one logs into a box runinng telnetd is the string that is displayed by the normal telnetd in Redhat Linux. I hacked ext.h and utility.c to display the contence of /etc/issue.net with is what the normal telnetd does under Redhat Linux. I use the source from the linux source "netkit-telnet-0.10" to make my changes. >How-To-Repeat: In ext.h I added another value for DEFAULT_IM . In utility.c I added " #include " which was need for a struct of type utsname and with was needed by some cases that I added to PUTF(). >Fix: Here are the context diffs. *** src/appl/telnet/telnetd/ext.h.org Fri Feb 6 22:41:47 1998 --- src/appl/telnet/telnetd/ext.h Thu Sep 24 09:00:15 1998 *************** *** 223,241 **** #ifndef DEFAULT_IM # ifdef CRAY # define DEFAULT_IM "\r\n\r\nCray UNICOS (%h) (%t)\r\n\r\r\n\r" - # else - # ifdef sun - # ifdef __SVR4 - # define DEFAULT_IM "\r\n\r\nUNIX(r) System V Release 4.0 (%h) (%t)\r\n\r\r\n\r" - # else - # define DEFAULT_IM "\r\n\r\nSunOS UNIX (%h) (%t)\r\n\r\r\n\r" - # endif # else ! # ifdef ultrix ! # define DEFAULT_IM "\r\n\r\nULTRIX (%h) (%t)\r\n\r\r\n\r" # else ! # define DEFAULT_IM "\r\n\r\n4.4 BSD UNIX (%h) (%t)\r\n\r\r\n\r" ! # endif # endif # endif #endif --- 223,245 ---- #ifndef DEFAULT_IM # ifdef CRAY # define DEFAULT_IM "\r\n\r\nCray UNICOS (%h) (%t)\r\n\r\r\n\r" # else ! # ifdef __linux__ ! # define DEFAULT_IM "%i\r\n%s %r (%h) (%t)\r\n\r\n" ! # else ! # ifdef sun ! # ifdef __SVR4 ! # define DEFAULT_IM "\r\n\r\nUNIX(r) System V Release 4.0 (%h) (%t)\r\n\r\r\n\r" ! # else ! # define DEFAULT_IM "\r\n\r\nSunOS UNIX (%h) (%t)\r\n\r\r\n\r" ! # endif # else ! # ifdef ultrix ! # define DEFAULT_IM "\r\n\r\nULTRIX (%h) (%t)\r\n\r\r\n\r" ! # else ! # define DEFAULT_IM "\r\n\r\n4.4 BSD UNIX (%h) (%t)\r\n\r\r\n\r" ! # endif ! # endif # endif # endif #endif *** src/appl/telnet/telnetd/utility.c.org Thu Sep 24 09:28:35 1998 --- src/appl/telnet/telnetd/utility.c Thu Sep 24 10:51:31 1998 *************** *** 33,40 **** --- 33,43 ---- /* based on @(#)utility.c 8.1 (Berkeley) 6/4/93 */ + #define ISSUE_FILE = "/etc/issue.net" + #define PRINTOPTIONS #include "telnetd.h" + #include /* * utility functions performing io related tasks *************** *** 374,379 **** --- 377,383 ---- } char editedhost[32]; + struct utsname kerninfo; void edithost(pat, host) *************** *** 476,489 **** break; case 'd': ! (void)time(&t); ! (void)strftime(db, sizeof(db), fmtstr, localtime(&t)); ! putstr(db); ! break; - case '%': - putchr('%'); - break; } cp++; } --- 480,559 ---- break; case 'd': ! (void)time(&t); ! (void)strftime(db, sizeof(db), fmtstr, localtime(&t)); ! putstr(db); ! break; ! ! case '%': ! putchr('%'); ! break; ! ! case 'D': ! { ! char buff[128]; ! ! if (getdomainname(buff,sizeof(buff)) < 0 ! || buff[0] == '\0' ! || strcmp(buff, "(none)") == 0) ! break; ! putstr(buff); ! } ! break; ! ! case 'i': ! { ! char buff[3]; ! FILE *fp; ! int p, c; ! ! if ((fp = fopen("/etc/issue.net", "r")) == NULL) ! break; ! p = '\n'; ! while ((c = fgetc(fp)) != EOF) { ! if (p == '\n' && c == '#') { ! do { ! c = fgetc(fp); ! } while (c != EOF && c != '\n'); ! continue; ! } else if (c == '%') { ! buff[0] = c; ! c = fgetc(fp); ! if (c == EOF) break; ! buff[1] = c; ! buff[2] = '\0'; ! putf(buff, NULL); ! } else { ! if (c == '\n') putchr('\r'); ! putchr(c); ! p = c; ! } ! }; ! (void) fclose(fp); ! } ! return; /* ignore remainder of the banner string */ ! ! case 's': ! putstr(kerninfo.sysname); ! break; ! ! case 'm': ! putstr(kerninfo.machine); ! break; ! ! case 'r': ! putstr(kerninfo.release); ! break; ! ! ! case 'v': ! #ifdef __linux__ ! putstr(kerninfo.version); ! #else ! puts(kerninfo.version); ! #endif ! break; } cp++; } >Audit-Trail: [edited header addresses to be those described in pr 637 from same person. --raeburn 1999-07-06] >Unformatted: