[2334] in Kerberos-V5-bugs
pending/95: krb5b7: Add a support for an "INIT" stanza in .telnetrc
daemon@ATHENA.MIT.EDU (Jonathan I. Kamens)
Thu Oct 10 12:57:10 1996
Resent-From: gnats@rt-11.MIT.EDU (GNATS Management)
Resent-To: gnats-admin@rt-11.MIT.EDU
Resent-Reply-To: krb5-bugs@MIT.EDU, "Jonathan I. Kamens" <jik@jik.tiac.net>
Date: Tue, 17 Sep 1996 17:07:25 -0400
From: "Jonathan I. Kamens" <jik@jik.tiac.net>
To: krb5-bugs@MIT.EDU, kerberos@MIT.EDU
>Number: 95
>Category: pending
>Synopsis: krb5b7: Add a support for an "INIT" stanza in .telnetrc
>Confidential: yes
>Severity: serious
>Priority: medium
>Responsible: gnats-admin
>State: open
>Class: sw-bug
>Submitter-Id: unknown
>Arrival-Date: Thu Oct e 12:57:02 EDT 1996
>Last-Modified:
>Originator:
>Organization:
>Release:
>Environment:
>Description:
>How-To-Repeat:
>Fix:
>Audit-Trail:
>Unformatted:
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.
--- 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)