summaryrefslogtreecommitdiffstats
path: root/eBones
diff options
context:
space:
mode:
authormarkm <markm@FreeBSD.org>1996-10-26 17:20:52 +0000
committermarkm <markm@FreeBSD.org>1996-10-26 17:20:52 +0000
commit2389c0e613ea4ad0155e725d3ceb2c997a0d3e95 (patch)
treeea4788a781e37dff97f6a4cf0d86698c4106ba7c /eBones
parent664237b984c18289c0002ec470b19333e03dbd67 (diff)
downloadFreeBSD-src-2389c0e613ea4ad0155e725d3ceb2c997a0d3e95.zip
FreeBSD-src-2389c0e613ea4ad0155e725d3ceb2c997a0d3e95.tar.gz
First round of moving secure telnet (AKA kerberised telnet) to its new home
in eBones/. Peter has already (ages ago) done the repository copy. These are mainly -Wall cleanups. The makefile changes will follow in a day or so.
Diffstat (limited to 'eBones')
-rw-r--r--eBones/Makefile.inc8
-rw-r--r--eBones/lib/libtelnet/auth-proto.h4
-rw-r--r--eBones/lib/libtelnet/auth.c11
-rw-r--r--eBones/lib/libtelnet/enc-proto.h12
-rw-r--r--eBones/lib/libtelnet/enc_des.c30
-rw-r--r--eBones/lib/libtelnet/encrypt.c36
-rw-r--r--eBones/lib/libtelnet/genget.c7
-rw-r--r--eBones/lib/libtelnet/kerberos.c17
-rw-r--r--eBones/lib/libtelnet/misc.c6
-rw-r--r--eBones/libexec/telnetd/authenc.c2
-rw-r--r--eBones/libexec/telnetd/global.c2
-rw-r--r--eBones/libexec/telnetd/slc.c40
-rw-r--r--eBones/libexec/telnetd/state.c5
-rw-r--r--eBones/libexec/telnetd/sys_term.c15
-rw-r--r--eBones/libexec/telnetd/telnetd.c21
-rw-r--r--eBones/libexec/telnetd/termstat.c8
-rw-r--r--eBones/libexec/telnetd/utility.c14
-rw-r--r--eBones/usr.bin/telnet/authenc.c4
-rw-r--r--eBones/usr.bin/telnet/commands.c95
-rw-r--r--eBones/usr.bin/telnet/externs.h10
-rw-r--r--eBones/usr.bin/telnet/main.c23
-rw-r--r--eBones/usr.bin/telnet/network.c3
-rw-r--r--eBones/usr.bin/telnet/ring.c4
-rw-r--r--eBones/usr.bin/telnet/sys_bsd.c3
-rw-r--r--eBones/usr.bin/telnet/telnet.c25
-rw-r--r--eBones/usr.bin/telnet/terminal.c6
-rw-r--r--eBones/usr.bin/telnet/tn3270.c2
-rw-r--r--eBones/usr.bin/telnet/utilities.c13
28 files changed, 272 insertions, 154 deletions
diff --git a/eBones/Makefile.inc b/eBones/Makefile.inc
index 66f5360..53768c0 100644
--- a/eBones/Makefile.inc
+++ b/eBones/Makefile.inc
@@ -1,8 +1,14 @@
# From: @(#)Makefile.inc 5.1 (Berkeley) 6/25/90
-# $Id: Makefile.inc,v 1.11 1996/06/24 04:22:24 jkh Exp $
+# $Id$
DISTRIBUTION= krb
+.if exists(${.CURDIR}/../../lib/libtelnet/obj)
+TELNETOBJDIR= ${.CURDIR}/../../lib/libtelnet/obj
+.else
+TELNETOBJDIR= ${.CURDIR}/../../lib/libtelnet
+.endif
+
.if exists(${.OBJDIR}/../../../secure/lib/libdes)
DESOBJDIR= ${.OBJDIR}/../../../secure/lib/libdes
.else
diff --git a/eBones/lib/libtelnet/auth-proto.h b/eBones/lib/libtelnet/auth-proto.h
index 111033d..bdcb030 100644
--- a/eBones/lib/libtelnet/auth-proto.h
+++ b/eBones/lib/libtelnet/auth-proto.h
@@ -75,6 +75,10 @@ void auth_finished P((Authenticator *, int));
int auth_wait P((char *));
void auth_disable_name P((char *));
void auth_gen_printsub P((unsigned char *, int, unsigned char *, int));
+void auth_name P((unsigned char *, int));
+void auth_printsub P((unsigned char *, int, unsigned char *, int));
+int auth_sendname P((unsigned char *, int));
+void auth_encrypt_user P((char *));
#ifdef KRB4
int kerberos4_init P((Authenticator *, int));
diff --git a/eBones/lib/libtelnet/auth.c b/eBones/lib/libtelnet/auth.c
index 64f5ce9..624baa1 100644
--- a/eBones/lib/libtelnet/auth.c
+++ b/eBones/lib/libtelnet/auth.c
@@ -32,7 +32,7 @@
*/
#ifndef lint
-static char sccsid[] = "@(#)auth.c 8.3 (Berkeley) 5/30/95";
+static const char sccsid[] = "@(#)auth.c 8.3 (Berkeley) 5/30/95";
#endif /* not lint */
/*
@@ -64,6 +64,7 @@ static char sccsid[] = "@(#)auth.c 8.3 (Berkeley) 5/30/95";
#include <arpa/telnet.h>
#ifdef __STDC__
#include <stdlib.h>
+#include <unistd.h>
#endif
#ifdef NO_STRING_H
#include <strings.h>
@@ -106,6 +107,9 @@ static unsigned char _auth_send_data[256];
static unsigned char *auth_send_data;
static int auth_send_cnt = 0;
+int auth_onoff(char *type, int on);
+void auth_encrypt_user(char *name);
+
/*
* Authentication types supported. Plese note that these are stored
* in priority order, i.e. try the first one first.
@@ -500,7 +504,7 @@ auth_is(data, cnt)
return;
}
- if (ap = findauthenticator(data[0], data[1])) {
+ if ((ap = findauthenticator(data[0], data[1]))) {
if (ap->is)
(*ap->is)(ap, data+2, cnt-2);
} else if (auth_debug_mode)
@@ -518,7 +522,7 @@ auth_reply(data, cnt)
if (cnt < 2)
return;
- if (ap = findauthenticator(data[0], data[1])) {
+ if ((ap = findauthenticator(data[0], data[1]))) {
if (ap->reply)
(*ap->reply)(ap, data+2, cnt-2);
} else if (auth_debug_mode)
@@ -531,7 +535,6 @@ auth_name(data, cnt)
unsigned char *data;
int cnt;
{
- Authenticator *ap;
unsigned char savename[256];
if (cnt < 1) {
diff --git a/eBones/lib/libtelnet/enc-proto.h b/eBones/lib/libtelnet/enc-proto.h
index 0c0d89c..8e15ffd 100644
--- a/eBones/lib/libtelnet/enc-proto.h
+++ b/eBones/lib/libtelnet/enc-proto.h
@@ -79,11 +79,17 @@ void encrypt_send_end P((void));
void encrypt_wait P((void));
void encrypt_send_support P((void));
void encrypt_send_keyid P((int, unsigned char *, int, int));
+void encrypt_start P((unsigned char *, int));
+void encrypt_end P((void));
+void encrypt_support P((unsigned char *, int));
+void encrypt_request_start P((unsigned char *, int));
+void encrypt_request_end P((void));
+void encrypt_enc_keyid P((unsigned char *, int));
+void encrypt_dec_keyid P((unsigned char *, int));
+void encrypt_printsub P((unsigned char *, int, unsigned char *, int));
int net_write P((unsigned char *, int));
-#ifdef TELENTD
-void encrypt_wait P((void));
-#else
+#ifndef TELENTD
int encrypt_cmd P((int, char **));
void encrypt_display P((void));
#endif
diff --git a/eBones/lib/libtelnet/enc_des.c b/eBones/lib/libtelnet/enc_des.c
index d6886fd..8e4b9a7 100644
--- a/eBones/lib/libtelnet/enc_des.c
+++ b/eBones/lib/libtelnet/enc_des.c
@@ -32,7 +32,7 @@
*/
#ifndef lint
-static char sccsid[] = "@(#)enc_des.c 8.3 (Berkeley) 5/30/95";
+static const char sccsid[] = "@(#)enc_des.c 8.3 (Berkeley) 5/30/95";
#endif /* not lint */
#ifdef ENCRYPTION
@@ -44,6 +44,8 @@ static char sccsid[] = "@(#)enc_des.c 8.3 (Berkeley) 5/30/95";
#include <stdlib.h>
#endif
+#include <des.h>
+#include <string.h>
#include "encrypt.h"
#include "key-proto.h"
#include "misc-proto.h"
@@ -180,7 +182,6 @@ fb64_start(fbp, dir, server)
int dir;
int server;
{
- Block b;
int x;
unsigned char *p;
register int state;
@@ -215,8 +216,8 @@ fb64_start(fbp, dir, server)
/*
* Create a random feed and send it over.
*/
- des_new_random_key(fbp->temp_feed);
- des_ecb_encrypt(fbp->temp_feed, fbp->temp_feed,
+ des_new_random_key((Block *)fbp->temp_feed);
+ des_ecb_encrypt((Block *)fbp->temp_feed, (Block *)fbp->temp_feed,
fbp->krbdes_sched, 1);
p = fbp->fb_feed + 3;
*p++ = ENCRYPT_IS;
@@ -264,9 +265,7 @@ fb64_is(data, cnt, fbp)
int cnt;
struct fb *fbp;
{
- int x;
unsigned char *p;
- Block b;
register int state = fbp->state[DIR_DECRYPT-1];
if (cnt-- < 1)
@@ -356,9 +355,6 @@ fb64_reply(data, cnt, fbp)
int cnt;
struct fb *fbp;
{
- int x;
- unsigned char *p;
- Block b;
register int state = fbp->state[DIR_ENCRYPT-1];
if (cnt-- < 1)
@@ -428,10 +424,10 @@ fb64_session(key, server, fbp)
fb64_stream_key(fbp->krbdes_key, &fbp->streams[DIR_DECRYPT-1]);
if (fbp->once == 0) {
- des_set_random_generator_seed(fbp->krbdes_key);
+ des_set_random_generator_seed((Block *)fbp->krbdes_key);
fbp->once = 1;
}
- des_key_sched(fbp->krbdes_key, fbp->krbdes_sched);
+ des_key_sched((Block *)fbp->krbdes_key, fbp->krbdes_sched);
/*
* Now look to see if krbdes_start() was was waiting for
* the key to show up. If so, go ahead an call it now
@@ -552,7 +548,7 @@ fb64_stream_iv(seed, stp)
memmove((void *)stp->str_iv, (void *)seed, sizeof(Block));
memmove((void *)stp->str_output, (void *)seed, sizeof(Block));
- des_key_sched(stp->str_ikey, stp->str_sched);
+ des_key_sched((Block *)stp->str_ikey, stp->str_sched);
stp->str_index = sizeof(Block);
}
@@ -563,7 +559,7 @@ fb64_stream_key(key, stp)
register struct stinfo *stp;
{
memmove((void *)stp->str_ikey, (void *)key, sizeof(Block));
- des_key_sched(key, stp->str_sched);
+ des_key_sched((Block *)key, stp->str_sched);
memmove((void *)stp->str_output, (void *)stp->str_iv, sizeof(Block));
@@ -604,7 +600,7 @@ cfb64_encrypt(s, c)
while (c-- > 0) {
if (index == sizeof(Block)) {
Block b;
- des_ecb_encrypt(stp->str_output, b, stp->str_sched, 1);
+ des_ecb_encrypt((Block *)stp->str_output, (Block *)b, stp->str_sched, 1);
memmove((void *)stp->str_feed, (void *)b, sizeof(Block));
index = 0;
}
@@ -638,7 +634,7 @@ cfb64_decrypt(data)
index = stp->str_index++;
if (index == sizeof(Block)) {
Block b;
- des_ecb_encrypt(stp->str_output, b, stp->str_sched, 1);
+ des_ecb_encrypt((Block *)stp->str_output, (Block *)b, stp->str_sched, 1);
memmove((void *)stp->str_feed, (void *)b, sizeof(Block));
stp->str_index = 1; /* Next time will be 1 */
index = 0; /* But now use 0 */
@@ -680,7 +676,7 @@ ofb64_encrypt(s, c)
while (c-- > 0) {
if (index == sizeof(Block)) {
Block b;
- des_ecb_encrypt(stp->str_feed, b, stp->str_sched, 1);
+ des_ecb_encrypt((Block *)stp->str_feed, (Block *)b, stp->str_sched, 1);
memmove((void *)stp->str_feed, (void *)b, sizeof(Block));
index = 0;
}
@@ -711,7 +707,7 @@ ofb64_decrypt(data)
index = stp->str_index++;
if (index == sizeof(Block)) {
Block b;
- des_ecb_encrypt(stp->str_feed, b, stp->str_sched, 1);
+ des_ecb_encrypt((Block *)stp->str_feed, (Block *)b, stp->str_sched, 1);
memmove((void *)stp->str_feed, (void *)b, sizeof(Block));
stp->str_index = 1; /* Next time will be 1 */
index = 0; /* But now use 0 */
diff --git a/eBones/lib/libtelnet/encrypt.c b/eBones/lib/libtelnet/encrypt.c
index 432df0c..41dd5cc 100644
--- a/eBones/lib/libtelnet/encrypt.c
+++ b/eBones/lib/libtelnet/encrypt.c
@@ -32,7 +32,7 @@
*/
#ifndef lint
-static char sccsid[] = "@(#)encrypt.c 8.2 (Berkeley) 5/30/95";
+static const char sccsid[] = "@(#)encrypt.c 8.2 (Berkeley) 5/30/95";
#endif /* not lint */
/*
@@ -58,6 +58,7 @@ static char sccsid[] = "@(#)encrypt.c 8.2 (Berkeley) 5/30/95";
#ifdef ENCRYPTION
#define ENCRYPT_NAMES
+#include <stdio.h>
#include <arpa/telnet.h>
#include "encrypt.h"
@@ -79,6 +80,18 @@ static char sccsid[] = "@(#)encrypt.c 8.2 (Berkeley) 5/30/95";
void (*encrypt_output) P((unsigned char *, int));
int (*decrypt_input) P((int));
+int EncryptType(char *type, char *mode);
+int EncryptStart(char *mode);
+int EncryptStop(char *mode);
+int EncryptStartInput(void);
+int EncryptStartOutput(void);
+int EncryptStopInput(void);
+int EncryptStopOutput(void);
+
+int Ambiguous(char **s);
+int isprefix(char *s1, char *s2);
+char **genget(char *name, char **table, int stlen);
+
int encrypt_debug_mode = 0;
static int decrypt_mode = 0;
static int encrypt_mode = 0;
@@ -174,6 +187,8 @@ static struct key_info {
{ { 0 }, 0, DIR_DECRYPT, &decrypt_mode, finddecryption },
};
+static void encrypt_keyid(struct key_info *kp, unsigned char *keyid, int len);
+
void
encrypt_init(name, server)
char *name;
@@ -248,10 +263,10 @@ EncryptDisable(type, mode)
if (isprefix(type, "help") || isprefix(type, "?")) {
printf("Usage: encrypt disable <type> [input|output]\n");
encrypt_list_types();
- } else if ((ep = (Encryptions *)genget(type, encryptions,
+ } else if ((ep = (Encryptions *)genget(type, (char **)encryptions,
sizeof(Encryptions))) == 0) {
printf("%s: invalid encryption type\n", type);
- } else if (Ambiguous(ep)) {
+ } else if (Ambiguous((char **)ep)) {
printf("Ambiguous type '%s'\n", type);
} else {
if ((mode == 0) || (isprefix(mode, "input") ? 1 : 0)) {
@@ -283,10 +298,10 @@ EncryptType(type, mode)
if (isprefix(type, "help") || isprefix(type, "?")) {
printf("Usage: encrypt type <type> [input|output]\n");
encrypt_list_types();
- } else if ((ep = (Encryptions *)genget(type, encryptions,
+ } else if ((ep = (Encryptions *)genget(type, (char **)encryptions,
sizeof(Encryptions))) == 0) {
printf("%s: invalid encryption type\n", type);
- } else if (Ambiguous(ep)) {
+ } else if (Ambiguous((char **)ep)) {
printf("Ambiguous type '%s'\n", type);
} else {
if ((mode == 0) || isprefix(mode, "input")) {
@@ -559,7 +574,7 @@ encrypt_is(data, cnt)
} else {
ret = (*ep->is)(data, cnt);
if (encrypt_debug_mode)
- printf("(*ep->is)(%x, %d) returned %s(%d)\n", data, cnt,
+ printf("(*ep->is)(%p, %d) returned %s(%d)\n", data, cnt,
(ret < 0) ? "FAIL " :
(ret == 0) ? "SUCCESS " : "MORE_TO_DO ", ret);
}
@@ -603,7 +618,7 @@ encrypt_reply(data, cnt)
} else {
ret = (*ep->reply)(data, cnt);
if (encrypt_debug_mode)
- printf("(*ep->reply)(%x, %d) returned %s(%d)\n",
+ printf("(*ep->reply)(%p, %d) returned %s(%d)\n",
data, cnt,
(ret < 0) ? "FAIL " :
(ret == 0) ? "SUCCESS " : "MORE_TO_DO ", ret);
@@ -641,7 +656,7 @@ encrypt_start(data, cnt)
return;
}
- if (ep = finddecryption(decrypt_mode)) {
+ if ((ep = finddecryption(decrypt_mode))) {
decrypt_input = ep->input;
if (encrypt_verbose)
printf("[ Input is now decrypted with type %s ]\r\n",
@@ -725,6 +740,7 @@ encrypt_request_start(data, cnt)
static unsigned char str_keyid[(MAXKEYLEN*2)+5] = { IAC, SB, TELOPT_ENCRYPT };
+ void
encrypt_enc_keyid(keyid, len)
unsigned char *keyid;
int len;
@@ -732,6 +748,7 @@ encrypt_enc_keyid(keyid, len)
encrypt_keyid(&ki[1], keyid, len);
}
+ void
encrypt_dec_keyid(keyid, len)
unsigned char *keyid;
int len;
@@ -739,13 +756,13 @@ encrypt_dec_keyid(keyid, len)
encrypt_keyid(&ki[0], keyid, len);
}
+ void
encrypt_keyid(kp, keyid, len)
struct key_info *kp;
unsigned char *keyid;
int len;
{
Encryptions *ep;
- unsigned char *strp, *cp;
int dir = kp->dir;
register int ret = 0;
@@ -942,7 +959,6 @@ encrypt_send_request_end()
void
encrypt_wait()
{
- register int encrypt, decrypt;
if (encrypt_debug_mode)
printf(">>>%s: in encrypt_wait\r\n", Name);
if (!havesessionkey || !(I_SUPPORT_ENCRYPT & remote_supports_decrypt))
diff --git a/eBones/lib/libtelnet/genget.c b/eBones/lib/libtelnet/genget.c
index f87fcf0..de3048e 100644
--- a/eBones/lib/libtelnet/genget.c
+++ b/eBones/lib/libtelnet/genget.c
@@ -32,7 +32,7 @@
*/
#ifndef lint
-static char sccsid[] = "@(#)genget.c 8.2 (Berkeley) 5/30/95";
+static const char sccsid[] = "@(#)genget.c 8.2 (Berkeley) 5/30/95";
#endif /* not lint */
@@ -49,7 +49,6 @@ static char sccsid[] = "@(#)genget.c 8.2 (Berkeley) 5/30/95";
isprefix(s1, s2)
register char *s1, *s2;
{
- register int n = 0;
char *os1;
register char c1, c2;
@@ -99,7 +98,7 @@ genget(name, table, stlen)
*/
int
Ambiguous(s)
- char *s;
+ char **s;
{
- return((char **)s == &ambiguous);
+ return(s == &ambiguous);
}
diff --git a/eBones/lib/libtelnet/kerberos.c b/eBones/lib/libtelnet/kerberos.c
index f0c8b8a..d876597 100644
--- a/eBones/lib/libtelnet/kerberos.c
+++ b/eBones/lib/libtelnet/kerberos.c
@@ -32,7 +32,7 @@
*/
#ifndef lint
-static char sccsid[] = "@(#)kerberos.c 8.3 (Berkeley) 5/30/95";
+static const char sccsid[] = "@(#)kerberos.c 8.3 (Berkeley) 5/30/95";
#endif /* not lint */
/*
@@ -81,8 +81,6 @@ extern auth_debug_mode;
static unsigned char str_data[1024] = { IAC, SB, TELOPT_AUTHENTICATION, 0,
AUTHTYPE_KERBEROS_V4, };
-static unsigned char str_name[1024] = { IAC, SB, TELOPT_AUTHENTICATION,
- TELQUAL_NAME, };
#define KRB_AUTH 0 /* Authentication data follows */
#define KRB_REJECT 1 /* Rejected (reason might follow) */
@@ -162,9 +160,6 @@ kerberos4_send(ap)
Authenticator *ap;
{
KTEXT_ST auth;
-#ifdef ENCRYPTION
- Block enckey;
-#endif /* ENCRYPTION */
char instance[INST_SZ];
char *realm;
char *krb_realmofhost();
@@ -182,7 +177,7 @@ kerberos4_send(ap)
memset(instance, 0, sizeof(instance));
- if (realm = krb_get_phost(RemoteHostName))
+ if ((realm = krb_get_phost(RemoteHostName)))
strncpy(instance, realm, sizeof(instance));
instance[sizeof(instance)-1] = '\0';
@@ -193,11 +188,11 @@ kerberos4_send(ap)
printf("Kerberos V4: no realm for %s\r\n", RemoteHostName);
return(0);
}
- if (r = krb_mk_req(&auth, KRB_SERVICE_NAME, instance, realm, 0L)) {
+ if ((r = krb_mk_req(&auth, KRB_SERVICE_NAME, instance, realm, 0L))) {
printf("mk_req failed: %s\r\n", krb_err_txt[r]);
return(0);
}
- if (r = krb_get_cred(KRB_SERVICE_NAME, instance, realm, &cred)) {
+ if ((r = krb_get_cred(KRB_SERVICE_NAME, instance, realm, &cred))) {
printf("get_cred failed: %s\r\n", krb_err_txt[r]);
return(0);
}
@@ -283,8 +278,8 @@ kerberos4_is(ap, data, cnt)
printf("\r\n");
}
instance[0] = '*'; instance[1] = 0;
- if (r = krb_rd_req(&auth, KRB_SERVICE_NAME,
- instance, 0, &adat, "")) {
+ if ((r = krb_rd_req(&auth, KRB_SERVICE_NAME,
+ instance, 0, &adat, ""))) {
if (auth_debug_mode)
printf("Kerberos failed him as %s\r\n", name);
Data(ap, KRB_REJECT, (void *)krb_err_txt[r], -1);
diff --git a/eBones/lib/libtelnet/misc.c b/eBones/lib/libtelnet/misc.c
index 9565900..4f8f8d5 100644
--- a/eBones/lib/libtelnet/misc.c
+++ b/eBones/lib/libtelnet/misc.c
@@ -32,10 +32,14 @@
*/
#ifndef lint
-static char sccsid[] = "@(#)misc.c 8.1 (Berkeley) 6/4/93";
+static const char sccsid[] = "@(#)misc.c 8.1 (Berkeley) 6/4/93";
#endif /* not lint */
+#include <stdio.h>
+#include <stdlib.h>
#include "misc.h"
+#include "auth.h"
+#include "encrypt.h"
char *RemoteHostName;
char *LocalHostName;
diff --git a/eBones/libexec/telnetd/authenc.c b/eBones/libexec/telnetd/authenc.c
index ccb463c..bff80a2 100644
--- a/eBones/libexec/telnetd/authenc.c
+++ b/eBones/libexec/telnetd/authenc.c
@@ -32,7 +32,7 @@
*/
#ifndef lint
-static char sccsid[] = "@(#)authenc.c 8.2 (Berkeley) 5/30/95";
+static const char sccsid[] = "@(#)authenc.c 8.2 (Berkeley) 5/30/95";
#endif /* not lint */
#if defined(AUTHENTICATION) || defined(ENCRYPTION)
diff --git a/eBones/libexec/telnetd/global.c b/eBones/libexec/telnetd/global.c
index af21acc..0699d00 100644
--- a/eBones/libexec/telnetd/global.c
+++ b/eBones/libexec/telnetd/global.c
@@ -32,7 +32,7 @@
*/
#ifndef lint
-static char sccsid[] = "@(#)global.c 8.1 (Berkeley) 6/4/93";
+static const char sccsid[] = "@(#)global.c 8.1 (Berkeley) 6/4/93";
#endif /* not lint */
/*
diff --git a/eBones/libexec/telnetd/slc.c b/eBones/libexec/telnetd/slc.c
index 6cbb7ab..9579d0d 100644
--- a/eBones/libexec/telnetd/slc.c
+++ b/eBones/libexec/telnetd/slc.c
@@ -32,7 +32,7 @@
*/
#ifndef lint
-static char sccsid[] = "@(#)slc.c 8.2 (Berkeley) 5/30/95";
+static const char sccsid[] = "@(#)slc.c 8.2 (Berkeley) 5/30/95";
#endif /* not lint */
#include "telnetd.h"
@@ -288,15 +288,15 @@ change_slc(func, flag, val)
register int hislevel, mylevel;
hislevel = flag & SLC_LEVELBITS;
- mylevel = slctab[func].defset.flag & SLC_LEVELBITS;
+ mylevel = slctab[(int)func].defset.flag & SLC_LEVELBITS;
/*
* If client is setting a function to NOSUPPORT
* or DEFAULT, then we can easily and directly
* accomodate the request.
*/
if (hislevel == SLC_NOSUPPORT) {
- slctab[func].current.flag = flag;
- slctab[func].current.val = (cc_t)_POSIX_VDISABLE;
+ slctab[(int)func].current.flag = flag;
+ slctab[(int)func].current.val = (cc_t)_POSIX_VDISABLE;
flag |= SLC_ACK;
add_slc(func, flag, val);
return;
@@ -309,13 +309,13 @@ change_slc(func, flag, val)
* default level of DEFAULT.
*/
if (mylevel == SLC_DEFAULT) {
- slctab[func].current.flag = SLC_NOSUPPORT;
+ slctab[(int)func].current.flag = SLC_NOSUPPORT;
} else {
- slctab[func].current.flag = slctab[func].defset.flag;
+ slctab[(int)func].current.flag = slctab[(int)func].defset.flag;
}
- slctab[func].current.val = slctab[func].defset.val;
- add_slc(func, slctab[func].current.flag,
- slctab[func].current.val);
+ slctab[(int)func].current.val = slctab[(int)func].defset.val;
+ add_slc(func, slctab[(int)func].current.flag,
+ slctab[(int)func].current.val);
return;
}
@@ -329,13 +329,13 @@ change_slc(func, flag, val)
* the place to put the new value, so change it,
* otherwise, continue the negotiation.
*/
- if (slctab[func].sptr) {
+ if (slctab[(int)func].sptr) {
/*
* We can change this one.
*/
- slctab[func].current.val = val;
- *(slctab[func].sptr) = val;
- slctab[func].current.flag = flag;
+ slctab[(int)func].current.val = val;
+ *(slctab[(int)func].sptr) = val;
+ slctab[(int)func].current.flag = flag;
flag |= SLC_ACK;
slcchange = 1;
add_slc(func, flag, val);
@@ -355,22 +355,22 @@ change_slc(func, flag, val)
* our value as well.
*/
if (mylevel == SLC_DEFAULT) {
- slctab[func].current.flag = flag;
- slctab[func].current.val = val;
+ slctab[(int)func].current.flag = flag;
+ slctab[(int)func].current.val = val;
flag |= SLC_ACK;
} else if (hislevel == SLC_CANTCHANGE &&
mylevel == SLC_CANTCHANGE) {
flag &= ~SLC_LEVELBITS;
flag |= SLC_NOSUPPORT;
- slctab[func].current.flag = flag;
+ slctab[(int)func].current.flag = flag;
} else {
flag &= ~SLC_LEVELBITS;
flag |= mylevel;
- slctab[func].current.flag = flag;
+ slctab[(int)func].current.flag = flag;
if (mylevel == SLC_CANTCHANGE) {
- slctab[func].current.val =
- slctab[func].defset.val;
- val = slctab[func].current.val;
+ slctab[(int)func].current.val =
+ slctab[(int)func].defset.val;
+ val = slctab[(int)func].current.val;
}
}
add_slc(func, flag, val);
diff --git a/eBones/libexec/telnetd/state.c b/eBones/libexec/telnetd/state.c
index 4ee8bea..faf4088 100644
--- a/eBones/libexec/telnetd/state.c
+++ b/eBones/libexec/telnetd/state.c
@@ -32,13 +32,16 @@
*/
#ifndef lint
-static char sccsid[] = "@(#)state.c 8.5 (Berkeley) 5/30/95";
+static const char sccsid[] = "@(#)state.c 8.5 (Berkeley) 5/30/95";
#endif /* not lint */
#include "telnetd.h"
#if defined(AUTHENTICATION)
#include <libtelnet/auth.h>
#endif
+#if defined(ENCRYPTION)
+#include <libtelnet/encrypt.h>
+#endif
unsigned char doopt[] = { IAC, DO, '%', 'c', 0 };
unsigned char dont[] = { IAC, DONT, '%', 'c', 0 };
diff --git a/eBones/libexec/telnetd/sys_term.c b/eBones/libexec/telnetd/sys_term.c
index cb8245f..5ebd2ad 100644
--- a/eBones/libexec/telnetd/sys_term.c
+++ b/eBones/libexec/telnetd/sys_term.c
@@ -32,7 +32,7 @@
*/
#ifndef lint
-static char sccsid[] = "@(#)sys_term.c 8.4+1 (Berkeley) 5/30/95";
+static const char sccsid[] = "@(#)sys_term.c 8.4+1 (Berkeley) 5/30/95";
#endif /* not lint */
#include "telnetd.h"
@@ -43,6 +43,8 @@ static char sccsid[] = "@(#)sys_term.c 8.4+1 (Berkeley) 5/30/95";
#endif
extern char *altlogin;
+int cleanopen(char *line);
+void scrub_env(void);
#if defined(CRAY) || defined(__hpux)
# define PARENT_DOES_UTMP
@@ -75,6 +77,8 @@ char utmpf[] = "/etc/utmp";
char wtmpf[] = "/etc/wtmp";
# endif /* PARENT_DOES_UTMP */
+#include <libutil.h>
+
# ifdef CRAY
#include <tmpdir.h>
#include <sys/wait.h>
@@ -1074,7 +1078,7 @@ extern void utmp_sig_notify P((int));
* that is necessary. The return value is a file descriptor
* for the slave side.
*/
- int
+ void
getptyslave()
{
register int t = -1;
@@ -1397,7 +1401,6 @@ startslave(host, autologin, autoname)
{
register int i;
long time();
- char name[256];
#ifdef NEWINIT
extern char *ptyip;
struct init_request request;
@@ -1530,7 +1533,7 @@ init_env()
char **envp;
envp = envinit;
- if (*envp = getenv("TZ"))
+ if ((*envp = getenv("TZ")))
*envp++ -= 3;
#if defined(CRAY) || defined(__hpux)
else
@@ -1555,7 +1558,6 @@ start_login(host, autologin, name)
int autologin;
char *name;
{
- register char *cp;
register char **argv;
char **addarg(), *user;
extern char *getenv();
@@ -1742,7 +1744,7 @@ start_login(host, autologin, name)
# endif
} else
#endif
- if (user = getenv("USER")) {
+ if ((user = getenv("USER"))) {
if (strchr(user, '-')) {
syslog(LOG_ERR, "tried to pass user \"%s\" to login",
user);
@@ -1834,6 +1836,7 @@ addarg(argv, val)
* Remove a few things from the environment that
* don't need to be there.
*/
+ void
scrub_env()
{
register char **cpp, **cpp2;
diff --git a/eBones/libexec/telnetd/telnetd.c b/eBones/libexec/telnetd/telnetd.c
index 40fdad5..5785279 100644
--- a/eBones/libexec/telnetd/telnetd.c
+++ b/eBones/libexec/telnetd/telnetd.c
@@ -32,13 +32,13 @@
*/
#ifndef lint
-static char copyright[] =
+static const char copyright[] =
"@(#) Copyright (c) 1989, 1993\n\
The Regents of the University of California. All rights reserved.\n";
#endif /* not lint */
#ifndef lint
-static char sccsid[] = "@(#)telnetd.c 8.4 (Berkeley) 5/30/95";
+static const char sccsid[] = "@(#)telnetd.c 8.4 (Berkeley) 5/30/95";
#endif /* not lint */
#include "telnetd.h"
@@ -75,6 +75,10 @@ struct socket_security ss;
#include <libtelnet/auth.h>
int auth_level = 0;
#endif
+#if defined(ENCRYPTION)
+#include <libtelnet/encrypt.h>
+#endif
+#include <libtelnet/misc.h>
#if defined(SecurID)
int require_SecurID = 0;
#endif
@@ -101,8 +105,6 @@ char ptyibuf2[BUFSIZ];
unsigned char ctlbuf[BUFSIZ];
struct strbuf strbufc, strbufd;
-int readstream();
-
#else /* ! STREAMPTY */
/*
@@ -112,6 +114,13 @@ int readstream();
char ptyibuf[BUFSIZ], *ptyip = ptyibuf;
char ptyibuf2[BUFSIZ];
+# include <termcap.h>
+
+int readstream(int p, char *ibuf, int bufsize);
+void doit(struct sockaddr_in *who);
+int terminaltypeok(char *s);
+void startslave(char *host, int autologin, char *autoname);
+
#endif /* ! STREAMPTY */
int hostinfo = 1; /* do we print login banner? */
@@ -390,7 +399,7 @@ main(argc, argv)
usage();
/* NOT REACHED */
} else if (argc == 1) {
- if (sp = getservbyname(*argv, "tcp")) {
+ if ((sp = getservbyname(*argv, "tcp"))) {
sin.sin_port = sp->s_port;
} else {
sin.sin_port = atoi(*argv);
@@ -792,11 +801,11 @@ char user_name[256];
/*
* Get a pty, scan input lines.
*/
+void
doit(who)
struct sockaddr_in *who;
{
char *host, *inet_ntoa();
- int t;
struct hostent *hp;
int ptynum;
diff --git a/eBones/libexec/telnetd/termstat.c b/eBones/libexec/telnetd/termstat.c
index f499137..551355d 100644
--- a/eBones/libexec/telnetd/termstat.c
+++ b/eBones/libexec/telnetd/termstat.c
@@ -32,11 +32,15 @@
*/
#ifndef lint
-static char sccsid[] = "@(#)termstat.c 8.2 (Berkeley) 5/30/95";
+static const char sccsid[] = "@(#)termstat.c 8.2 (Berkeley) 5/30/95";
#endif /* not lint */
#include "telnetd.h"
+#if defined(ENCRYPTION)
+#include <libtelnet/encrypt.h>
+#endif
+
/*
* local variables
*/
@@ -488,7 +492,7 @@ clientstat(code, parm1, parm2)
ack = (useeditmode & MODE_ACK);
useeditmode &= ~MODE_ACK;
- if (changed = (useeditmode ^ editmode)) {
+ if ((changed = (useeditmode ^ editmode))) {
/*
* This check is for a timing problem. If the
* state of the tty has changed (due to the user
diff --git a/eBones/libexec/telnetd/utility.c b/eBones/libexec/telnetd/utility.c
index e2f285a..c8e34b8 100644
--- a/eBones/libexec/telnetd/utility.c
+++ b/eBones/libexec/telnetd/utility.c
@@ -32,7 +32,7 @@
*/
#ifndef lint
-static char sccsid[] = "@(#)utility.c 8.4 (Berkeley) 5/30/95";
+static const char sccsid[] = "@(#)utility.c 8.4 (Berkeley) 5/30/95";
#endif /* not lint */
#ifdef __FreeBSD__
@@ -41,6 +41,13 @@ static char sccsid[] = "@(#)utility.c 8.4 (Berkeley) 5/30/95";
#define PRINTOPTIONS
#include "telnetd.h"
+#if defined(AUTHENTICATION)
+#include <libtelnet/auth.h>
+#endif
+#if defined(ENCRYPTION)
+#include <libtelnet/encrypt.h>
+#endif
+
/*
* utility functions performing io related tasks
*/
@@ -949,7 +956,6 @@ printsub(direction, pointer, length)
break;
default:
- def_case:
if (isprint(pointer[i]) && pointer[i] != '"') {
if (noquote) {
*nfrontp++ = '"';
@@ -1120,12 +1126,12 @@ printsub(direction, pointer, length)
break;
case ENCRYPT_ENC_KEYID:
- sprintf(nfrontp, " ENC_KEYID", pointer[1]);
+ sprintf(nfrontp, " ENC_KEYID");
nfrontp += strlen(nfrontp);
goto encommon;
case ENCRYPT_DEC_KEYID:
- sprintf(nfrontp, " DEC_KEYID", pointer[1]);
+ sprintf(nfrontp, " DEC_KEYID");
nfrontp += strlen(nfrontp);
goto encommon;
diff --git a/eBones/usr.bin/telnet/authenc.c b/eBones/usr.bin/telnet/authenc.c
index 545df78..f829b1a 100644
--- a/eBones/usr.bin/telnet/authenc.c
+++ b/eBones/usr.bin/telnet/authenc.c
@@ -32,7 +32,7 @@
*/
#ifndef lint
-static char sccsid[] = "@(#)authenc.c 8.1 (Berkeley) 6/6/93";
+static const char sccsid[] = "@(#)authenc.c 8.1 (Berkeley) 6/6/93";
#endif /* not lint */
#if defined(AUTHENTICATION) || defined(ENCRYPTION)
@@ -101,7 +101,7 @@ telnet_gets(prompt, result, length, echo)
if (echo) {
printf("%s", prompt);
res = fgets(result, length, stdin);
- } else if (res = getpass(prompt)) {
+ } else if ((res = getpass(prompt))) {
strncpy(result, res, length);
res = result;
}
diff --git a/eBones/usr.bin/telnet/commands.c b/eBones/usr.bin/telnet/commands.c
index a6967b5..8e67187 100644
--- a/eBones/usr.bin/telnet/commands.c
+++ b/eBones/usr.bin/telnet/commands.c
@@ -32,7 +32,7 @@
*/
#ifndef lint
-static char sccsid[] = "@(#)commands.c 8.4 (Berkeley) 5/30/95";
+static const char sccsid[] = "@(#)commands.c 8.4 (Berkeley) 5/30/95";
#endif /* not lint */
#if defined(unix)
@@ -56,6 +56,8 @@ static char sccsid[] = "@(#)commands.c 8.4 (Berkeley) 5/30/95";
#include <pwd.h>
#include <varargs.h>
#include <errno.h>
+#include <unistd.h>
+#include <stdlib.h>
#include <arpa/telnet.h>
@@ -67,6 +69,13 @@ static char sccsid[] = "@(#)commands.c 8.4 (Berkeley) 5/30/95";
#include "defines.h"
#include "types.h"
+#if defined(AUTHENTICATION)
+#include <libtelnet/auth.h>
+#endif
+#if defined(ENCRYPTION)
+#include <libtelnet/encrypt.h>
+#endif
+
#if !defined(CRAY) && !defined(sysV88)
#include <netinet/in_systm.h>
# if (defined(vax) || defined(tahoe) || defined(hp300)) && !defined(ultrix)
@@ -93,7 +102,11 @@ extern int isprefix();
extern char **genget();
extern int Ambiguous();
-static call();
+static int help(int argc, char *argv[]);
+static int call();
+static void cmdrc(char *m1, char *m2);
+
+int quit(void);
typedef struct {
char *name; /* command name */
@@ -121,7 +134,7 @@ makeargv()
margc++;
cp++;
}
- while (c = *cp) {
+ while ((c = *cp)) {
register int inquote = 0;
while (isspace(c))
c = *++cp;
@@ -164,7 +177,7 @@ makeargv()
* Todo: 1. Could take random integers (12, 0x12, 012, 0b1).
*/
- static
+ static int
special(s)
register char *s;
{
@@ -293,7 +306,6 @@ sendcmd(argc, argv)
{
int count; /* how many bytes we are going to need to send */
int i;
- int question = 0; /* was at least one argument a question */
struct sendlist *s; /* pointer to current command */
int success = 0;
int needconnect = 0;
@@ -1082,7 +1094,7 @@ unsetcmd(argc, argv)
#ifdef KLUDGELINEMODE
extern int kludgelinemode;
- static int
+ static void
dokludgemode()
{
kludgelinemode = 1;
@@ -1139,7 +1151,7 @@ dolmmode(bit, on)
}
int
-setmode(bit)
+setmod(bit)
{
return dolmmode(bit, 1);
}
@@ -1171,17 +1183,17 @@ static struct modelist ModeList[] = {
#endif
{ "", "", 0 },
{ "", "These require the LINEMODE option to be enabled", 0 },
- { "isig", "Enable signal trapping", setmode, 1, MODE_TRAPSIG },
- { "+isig", 0, setmode, 1, MODE_TRAPSIG },
+ { "isig", "Enable signal trapping", setmod, 1, MODE_TRAPSIG },
+ { "+isig", 0, setmod, 1, MODE_TRAPSIG },
{ "-isig", "Disable signal trapping", clearmode, 1, MODE_TRAPSIG },
- { "edit", "Enable character editing", setmode, 1, MODE_EDIT },
- { "+edit", 0, setmode, 1, MODE_EDIT },
+ { "edit", "Enable character editing", setmod, 1, MODE_EDIT },
+ { "+edit", 0, setmod, 1, MODE_EDIT },
{ "-edit", "Disable character editing", clearmode, 1, MODE_EDIT },
- { "softtabs", "Enable tab expansion", setmode, 1, MODE_SOFT_TAB },
- { "+softtabs", 0, setmode, 1, MODE_SOFT_TAB },
+ { "softtabs", "Enable tab expansion", setmod, 1, MODE_SOFT_TAB },
+ { "+softtabs", 0, setmod, 1, MODE_SOFT_TAB },
{ "-softtabs", "Disable character editing", clearmode, 1, MODE_SOFT_TAB },
- { "litecho", "Enable literal character echo", setmode, 1, MODE_LIT_ECHO },
- { "+litecho", 0, setmode, 1, MODE_LIT_ECHO },
+ { "litecho", "Enable literal character echo", setmod, 1, MODE_LIT_ECHO },
+ { "+litecho", 0, setmod, 1, MODE_LIT_ECHO },
{ "-litecho", "Disable literal character echo", clearmode, 1, MODE_LIT_ECHO },
{ "help", 0, modehelp, 0 },
#ifdef KLUDGELINEMODE
@@ -1435,7 +1447,7 @@ extern int shell();
#endif /* !defined(TN3270) */
/*VARARGS*/
- static
+ static int
bye(argc, argv)
int argc; /* Number of arguments */
char *argv[]; /* arguments */
@@ -1465,6 +1477,7 @@ bye(argc, argv)
}
/*VARARGS*/
+ int
quit()
{
(void) call(bye, "bye", "fromquit", 0);
@@ -1530,7 +1543,7 @@ getslc(name)
genget(name, (char **) SlcList, sizeof(struct slclist));
}
- static
+ static int
slccmd(argc, argv)
int argc;
char *argv[];
@@ -1627,6 +1640,7 @@ getenvcmd(name)
genget(name, (char **) EnvList, sizeof(struct envlist));
}
+ int
env_cmd(argc, argv)
int argc;
char *argv[];
@@ -1693,7 +1707,7 @@ env_init()
extern char *strchr();
for (epp = environ; *epp; epp++) {
- if (cp = strchr(*epp, '=')) {
+ if ((cp = strchr(*epp, '='))) {
*cp = '\0';
ep = env_define((unsigned char *)*epp,
(unsigned char *)cp+1);
@@ -1738,7 +1752,7 @@ env_define(var, value)
{
register struct env_lst *ep;
- if (ep = env_find(var)) {
+ if ((ep = env_find(var))) {
if (ep->var)
free(ep->var);
if (ep->value)
@@ -1764,7 +1778,7 @@ env_undefine(var)
{
register struct env_lst *ep;
- if (ep = env_find(var)) {
+ if ((ep = env_find(var))) {
ep->prev->next = ep->next;
if (ep->next)
ep->next->prev = ep->prev;
@@ -1782,7 +1796,7 @@ env_export(var)
{
register struct env_lst *ep;
- if (ep = env_find(var))
+ if ((ep = env_find(var)))
ep->export = 1;
}
@@ -1792,7 +1806,7 @@ env_unexport(var)
{
register struct env_lst *ep;
- if (ep = env_find(var))
+ if ((ep = env_find(var)))
ep->export = 0;
}
@@ -1842,10 +1856,10 @@ env_default(init, welldefined)
if (init) {
nep = &envlisthead;
- return;
+ return(NULL);
}
if (nep) {
- while (nep = nep->next) {
+ while ((nep = nep->next)) {
if (nep->export && (nep->welldefined == welldefined))
return(nep->var);
}
@@ -1859,7 +1873,7 @@ env_getvalue(var)
{
register struct env_lst *ep;
- if (ep = env_find(var))
+ if ((ep = env_find(var)))
return(ep->value);
return(NULL);
}
@@ -1949,6 +1963,7 @@ auth_help()
return 0;
}
+ int
auth_cmd(argc, argv)
int argc;
char *argv[];
@@ -2055,6 +2070,7 @@ EncryptHelp()
return 0;
}
+ int
encrypt_cmd(argc, argv)
int argc;
char *argv[];
@@ -2142,7 +2158,7 @@ filestuff(fd)
* Print status about the connection.
*/
/*ARGSUSED*/
- static
+ static int
status(argc, argv)
int argc;
char *argv[];
@@ -2215,6 +2231,7 @@ status(argc, argv)
/*
* Function that gets called when SIGINFO is received.
*/
+ void
ayt_status()
{
(void) call(status, "status", "notmuch", 0);
@@ -2437,8 +2454,8 @@ tn(argc, argv)
user = getenv("USER");
if (user == NULL ||
- (pw = getpwnam(user)) && pw->pw_uid != getuid()) {
- if (pw = getpwuid(getuid()))
+ ((pw = getpwnam(user)) && pw->pw_uid != getuid())) {
+ if ((pw = getpwuid(getuid())))
user = pw->pw_name;
else
user = NULL;
@@ -2487,8 +2504,6 @@ static char
envhelp[] = "change environment variables ('environ ?' for more)",
modestring[] = "try to enter line or character mode ('mode ?' for more)";
-static int help();
-
static Command cmdtab[] = {
{ "close", closehelp, bye, 1 },
{ "logout", logouthelp, logout, 1 },
@@ -2521,7 +2536,7 @@ static Command cmdtab[] = {
#endif
{ "environ", envhelp, env_cmd, 0 },
{ "?", helphelp, help, 0 },
- 0
+ { 0, 0, 0, 0 }
};
static char crmodhelp[] = "deprecated command -- use 'toggle crmod' instead";
@@ -2531,7 +2546,7 @@ static Command cmdtab2[] = {
{ "help", 0, help, 0 },
{ "escape", escapehelp, setescape, 0 },
{ "crmod", crmodhelp, togcrmod, 0 },
- 0
+ { 0, 0, 0, 0 }
};
@@ -2540,7 +2555,7 @@ static Command cmdtab2[] = {
*/
/*VARARGS1*/
- static
+ static int
call(va_alist)
va_dcl
{
@@ -2566,7 +2581,7 @@ getcmd(name)
{
Command *cm;
- if (cm = (Command *) genget(name, (char **) cmdtab, sizeof(Command)))
+ if ((cm = (Command *) genget(name, (char **) cmdtab, sizeof(Command))))
return cm;
return (Command *) genget(name, (char **) cmdtab2, sizeof(Command));
}
@@ -2655,7 +2670,7 @@ command(top, tbuf, cnt)
/*
* Help command.
*/
- static
+ static int
help(argc, argv)
int argc;
char *argv[];
@@ -2669,9 +2684,8 @@ help(argc, argv)
printf("%-*s\t%s\n", HELPINDENT, c->name,
c->help);
}
- return 0;
}
- while (--argc > 0) {
+ else while (--argc > 0) {
register char *arg;
arg = *++argv;
c = getcmd(arg);
@@ -2682,12 +2696,13 @@ help(argc, argv)
else
printf("%s\n", c->help);
}
- return 0;
+ return(0);
}
static char *rcname = 0;
static char rcbuf[128];
+ void
cmdrc(m1, m2)
char *m1, *m2;
{
@@ -2881,7 +2896,7 @@ sourceroute(arg, cpp, lenp)
for (c = 0;;) {
if (c == ':')
cp2 = 0;
- else for (cp2 = cp; c = *cp2; cp2++) {
+ else for (cp2 = cp; (c = *cp2); cp2++) {
if (c == ',') {
*cp2++ = '\0';
if (*cp2 == '@')
@@ -2899,7 +2914,7 @@ sourceroute(arg, cpp, lenp)
if ((tmp = inet_addr(cp)) != -1) {
sin_addr.s_addr = tmp;
- } else if (host = gethostbyname(cp)) {
+ } else if ((host = gethostbyname(cp))) {
#if defined(h_addr)
memmove((caddr_t)&sin_addr,
host->h_addr_list[0], host->h_length);
diff --git a/eBones/usr.bin/telnet/externs.h b/eBones/usr.bin/telnet/externs.h
index 7c52be9..c588bbc 100644
--- a/eBones/usr.bin/telnet/externs.h
+++ b/eBones/usr.bin/telnet/externs.h
@@ -245,6 +245,7 @@ extern jmp_buf
extern void
command P((int, char *, int)),
Dump P((int, unsigned char *, int)),
+ ExitString P((char *, int)),
init_3270 P((void)),
printoption P((char *, int, int)),
printsub P((int, unsigned char *, int)),
@@ -290,7 +291,14 @@ extern void
slc_add_reply P((int, int, int)),
slc_end_reply P((void));
extern int
- slc_update P((void));
+ NetClose P((int)),
+ netflush P((void)),
+ SetSockOpt P((int, int, int, int)),
+ slc_update P((void)),
+ telrcv P((void)),
+ TerminalWrite P((char *, int)),
+ TerminalAutoFlush P((void)),
+ ttyflush P((int));
extern void
env_opt P((unsigned char *, int)),
diff --git a/eBones/usr.bin/telnet/main.c b/eBones/usr.bin/telnet/main.c
index 09ac26c..0d8e42e 100644
--- a/eBones/usr.bin/telnet/main.c
+++ b/eBones/usr.bin/telnet/main.c
@@ -32,21 +32,29 @@
*/
#ifndef lint
-static char copyright[] =
+static const char copyright[] =
"@(#) Copyright (c) 1988, 1990, 1993\n\
The Regents of the University of California. All rights reserved.\n";
#endif /* not lint */
#ifndef lint
-static char sccsid[] = "@(#)main.c 8.3 (Berkeley) 5/30/95";
+static const char sccsid[] = "@(#)main.c 8.3 (Berkeley) 5/30/95";
#endif /* not lint */
#include <sys/types.h>
+#include <stdlib.h>
#include "ring.h"
#include "externs.h"
#include "defines.h"
+#if defined(AUTHENTICATION)
+#include <libtelnet/auth.h>
+#endif
+#if defined(ENCRYPTION)
+#include <libtelnet/encrypt.h>
+#endif
+
/* These values need to be the same as defined in libtelnet/kerberos5.c */
/* Either define them in both places, or put in some common header file. */
#define OPTS_FORWARD_CREDS 0x00000002
@@ -56,6 +64,12 @@ static char sccsid[] = "@(#)main.c 8.3 (Berkeley) 5/30/95";
#define FORWARD
#endif
+void init_terminal(void);
+void init_network(void);
+void init_telnet(void);
+void init_sys(void);
+void init_3270(void);
+
/*
* Initialize variables.
*/
@@ -109,7 +123,7 @@ usage()
* main. Parse arguments, invoke the protocol or command parser.
*/
-
+ int
main(argc, argv)
int argc;
char *argv[];
@@ -129,7 +143,7 @@ main(argc, argv)
TerminalSaveState();
- if (prompt = strrchr(argv[0], '/'))
+ if ((prompt = strrchr(argv[0], '/')))
++prompt;
else
prompt = argv[0];
@@ -319,4 +333,5 @@ main(argc, argv)
#endif
command(1, 0, 0);
}
+ return 0;
}
diff --git a/eBones/usr.bin/telnet/network.c b/eBones/usr.bin/telnet/network.c
index 0fe5cee..9964bc2 100644
--- a/eBones/usr.bin/telnet/network.c
+++ b/eBones/usr.bin/telnet/network.c
@@ -32,7 +32,7 @@
*/
#ifndef lint
-static char sccsid[] = "@(#)network.c 8.2 (Berkeley) 12/15/93";
+static const char sccsid[] = "@(#)network.c 8.2 (Berkeley) 12/15/93";
#endif /* not lint */
#include <sys/types.h>
@@ -42,6 +42,7 @@ static char sccsid[] = "@(#)network.c 8.2 (Berkeley) 12/15/93";
#include <errno.h>
#include <arpa/telnet.h>
+#include <unistd.h>
#include "ring.h"
diff --git a/eBones/usr.bin/telnet/ring.c b/eBones/usr.bin/telnet/ring.c
index 37dfda8..13fe6c2 100644
--- a/eBones/usr.bin/telnet/ring.c
+++ b/eBones/usr.bin/telnet/ring.c
@@ -32,7 +32,7 @@
*/
#ifndef lint
-static char sccsid[] = "@(#)ring.c 8.2 (Berkeley) 5/30/95";
+static const char sccsid[] = "@(#)ring.c 8.2 (Berkeley) 5/30/95";
#endif /* not lint */
/*
@@ -48,6 +48,7 @@ static char sccsid[] = "@(#)ring.c 8.2 (Berkeley) 5/30/95";
#include <stdio.h>
#include <errno.h>
+#include <string.h>
#ifdef size_t
#undef size_t
@@ -99,6 +100,7 @@ static u_long ring_clock = 0;
/* Buffer state transition routines */
+ int
ring_init(ring, buffer, count)
Ring *ring;
unsigned char *buffer;
diff --git a/eBones/usr.bin/telnet/sys_bsd.c b/eBones/usr.bin/telnet/sys_bsd.c
index 3ede7c4..9a3a723 100644
--- a/eBones/usr.bin/telnet/sys_bsd.c
+++ b/eBones/usr.bin/telnet/sys_bsd.c
@@ -32,7 +32,7 @@
*/
#ifndef lint
-static char sccsid[] = "@(#)sys_bsd.c 8.4 (Berkeley) 5/30/95";
+static const char sccsid[] = "@(#)sys_bsd.c 8.4 (Berkeley) 5/30/95";
#endif /* not lint */
/*
@@ -48,6 +48,7 @@ static char sccsid[] = "@(#)sys_bsd.c 8.4 (Berkeley) 5/30/95";
#include <signal.h>
#include <errno.h>
#include <arpa/telnet.h>
+#include <unistd.h>
#include "ring.h"
diff --git a/eBones/usr.bin/telnet/telnet.c b/eBones/usr.bin/telnet/telnet.c
index 4402fdd..a0b815b 100644
--- a/eBones/usr.bin/telnet/telnet.c
+++ b/eBones/usr.bin/telnet/telnet.c
@@ -32,7 +32,7 @@
*/
#ifndef lint
-static char sccsid[] = "@(#)telnet.c 8.4 (Berkeley) 5/30/95";
+static const char sccsid[] = "@(#)telnet.c 8.4 (Berkeley) 5/30/95";
#endif /* not lint */
#include <sys/types.h>
@@ -49,6 +49,10 @@ static char sccsid[] = "@(#)telnet.c 8.4 (Berkeley) 5/30/95";
#include <ctype.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <termcap.h>
+
#include "ring.h"
#include "defines.h"
@@ -56,6 +60,13 @@ static char sccsid[] = "@(#)telnet.c 8.4 (Berkeley) 5/30/95";
#include "types.h"
#include "general.h"
+#if defined(AUTHENTICATION)
+#include <libtelnet/auth.h>
+#endif
+#if defined(ENCRYPTION)
+#include <libtelnet/encrypt.h>
+#endif
+#include <libtelnet/misc.h>
#define strip(x) ((my_want_state_is_wont(TELOPT_BINARY)) ? ((x)&0x7f) : (x))
@@ -856,7 +867,7 @@ suboption()
TerminalSpeeds(&ispeed, &ospeed);
- sprintf((char *)temp, "%c%c%c%c%d,%d%c%c", IAC, SB, TELOPT_TSPEED,
+ sprintf((char *)temp, "%c%c%c%c%ld,%ld%c%c", IAC, SB, TELOPT_TSPEED,
TELQUAL_IS, ospeed, ispeed, IAC, SE);
len = strlen((char *)temp+4) + 4; /* temp[3] is 0 ... */
@@ -1212,7 +1223,7 @@ slc_init()
#define initfunc(func, flags) { \
spcp = &spc_data[func]; \
- if (spcp->valp = tcval(func)) { \
+ if ((spcp->valp = tcval(func))) { \
spcp->val = *spcp->valp; \
spcp->mylevel = SLC_VARIABLE|flags; \
} else { \
@@ -1620,12 +1631,12 @@ env_opt_add(ep)
if (ep == NULL || *ep == '\0') {
/* Send user defined variables first. */
env_default(1, 0);
- while (ep = env_default(0, 0))
+ while ((ep = env_default(0, 0)))
env_opt_add(ep);
/* Now add the list of well know variables. */
env_default(1, 1);
- while (ep = env_default(0, 1))
+ while ((ep = env_default(0, 1)))
env_opt_add(ep);
return;
}
@@ -1655,7 +1666,7 @@ env_opt_add(ep)
else
*opt_replyp++ = ENV_USERVAR;
for (;;) {
- while (c = *ep++) {
+ while ((c = *ep++)) {
switch(c&0xff) {
case IAC:
*opt_replyp++ = IAC;
@@ -1669,7 +1680,7 @@ env_opt_add(ep)
}
*opt_replyp++ = c;
}
- if (ep = vp) {
+ if ((ep = vp)) {
#ifdef OLD_ENVIRON
if (telopt_environ == TELOPT_OLD_ENVIRON)
*opt_replyp++ = old_env_value;
diff --git a/eBones/usr.bin/telnet/terminal.c b/eBones/usr.bin/telnet/terminal.c
index b5ceeda..a2383d9 100644
--- a/eBones/usr.bin/telnet/terminal.c
+++ b/eBones/usr.bin/telnet/terminal.c
@@ -32,7 +32,7 @@
*/
#ifndef lint
-static char sccsid[] = "@(#)terminal.c 8.2 (Berkeley) 2/16/95";
+static const char sccsid[] = "@(#)terminal.c 8.2 (Berkeley) 2/16/95";
#endif /* not lint */
#include <arpa/telnet.h>
@@ -43,6 +43,10 @@ static char sccsid[] = "@(#)terminal.c 8.2 (Berkeley) 2/16/95";
#include "externs.h"
#include "types.h"
+#if defined(ENCRYPTION)
+#include <libtelnet/encrypt.h>
+#endif
+
Ring ttyoring, ttyiring;
unsigned char ttyobuf[2*BUFSIZ], ttyibuf[BUFSIZ];
diff --git a/eBones/usr.bin/telnet/tn3270.c b/eBones/usr.bin/telnet/tn3270.c
index a75cd1e..5a453d9 100644
--- a/eBones/usr.bin/telnet/tn3270.c
+++ b/eBones/usr.bin/telnet/tn3270.c
@@ -32,7 +32,7 @@
*/
#ifndef lint
-static char sccsid[] = "@(#)tn3270.c 8.2 (Berkeley) 5/30/95";
+static const char sccsid[] = "@(#)tn3270.c 8.2 (Berkeley) 5/30/95";
#endif /* not lint */
#include <sys/types.h>
diff --git a/eBones/usr.bin/telnet/utilities.c b/eBones/usr.bin/telnet/utilities.c
index 06d08a4..0ee882e 100644
--- a/eBones/usr.bin/telnet/utilities.c
+++ b/eBones/usr.bin/telnet/utilities.c
@@ -32,7 +32,7 @@
*/
#ifndef lint
-static char sccsid[] = "@(#)utilities.c 8.3 (Berkeley) 5/30/95";
+static const char sccsid[] = "@(#)utilities.c 8.3 (Berkeley) 5/30/95";
#endif /* not lint */
#define TELOPTS
@@ -40,7 +40,9 @@ static char sccsid[] = "@(#)utilities.c 8.3 (Berkeley) 5/30/95";
#define SLC_NAMES
#include <arpa/telnet.h>
#include <sys/types.h>
+#include <sys/socket.h>
#include <sys/time.h>
+#include <unistd.h>
#include <ctype.h>
@@ -54,6 +56,13 @@ static char sccsid[] = "@(#)utilities.c 8.3 (Berkeley) 5/30/95";
#include "externs.h"
+#if defined(AUTHENTICATION)
+#include <libtelnet/auth.h>
+#endif
+#if defined(ENCRYPTION)
+#include <libtelnet/encrypt.h>
+#endif
+
FILE *NetTrace = 0; /* Not in bss, since needs to stay */
int prettydump;
@@ -134,7 +143,6 @@ Dump(direction, buffer, length)
# define min(x,y) ((x<y)? x:y)
unsigned char *pThis;
int offset;
- extern pettydump;
offset = 0;
@@ -819,7 +827,6 @@ printsub(direction, pointer, length)
break;
default:
- def_case:
if (isprint(pointer[i]) && pointer[i] != '"') {
if (noquote) {
putc('"', NetTrace);
OpenPOWER on IntegriCloud