[2275] in Kerberos-V5-bugs
telnet/44: krb5b7: Add a support for an "INIT" stanza in .telnetrc
daemon@ATHENA.MIT.EDU (hartmans@MIT.EDU)
Mon Sep 30 01:12:56 1996
Resent-From: gnats@rt-11.MIT.EDU (GNATS Management)
Resent-To: hartmans@MIT.EDU
Resent-Reply-To: krb5-bugs@MIT.EDU, "Jonathan I. Kamens" <jik@jik.tiac.net>
Date: Mon, 30 Sep 1996 01:11:19 -0400
From: hartmans@MIT.EDU
Reply-To: "Jonathan I. Kamens" <jik@jik.tiac.net>
To: krb5-bugs@MIT.EDU
>Number: 44
>Category: telnet
>Synopsis: init stanza in .telnetrc
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: hartmans
>State: open
>Class: change-request
>Submitter-Id: unknown
>Arrival-Date: Mon Sep e 01:12:00 EDT 1996
>Last-Modified:
>Originator: "Jonathan I. Kamens" <jik@jik.tiac.net>
>Organization:
mit
>Release: 1.0-development
>Environment:
System: SunOS starkiller 5.4 Generic_101945-37 sun4m sparc
>Description:
Here's another useful telnet feature implemented by Marc Horowitz. It
implements support for an "INIT" stanza in the user's .telnetrc file,
so that the user can set defaults that aren't associated with any
particular host.
>How-To-Repeat:
>Fix:
--- telnet/commands.c 1996/09/17 19:54:38 1.2
+++ telnet/commands.c 1996/09/17 19:55:36 1.3
@@ -2805,6 +2805,11 @@
return 0;
}
+void init_cmdrc()
+{
+ cmdrc("INIT", "INITIALIZE");
+}
+
static char *rcname = 0;
static char rcbuf[128];
@@ -2877,7 +2882,7 @@
continue;
}
/*
- * This should never happen...
+ * This can happen in the INIT stanza
*/
if (c->needconnect && !connected) {
printf("?Need to be connected first for %s.\r\n", margv[0]);
--- telnet/externs.h 1996/09/17 20:59:35 1.2.1.1
+++ telnet/externs.h 1996/09/17 20:00:35 1.2
@@ -263,6 +263,7 @@
extern void
command P((int, char *, int)),
+ init_cmdrc P((void)),
Dump P((int, unsigned char *, int)),
init_3270 P((void)),
printoption P((char *, int, int)),
--- telnet/main.c 1996/09/17 21:02:40 1.2.1.1
+++ telnet/main.c 1996/09/17 20:02:26 1.2
@@ -62,6 +62,8 @@
#if defined(TN3270)
init_3270();
#endif
+
+ init_cmdrc();
}
void
@@ -116,13 +118,13 @@
extern int auth_enable_encrypt;
#endif /* ENCRYPTION */
+ TerminalSaveState();
+
tninit(); /* Clear out things */
#if defined(CRAY) && !defined(__STDC__)
_setlist_init(); /* Work around compiler bug */
#endif
- TerminalSaveState();
-
if (prompt = strrchr(argv[0], '/'))
++prompt;
else
@@ -131,7 +133,6 @@
user = NULL;
rlogin = (strncmp(prompt, "rlog", 4) == 0) ? '~' : _POSIX_VDISABLE;
- autologin = -1;
while ((ch = getopt(argc, argv, "8EKLS:X:acde:fFk:l:n:rt:x")) != EOF) {
switch(ch) {
@@ -140,6 +141,7 @@
break;
case 'E':
rlogin = escape = _POSIX_VDISABLE;
+ autologin = -1;
break;
case 'K':
#ifdef AUTHENTICATION
@@ -258,6 +260,7 @@
break;
case 'r':
rlogin = '~';
+ autologin = -1;
break;
case 't':
#if defined(TN3270) && defined(unix)
>Audit-Trail:
>Unformatted: