telnetd.c (telnet, get_default_IM): Instead of using a hardcoded IM
authorTheodore Tso <tytso@mit.edu>
Sat, 24 Jan 1998 03:14:55 +0000 (03:14 +0000)
committerTheodore Tso <tytso@mit.edu>
Sat, 24 Jan 1998 03:14:55 +0000 (03:14 +0000)
variable, use one which is dynamically generated from the uname()
system call.

ext.h: Remove definition of DEFAULT_IM, since it's no longer used.

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@10376 dc483132-0cff-0310-8789-dd5450dbe970

src/appl/telnet/telnetd/ChangeLog
src/appl/telnet/telnetd/ext.h
src/appl/telnet/telnetd/telnetd.c

index 3c95701fe1a712a3119fb6fa78f212ccd6d8682f..a10361029f37215e3fd30e1b848f6144e63b490c 100644 (file)
@@ -1,3 +1,11 @@
+Fri Jan 23 22:13:02 1998  Theodore Ts'o  <tytso@rsts-11.mit.edu>
+
+       * telnetd.c (telnet, get_default_IM): Instead of using a hardcoded
+               IM variable, use one which is dynamically generated from
+               the uname() system call.
+
+       * ext.h: Remove definition of DEFAULT_IM, since it's no longer used.
+
 Thu Dec  4 21:32:37 1997  Tom Yu  <tlyu@mit.edu>
 
        * telnetd.c (doit): Fix up slave buffer length.
index 37e2a19709716cdeec6017c3def1ca4465d3fb80..f6e4aacc4995f8c6506b2fbdd5187e0f8df97cd2 100644 (file)
@@ -220,22 +220,3 @@ extern struct {
 extern int     needtermstat;
 #endif
 
-#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
index 774c60ec9b113fcaa81725c8b8b75beff4689d17..88a523873e7655d1c27997d9cbf3a78a1b70485d 100644 (file)
@@ -179,6 +179,28 @@ char valid_opts[] = {
        '\0'
 };
 
+#include <sys/utsname.h>
+static char *
+get_default_IM()
+{
+       struct utsname name;
+       static char banner[1024];
+       
+       if (uname(&name) < 0)
+               sprintf(banner, "\r\nError getting hostname: %s\r\n",
+                   strerror(errno));
+        else {
+#if defined(_AIX)
+               sprintf(banner, "\r\n    %%h (%s release %s.%s) (%%t)\r\n\r\n",
+                   name.sysname, name.version, name.release);
+#else
+               sprintf(banner, "\r\n    %%h (%s release %s %s) (%%t)\r\n\r\n",
+                   name.sysname, name.release, name.version);
+#endif
+       }
+       return banner;
+}
+
 main(argc, argv)
        int argc;
        char *argv[];
@@ -1205,7 +1227,7 @@ telnet(f, p, host)
                if (IM == 0)
                        IM = "";
        } else {
-               IM = DEFAULT_IM;
+               IM = get_default_IM();
                HEstr = 0;
        }
        edithost(HEstr, host_name);