CVS commit: src/lib/libtelnet

2021-04-12 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Mon Apr 12 09:17:48 UTC 2021

Modified Files:
src/lib/libtelnet: kerberos5.c

Log Message:
pass the right enum to krb5_auth_con_setkeytype().


To generate a diff of this commit:
cvs rdiff -u -r1.20 -r1.21 src/lib/libtelnet/kerberos5.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libtelnet/kerberos5.c
diff -u src/lib/libtelnet/kerberos5.c:1.20 src/lib/libtelnet/kerberos5.c:1.21
--- src/lib/libtelnet/kerberos5.c:1.20	Sat Apr 26 22:10:40 2014
+++ src/lib/libtelnet/kerberos5.c	Mon Apr 12 09:17:48 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: kerberos5.c,v 1.20 2014/04/26 22:10:40 joerg Exp $	*/
+/*	$NetBSD: kerberos5.c,v 1.21 2021/04/12 09:17:48 mrg Exp $	*/
 
 /*-
  * Copyright (c) 1991, 1993
@@ -228,7 +228,7 @@ kerberos5_send(Authenticator *ap)
 		return (0);
 	}
 	krb5_auth_con_setkeytype(telnet_context, auth_context,
-	ETYPE_DES_CBC_CRC);
+	KRB5_ENCTYPE_DES_CBC_CRC);
 
 	foo[0] = ap->type;
 	foo[1] = ap->way;



CVS commit: src/lib/libtelnet

2018-12-16 Thread Maya Rashish
Module Name:src
Committed By:   maya
Date:   Sun Dec 16 16:06:39 UTC 2018

Modified Files:
src/lib/libtelnet: auth.c

Log Message:
unifdef RSA_ENCPWD. The matching code does not exist.


To generate a diff of this commit:
cvs rdiff -u -r1.23 -r1.24 src/lib/libtelnet/auth.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libtelnet/auth.c
diff -u src/lib/libtelnet/auth.c:1.23 src/lib/libtelnet/auth.c:1.24
--- src/lib/libtelnet/auth.c:1.23	Sat Dec 15 23:22:51 2018
+++ src/lib/libtelnet/auth.c	Sun Dec 16 16:06:39 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: auth.c,v 1.23 2018/12/15 23:22:51 maya Exp $	*/
+/*	$NetBSD: auth.c,v 1.24 2018/12/16 16:06:39 maya Exp $	*/
 
 /*-
  * Copyright (c) 1991, 1993
@@ -34,7 +34,7 @@
 #if 0
 static char sccsid[] = "@(#)auth.c	8.3 (Berkeley) 5/30/95"
 #else
-__RCSID("$NetBSD: auth.c,v 1.23 2018/12/15 23:22:51 maya Exp $");
+__RCSID("$NetBSD: auth.c,v 1.24 2018/12/16 16:06:39 maya Exp $");
 #endif
 #endif /* not lint */
 
@@ -80,15 +80,6 @@ __RCSID("$NetBSD: auth.c,v 1.23 2018/12/
 
 #define	typemask(x)		(1<<((x)-1))
 
-#ifdef	RSA_ENCPWD
-extern rsaencpwd_init();
-extern rsaencpwd_send();
-extern rsaencpwd_is();
-extern rsaencpwd_reply();
-extern rsaencpwd_status();
-extern rsaencpwd_printsub();
-#endif
-
 int auth_debug_mode = 0;
 static 	const char	*Name = "Noname";
 static	int	Server = 0;
@@ -124,15 +115,6 @@ Authenticator authenticators[] = {
 kerberos5_status,
 kerberos5_printsub },
 #endif
-#ifdef	RSA_ENCPWD
-	{ AUTHTYPE_RSA_ENCPWD, AUTH_WHO_CLIENT|AUTH_HOW_ONE_WAY,
-rsaencpwd_init,
-rsaencpwd_send,
-rsaencpwd_is,
-rsaencpwd_reply,
-rsaencpwd_status,
-rsaencpwd_printsub },
-#endif
 #ifdef SRA
 	{ AUTHTYPE_SRA, AUTH_WHO_CLIENT|AUTH_HOW_ONE_WAY,
 sra_init,



CVS commit: src/lib/libtelnet

2018-12-15 Thread Maya Rashish
Module Name:src
Committed By:   maya
Date:   Sat Dec 15 23:22:51 UTC 2018

Modified Files:
src/lib/libtelnet: auth.c
Removed Files:
src/lib/libtelnet: spx.c

Log Message:
G/C SPX support

It was presented as a draft in 1993. I don't see any mentions since. it
was not enabled.


To generate a diff of this commit:
cvs rdiff -u -r1.22 -r1.23 src/lib/libtelnet/auth.c
cvs rdiff -u -r1.8 -r0 src/lib/libtelnet/spx.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libtelnet/auth.c
diff -u src/lib/libtelnet/auth.c:1.22 src/lib/libtelnet/auth.c:1.23
--- src/lib/libtelnet/auth.c:1.22	Fri Dec 14 23:42:39 2018
+++ src/lib/libtelnet/auth.c	Sat Dec 15 23:22:51 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: auth.c,v 1.22 2018/12/14 23:42:39 christos Exp $	*/
+/*	$NetBSD: auth.c,v 1.23 2018/12/15 23:22:51 maya Exp $	*/
 
 /*-
  * Copyright (c) 1991, 1993
@@ -34,7 +34,7 @@
 #if 0
 static char sccsid[] = "@(#)auth.c	8.3 (Berkeley) 5/30/95"
 #else
-__RCSID("$NetBSD: auth.c,v 1.22 2018/12/14 23:42:39 christos Exp $");
+__RCSID("$NetBSD: auth.c,v 1.23 2018/12/15 23:22:51 maya Exp $");
 #endif
 #endif /* not lint */
 
@@ -106,22 +106,6 @@ static void auth_intr(int);
  * in priority order, i.e. try the first one first.
  */
 Authenticator authenticators[] = {
-#ifdef	SPX
-	{ AUTHTYPE_SPX, AUTH_WHO_CLIENT|AUTH_HOW_MUTUAL,
-spx_init,
-spx_send,
-spx_is,
-spx_reply,
-spx_status,
-spx_printsub },
-	{ AUTHTYPE_SPX, AUTH_WHO_CLIENT|AUTH_HOW_ONE_WAY,
-spx_init,
-spx_send,
-spx_is,
-spx_reply,
-spx_status,
-spx_printsub },
-#endif
 #ifdef	KRB5
 # ifdef	ENCRYPTION
 	{ AUTHTYPE_KERBEROS_V5, AUTH_WHO_CLIENT|AUTH_HOW_MUTUAL,



CVS commit: src/lib/libtelnet

2018-12-14 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Fri Dec 14 23:42:40 UTC 2018

Modified Files:
src/lib/libtelnet: auth-proto.h auth.c genget.c misc.h

Log Message:
more const


To generate a diff of this commit:
cvs rdiff -u -r1.15 -r1.16 src/lib/libtelnet/auth-proto.h
cvs rdiff -u -r1.21 -r1.22 src/lib/libtelnet/auth.c
cvs rdiff -u -r1.13 -r1.14 src/lib/libtelnet/genget.c
cvs rdiff -u -r1.9 -r1.10 src/lib/libtelnet/misc.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libtelnet/auth-proto.h
diff -u src/lib/libtelnet/auth-proto.h:1.15 src/lib/libtelnet/auth-proto.h:1.16
--- src/lib/libtelnet/auth-proto.h:1.15	Mon Mar 20 16:23:47 2006
+++ src/lib/libtelnet/auth-proto.h	Fri Dec 14 18:42:39 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: auth-proto.h,v 1.15 2006/03/20 21:23:47 christos Exp $	*/
+/*	$NetBSD: auth-proto.h,v 1.16 2018/12/14 23:42:39 christos Exp $	*/
 
 /*-
  * Copyright (c) 1991, 1993
@@ -68,12 +68,12 @@ void auth_reply(unsigned char *, int);
 void auth_disable_name(char *);
 void auth_gen_printsub(unsigned char *, int, unsigned char *, int);
 
-int getauthmask(char *, int *);
-int auth_enable(char *);
-int auth_disable(char *);
-int auth_onoff(char *, int);
+int getauthmask(const char *, int *);
+int auth_enable(const char *);
+int auth_disable(const char *);
+int auth_onoff(const char *, int);
 int auth_togdebug(int);
-int auth_status(char *);
+int auth_status(const char *);
 void auth_name(unsigned char *, int);
 int auth_sendname(unsigned char *, int);
 void auth_finished(Authenticator *, int);

Index: src/lib/libtelnet/auth.c
diff -u src/lib/libtelnet/auth.c:1.21 src/lib/libtelnet/auth.c:1.22
--- src/lib/libtelnet/auth.c:1.21	Wed Mar 21 01:33:27 2012
+++ src/lib/libtelnet/auth.c	Fri Dec 14 18:42:39 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: auth.c,v 1.21 2012/03/21 05:33:27 matt Exp $	*/
+/*	$NetBSD: auth.c,v 1.22 2018/12/14 23:42:39 christos Exp $	*/
 
 /*-
  * Copyright (c) 1991, 1993
@@ -34,7 +34,7 @@
 #if 0
 static char sccsid[] = "@(#)auth.c	8.3 (Berkeley) 5/30/95"
 #else
-__RCSID("$NetBSD: auth.c,v 1.21 2012/03/21 05:33:27 matt Exp $");
+__RCSID("$NetBSD: auth.c,v 1.22 2018/12/14 23:42:39 christos Exp $");
 #endif
 #endif /* not lint */
 
@@ -216,7 +216,7 @@ auth_disable_name(char *name)
 }
 
 int
-getauthmask(char *type, int *maskp)
+getauthmask(const char *type, int *maskp)
 {
 	register int x;
 
@@ -235,19 +235,19 @@ getauthmask(char *type, int *maskp)
 }
 
 int
-auth_enable(char *type)
+auth_enable(const char *type)
 {
 	return(auth_onoff(type, 1));
 }
 
 int
-auth_disable(char *type)
+auth_disable(const char *type)
 {
 	return(auth_onoff(type, 0));
 }
 
 int
-auth_onoff(char *type, int on)
+auth_onoff(const char *type, int on)
 {
 	int i, mask = -1;
 	Authenticator *ap;
@@ -289,7 +289,7 @@ auth_togdebug(int on)
 }
 
 int
-auth_status(char *s)
+auth_status(const char *s)
 {
 	Authenticator *ap;
 	int i, mask;

Index: src/lib/libtelnet/genget.c
diff -u src/lib/libtelnet/genget.c:1.13 src/lib/libtelnet/genget.c:1.14
--- src/lib/libtelnet/genget.c:1.13	Wed Mar 21 01:33:27 2012
+++ src/lib/libtelnet/genget.c	Fri Dec 14 18:42:39 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: genget.c,v 1.13 2012/03/21 05:33:27 matt Exp $	*/
+/*	$NetBSD: genget.c,v 1.14 2018/12/14 23:42:39 christos Exp $	*/
 
 /*-
  * Copyright (c) 1991, 1993
@@ -34,7 +34,7 @@
 #if 0
 static char sccsid[] = "@(#)genget.c	8.2 (Berkeley) 5/30/95";
 #else
-__RCSID("$NetBSD: genget.c,v 1.13 2012/03/21 05:33:27 matt Exp $");
+__RCSID("$NetBSD: genget.c,v 1.14 2018/12/14 23:42:39 christos Exp $");
 #endif
 #endif /* not lint */
 
@@ -50,9 +50,9 @@ __RCSID("$NetBSD: genget.c,v 1.13 2012/0
  * the length of *s1 is returned.
  */
 int
-isprefix(char *s1, const char *s2)
+isprefix(const char *s1, const char *s2)
 {
-	char *os1;
+	const char *os1;
 	char c1, c2;
 
 	if (*s1 == '\0')
@@ -72,7 +72,7 @@ isprefix(char *s1, const char *s2)
 static char *ambiguous;		/* special return value for command routines */
 
 char **
-genget( char	*name,		/* name to match */
+genget(const char *name,		/* name to match */
 	char	**table,	/* name entry in table */
 	int	stlen)
 {

Index: src/lib/libtelnet/misc.h
diff -u src/lib/libtelnet/misc.h:1.9 src/lib/libtelnet/misc.h:1.10
--- src/lib/libtelnet/misc.h:1.9	Mon Jan  9 10:25:34 2012
+++ src/lib/libtelnet/misc.h	Fri Dec 14 18:42:39 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: misc.h,v 1.9 2012/01/09 15:25:34 christos Exp $	*/
+/*	$NetBSD: misc.h,v 1.10 2018/12/14 23:42:39 christos Exp $	*/
 
 /*-
  * Copyright (c) 1991, 1993
@@ -38,8 +38,8 @@ extern const char *RemoteHostName;
 extern int ConnectedCount;
 extern int ReservedPort;
 
-int isprefix(char *, const char *);
-char **genget(char *, char **, int);
+int isprefix(const char *, const char *);
+char **genget(const char *, char **, int);
 int Ambiguous(void *);
 __END_DECLS
 



CVS commit: src/lib/libtelnet

2018-12-13 Thread Maya Rashish
Module Name:src
Committed By:   maya
Date:   Thu Dec 13 09:09:32 UTC 2018

Modified Files:
src/lib/libtelnet: spx.c

Log Message:
Remove unused code


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 src/lib/libtelnet/spx.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libtelnet/spx.c
diff -u src/lib/libtelnet/spx.c:1.7 src/lib/libtelnet/spx.c:1.8
--- src/lib/libtelnet/spx.c:1.7	Tue Apr 19 03:19:46 2005
+++ src/lib/libtelnet/spx.c	Thu Dec 13 09:09:32 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: spx.c,v 1.7 2005/04/19 03:19:46 christos Exp $ */
+/*	$NetBSD: spx.c,v 1.8 2018/12/13 09:09:32 maya Exp $ */
 
 /*-
  * Copyright (c) 1992, 1993
@@ -35,7 +35,7 @@
 #if 0
 static char sccsid[] = "@(#)spx.c	8.2 (Berkeley) 5/30/95";
 #else
-__RCSID("$NetBSD: spx.c,v 1.7 2005/04/19 03:19:46 christos Exp $");
+__RCSID("$NetBSD: spx.c,v 1.8 2018/12/13 09:09:32 maya Exp $");
 #endif
 #endif /* not lint */
 
@@ -578,17 +578,3 @@ spx_printsub(data, cnt, buf, buflen)
 }
 
 #endif
-
-#ifdef notdef
-
-prkey(msg, key)
-	char *msg;
-	unsigned char *key;
-{
-	register int i;
-	printf("%s:", msg);
-	for (i = 0; i < 8; i++)
-		printf(" %3d", key[i]);
-	printf("\r\n");
-}
-#endif



CVS commit: src/lib/libtelnet

2014-04-26 Thread Joerg Sonnenberger
Module Name:src
Committed By:   joerg
Date:   Sat Apr 26 22:10:40 UTC 2014

Modified Files:
src/lib/libtelnet: kerberos5.c

Log Message:
Avoid enum type mismatch.


To generate a diff of this commit:
cvs rdiff -u -r1.19 -r1.20 src/lib/libtelnet/kerberos5.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libtelnet/kerberos5.c
diff -u src/lib/libtelnet/kerberos5.c:1.19 src/lib/libtelnet/kerberos5.c:1.20
--- src/lib/libtelnet/kerberos5.c:1.19	Mon Jan  9 15:25:33 2012
+++ src/lib/libtelnet/kerberos5.c	Sat Apr 26 22:10:40 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: kerberos5.c,v 1.19 2012/01/09 15:25:33 christos Exp $	*/
+/*	$NetBSD: kerberos5.c,v 1.20 2014/04/26 22:10:40 joerg Exp $	*/
 
 /*-
  * Copyright (c) 1991, 1993
@@ -227,7 +227,8 @@ kerberos5_send(Authenticator *ap)
 		}
 		return (0);
 	}
-	krb5_auth_con_setkeytype(telnet_context, auth_context, KEYTYPE_DES);
+	krb5_auth_con_setkeytype(telnet_context, auth_context,
+	ETYPE_DES_CBC_CRC);
 
 	foo[0] = ap-type;
 	foo[1] = ap-way;



CVS commit: src/lib/libtelnet

2012-01-09 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Mon Jan  9 15:25:34 UTC 2012

Modified Files:
src/lib/libtelnet: Makefile auth.c enc-proto.h enc_des.c encrypt.c
encrypt.h genget.c kerberos5.c misc.h sra.c

Log Message:
PR/45805: Borodin Oleg: telnet/telnetd with -DAUTHENTICATION -DENCRYPTION
(rfc2941)
- minimal fixes to compile with WARNS=4
- separate kerberos (USE_KERBEROS) from encryption (MKCRYPTO)


To generate a diff of this commit:
cvs rdiff -u -r1.33 -r1.34 src/lib/libtelnet/Makefile
cvs rdiff -u -r1.19 -r1.20 src/lib/libtelnet/auth.c
cvs rdiff -u -r1.8 -r1.9 src/lib/libtelnet/enc-proto.h \
src/lib/libtelnet/encrypt.h src/lib/libtelnet/misc.h
cvs rdiff -u -r1.14 -r1.15 src/lib/libtelnet/enc_des.c
cvs rdiff -u -r1.15 -r1.16 src/lib/libtelnet/encrypt.c
cvs rdiff -u -r1.11 -r1.12 src/lib/libtelnet/genget.c
cvs rdiff -u -r1.18 -r1.19 src/lib/libtelnet/kerberos5.c
cvs rdiff -u -r1.10 -r1.11 src/lib/libtelnet/sra.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libtelnet/Makefile
diff -u src/lib/libtelnet/Makefile:1.33 src/lib/libtelnet/Makefile:1.34
--- src/lib/libtelnet/Makefile:1.33	Mon Jun 20 03:43:58 2011
+++ src/lib/libtelnet/Makefile	Mon Jan  9 10:25:33 2012
@@ -1,5 +1,5 @@
 #	from: @(#)Makefile	8.2 (Berkeley) 12/15/93
-#	$NetBSD: Makefile,v 1.33 2011/06/20 07:43:58 mrg Exp $
+#	$NetBSD: Makefile,v 1.34 2012/01/09 15:25:33 christos Exp $
 
 USE_FORT?= yes	# network protocol library
 
@@ -7,7 +7,7 @@ LIBISPRIVATE=	yes
 
 .include bsd.own.mk
 
-WARNS?=	1
+WARNS?=	4
 
 LIB=	telnet
 SRCS=	auth.c encrypt.c genget.c getent.c misc.c
@@ -15,11 +15,13 @@ SRCS=	auth.c encrypt.c genget.c getent.c
 CPPFLAGS+= -DHAS_CGETENT
 CPPFLAGS+= -I${.CURDIR}
 
-.if (${USE_KERBEROS} != no)
+.if ${MKCRYPTO} != no
 SRCS+=	enc_des.c
 CPPFLAGS+= -DENCRYPTION -DAUTHENTICATION
 CPPFLAGS+= -DDES_ENCRYPTION
+.endif
 
+.if ${USE_KERBEROS} != no
 SRCS+=	kerberos5.c
 CPPFLAGS+= -DKRB5
 .endif

Index: src/lib/libtelnet/auth.c
diff -u src/lib/libtelnet/auth.c:1.19 src/lib/libtelnet/auth.c:1.20
--- src/lib/libtelnet/auth.c:1.19	Sun Mar 19 23:03:22 2006
+++ src/lib/libtelnet/auth.c	Mon Jan  9 10:25:33 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: auth.c,v 1.19 2006/03/20 04:03:22 christos Exp $	*/
+/*	$NetBSD: auth.c,v 1.20 2012/01/09 15:25:33 christos Exp $	*/
 
 /*-
  * Copyright (c) 1991, 1993
@@ -34,7 +34,7 @@
 #if 0
 static char sccsid[] = @(#)auth.c	8.3 (Berkeley) 5/30/95
 #else
-__RCSID($NetBSD: auth.c,v 1.19 2006/03/20 04:03:22 christos Exp $);
+__RCSID($NetBSD: auth.c,v 1.20 2012/01/09 15:25:33 christos Exp $);
 #endif
 #endif /* not lint */
 
@@ -162,7 +162,7 @@ Authenticator authenticators[] = {
 	{ 0, 0, 0, 0, 0, 0, 0, 0 },
 };
 
-static Authenticator NoAuth = { 0 };
+static Authenticator NoAuth = { .type = 0 };
 
 static int	i_support = 0;
 static int	i_wont_support = 0;
@@ -395,10 +395,10 @@ auth_send(data, cnt)
 	 */
 	if (data  _auth_send_data ||
 	data  _auth_send_data + sizeof(_auth_send_data)) {
-		auth_send_cnt = cnt  sizeof(_auth_send_data)
+		auth_send_cnt = (size_t)cnt  sizeof(_auth_send_data)
 	? sizeof(_auth_send_data)
-	: cnt;
-		memmove((void *)_auth_send_data, (void *)data, auth_send_cnt);
+	: (size_t)cnt;
+		memmove(_auth_send_data, data, auth_send_cnt);
 		auth_send_data = _auth_send_data;
 	} else {
 		/*
@@ -517,7 +517,7 @@ auth_name(data, cnt)
 			printf(%s: Empty name in NAME\r\n, Name);
 		return;
 	}
-	if (cnt  sizeof(savename) - 1) {
+	if ((size_t)cnt  sizeof(savename) - 1) {
 		if (auth_debug_mode)
 			printf(%s: Name in NAME (%d) exceeds %ld length\r\n,
 	Name, cnt, (long)sizeof(savename)-1);

Index: src/lib/libtelnet/enc-proto.h
diff -u src/lib/libtelnet/enc-proto.h:1.8 src/lib/libtelnet/enc-proto.h:1.9
--- src/lib/libtelnet/enc-proto.h:1.8	Sun Feb  6 13:00:30 2005
+++ src/lib/libtelnet/enc-proto.h	Mon Jan  9 10:25:33 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: enc-proto.h,v 1.8 2005/02/06 18:00:30 agc Exp $	*/
+/*	$NetBSD: enc-proto.h,v 1.9 2012/01/09 15:25:33 christos Exp $	*/
 
 /*-
  * Copyright (c) 1991, 1993
@@ -85,7 +85,7 @@ void encrypt_enc_keyid(unsigned char *, 
 void encrypt_dec_keyid(unsigned char *, int);
 struct key_info;
 void encrypt_keyid(struct key_info *, unsigned char *, int);
-void encrypt_send_keyid(int, unsigned char *, int, int);
+void encrypt_send_keyid(int, const unsigned char *, int, int);
 void encrypt_auto(int);
 void decrypt_auto(int);
 void encrypt_start_output(int);
@@ -134,7 +134,7 @@ void ofb64_session(Session_Key *, int);
 int ofb64_keyid(int, unsigned char *, int *);
 void ofb64_printsub(unsigned char *, int, unsigned char *, int);
 
-void fb64_printsub(unsigned char *, int, unsigned char *, int,
-unsigned char *);
+void fb64_printsub(const unsigned char *, int, unsigned char *, int,
+const unsigned char *);
 
 #endif	/* ENCRYPTION */
Index: src/lib/libtelnet/encrypt.h
diff -u src/lib/libtelnet/encrypt.h:1.8 

CVS commit: src/lib/libtelnet

2011-12-23 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Fri Dec 23 16:48:16 UTC 2011

Modified Files:
src/lib/libtelnet: encrypt.c

Log Message:
Avoid buffer overflow, reported by Colin Percival at FreeBSD


To generate a diff of this commit:
cvs rdiff -u -r1.14 -r1.15 src/lib/libtelnet/encrypt.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libtelnet/encrypt.c
diff -u src/lib/libtelnet/encrypt.c:1.14 src/lib/libtelnet/encrypt.c:1.15
--- src/lib/libtelnet/encrypt.c:1.14	Wed Jan 17 18:24:22 2007
+++ src/lib/libtelnet/encrypt.c	Fri Dec 23 11:48:16 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: encrypt.c,v 1.14 2007/01/17 23:24:22 hubertf Exp $	*/
+/*	$NetBSD: encrypt.c,v 1.15 2011/12/23 16:48:16 christos Exp $	*/
 
 /*-
  * Copyright (c) 1991, 1993
@@ -33,7 +33,7 @@
 #if 0
 static char sccsid[] = @(#)encrypt.c	8.2 (Berkeley) 5/30/95;
 #else
-__RCSID($NetBSD: encrypt.c,v 1.14 2007/01/17 23:24:22 hubertf Exp $);
+__RCSID($NetBSD: encrypt.c,v 1.15 2011/12/23 16:48:16 christos Exp $);
 #endif /* not lint */
 
 /*
@@ -765,6 +765,8 @@ encrypt_keyid(kp, keyid, len)
 		if (ep-keyid)
 			(void)(*ep-keyid)(dir, kp-keyid, kp-keylen);
 
+	} else if (len  sizeof(kp-keyid)) {
+		return;
 	} else if ((len != kp-keylen) ||
 		   (memcmp(keyid, kp-keyid, len) != 0)) {
 		/*



CVS commit: src/lib/libtelnet

2011-07-24 Thread Marc Balmer
Module Name:src
Committed By:   mbalmer
Date:   Sun Jul 24 07:18:18 UTC 2011

Modified Files:
src/lib/libtelnet: enc_des.c

Log Message:
Correct typo, while here, unfold lines.


To generate a diff of this commit:
cvs rdiff -u -r1.13 -r1.14 src/lib/libtelnet/enc_des.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libtelnet/enc_des.c
diff -u src/lib/libtelnet/enc_des.c:1.13 src/lib/libtelnet/enc_des.c:1.14
--- src/lib/libtelnet/enc_des.c:1.13	Wed Jan 17 23:24:22 2007
+++ src/lib/libtelnet/enc_des.c	Sun Jul 24 07:18:17 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: enc_des.c,v 1.13 2007/01/17 23:24:22 hubertf Exp $	*/
+/*	$NetBSD: enc_des.c,v 1.14 2011/07/24 07:18:17 mbalmer Exp $	*/
 
 /*-
  * Copyright (c) 1991, 1993
@@ -34,7 +34,7 @@
 #if 0
 static char sccsid[] = @(#)enc_des.c	8.3 (Berkeley) 5/30/95; */
 #else
-__RCSID($NetBSD: enc_des.c,v 1.13 2007/01/17 23:24:22 hubertf Exp $);
+__RCSID($NetBSD: enc_des.c,v 1.14 2011/07/24 07:18:17 mbalmer Exp $);
 #endif
 #endif /* not lint */
 
@@ -428,9 +428,8 @@
 	}
 	des_key_sched(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
-	 * that we have the key.
+	 * Now look to see if krbdes_start() was waiting for the key to
+	 * show up.  If so, go ahead an call it now that we have the key.
 	 */
 	if (fbp-need_start) {
 		fbp-need_start = 0;



CVS commit: src/lib/libtelnet

2011-07-01 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Fri Jul  1 15:09:28 UTC 2011

Modified Files:
src/lib/libtelnet: sra.c

Log Message:
- use defines for lengths
- strlcpy/snprintf
- KNK


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 src/lib/libtelnet/sra.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libtelnet/sra.c
diff -u src/lib/libtelnet/sra.c:1.9 src/lib/libtelnet/sra.c:1.10
--- src/lib/libtelnet/sra.c:1.9	Thu Jun 30 21:15:27 2011
+++ src/lib/libtelnet/sra.c	Fri Jul  1 11:09:28 2011
@@ -32,7 +32,7 @@
 #ifdef notdef
 __FBSDID($FreeBSD: src/contrib/telnet/libtelnet/sra.c,v 1.16 2002/05/06 09:48:02 markm Exp $);
 #else
-__RCSID($NetBSD: sra.c,v 1.9 2011/07/01 01:15:27 joerg Exp $);
+__RCSID($NetBSD: sra.c,v 1.10 2011/07/01 15:09:28 christos Exp $);
 #endif
 
 #ifdef	SRA
@@ -65,7 +65,7 @@
 IdeaData ik;
 
 extern int auth_debug_mode;
-extern char *line;		/* see sys_term.c */
+extern char *line; 		/* see sys_term.c */
 
 static int sra_valid = 0;
 static int passwd_sent = 0;
@@ -73,6 +73,8 @@
 static unsigned char str_data[1024] = { IAC, SB, TELOPT_AUTHENTICATION, 0,
 			  		AUTHTYPE_SRA, };
 
+#define SMALL_LEN	256
+#define XSMALL_LEN	513
 #define SRA_KEY	0
 #define SRA_USER 1
 #define SRA_CONTINUE 2
@@ -87,16 +89,15 @@
 Data(Authenticator *ap, int type, void *d, int c)
 {
 unsigned char *p = str_data + 4;
-	unsigned char *cd = (unsigned char *)d;
+	unsigned char *cd = d;
 
 	if (c == -1)
-		c = strlen((char *)cd);
+		c = strlen(d);
 
 if (auth_debug_mode) {
 printf(%s:%d: [%d] (%d),
-str_data[3] == TELQUAL_IS ? IS : REPLY,
-str_data[3],
-type, c);
+		str_data[3] == TELQUAL_IS ? IS : REPLY,
+		str_data[3], type, c);
 printd(d, c);
 printf(\r\n);
 }
@@ -111,7 +112,7 @@
 *p++ = SE;
 	if (str_data[3] == TELQUAL_IS)
 		printsub('', str_data[2], p - (str_data[2]));
-return(telnet_net_write(str_data, p - str_data));
+return telnet_net_write(str_data, p - str_data);
 }
 
 int
@@ -122,21 +123,21 @@
 	else
 		str_data[3] = TELQUAL_IS;
 
-	user = (char *)malloc(256);
-	xuser = (char *)malloc(513);
-	pass = (char *)malloc(256);
-	xpass = (char *)malloc(513);
-	passprompt = (char *)malloc(256);
-	xpassprompt = (char *)malloc(513);
+	user = malloc(SMALL_LEN);
+	xuser = malloc(XSMALL_LEN);
+	pass = malloc(SMALL_LEN);
+	xpass = malloc(XSMALL_LEN);
+	passprompt = malloc(SMALL_LEN);
+	xpassprompt = malloc(XSMALL_LEN);
 
 	if (user == NULL || xuser == NULL || pass == NULL || xpass ==
-	NULL || passprompt == NULL || xpassprompt == NULL)
+	NULL || passprompt == NULL || xpassprompt == NULL)
 		return 0; /* malloc failed */
 
 	passwd_sent = 0;
 	
-	genkeys(pka,ska);
-	return(1);
+	genkeys(pka, ska);
+	return 1;
 }
 
 /* client received a go-ahead for sra */
@@ -151,10 +152,10 @@
 	if (!Data(ap, SRA_KEY, (void *)pka, HEXKEYBYTES)) {
 		if (auth_debug_mode)
 			printf(Not enough room for authentication data\r\n);
-		return(0);
+		return 0;
 	}
 
-	return(1);
+	return 1;
 }
 
 /* server received an IS -- could be SRA KEY, USER, or PASS */
@@ -184,40 +185,40 @@
 printf(Not enough room\r\n);
 			return;
 		}
-		memcpy(pkb,data,HEXKEYBYTES);
+		memcpy(pkb, data, HEXKEYBYTES);
 		pkb[HEXKEYBYTES] = '\0';
-		common_key(ska,pkb,ik,ck);
+		common_key(ska, pkb, ik, ck);
 		return;
 
 	case SRA_USER:
 		/* decode KAB(u) */
-		if (cnt  512) /* Attempted buffer overflow */
+		if (cnt  XSMALL_LEN - 1) /* Attempted buffer overflow */
 			break;
-		memcpy(xuser,data,cnt);
+		memcpy(xuser, data, cnt);
 		xuser[cnt] = '\0';
-		pk_decode(xuser,user,ck);
+		pk_decode(xuser, user, ck);
 		auth_encrypt_user(user);
 #ifndef NOPAM
 		(void)check_user(user, *);
 #endif
-		pk_encode(passprompt,xpassprompt,ck);
-		Data(ap, SRA_CONTINUE, (void *)xpassprompt, 512);
+		pk_encode(passprompt, xpassprompt, ck);
+		Data(ap, SRA_CONTINUE, xpassprompt, XSMALL_LEN - 1);
 
 		return;
 
 	case SRA_PASS:
-		if (cnt  512) /* Attempted buffer overflow */
+		if (cnt  XSMALL_LEN - 1) /* Attempted buffer overflow */
 			break;
 		/* decode KAB(P) */
-		memcpy(xpass,data,cnt);
+		memcpy(xpass, data, cnt);
 		xpass[cnt] = '\0';
-		pk_decode(xpass,pass,ck);
+		pk_decode(xpass, pass, ck);
 
 		/* check user's password */
-		valid = check_user(user,pass);
+		valid = check_user(user, pass);
 
 		if(valid) {
-			/* PAM (via check_user()) may have changed 'user' */
+			/* PAM (via check_user()) may have changed 'user' */
 			auth_encrypt_user(user);
 			Data(ap, SRA_ACCEPT, (void *)0, 0);
 			skey.data = ck;
@@ -232,13 +233,9 @@
 			}
 		}
 		else {
-			pk_encode(passprompt,xpassprompt,ck);
-			Data(ap, SRA_CONTINUE, (void *)xpassprompt, 512);
-/*
-			Data(ap, SRA_REJECT, (void *)0, 0);
-			sra_valid = 0;
-			auth_finished(ap, AUTH_REJECT);
-*/
+			

CVS commit: src/lib/libtelnet

2011-06-30 Thread Joerg Sonnenberger
Module Name:src
Committed By:   joerg
Date:   Fri Jul  1 01:15:27 UTC 2011

Modified Files:
src/lib/libtelnet: sra.c

Log Message:
Fix memset usage. XXX should use static allocate and proper sizeof()


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 src/lib/libtelnet/sra.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libtelnet/sra.c
diff -u src/lib/libtelnet/sra.c:1.8 src/lib/libtelnet/sra.c:1.9
--- src/lib/libtelnet/sra.c:1.8	Tue Oct 25 23:36:07 2005
+++ src/lib/libtelnet/sra.c	Fri Jul  1 01:15:27 2011
@@ -32,7 +32,7 @@
 #ifdef notdef
 __FBSDID($FreeBSD: src/contrib/telnet/libtelnet/sra.c,v 1.16 2002/05/06 09:48:02 markm Exp $);
 #else
-__RCSID($NetBSD: sra.c,v 1.8 2005/10/25 23:36:07 christos Exp $);
+__RCSID($NetBSD: sra.c,v 1.9 2011/07/01 01:15:27 joerg Exp $);
 #endif
 
 #ifdef	SRA
@@ -328,7 +328,7 @@
 			(void)strcpy(passprompt, Password: );
 		}
 		/* encode password */
-		memset(pass,0,sizeof(pass));
+		memset(pass,0,256);
 		if (telnet_gets(passprompt,pass,255,0) == NULL) {
 			printf(\n);
 			exit(1);



CVS commit: src/lib/libtelnet

2011-04-24 Thread Roland Dowdeswell
Module Name:src
Committed By:   elric
Date:   Sun Apr 24 19:00:32 UTC 2011

Modified Files:
src/lib/libtelnet: kerberos5.c

Log Message:
Stop using functions that are deprecated in Heimdal.


To generate a diff of this commit:
cvs rdiff -u -r1.17 -r1.18 src/lib/libtelnet/kerberos5.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libtelnet/kerberos5.c
diff -u src/lib/libtelnet/kerberos5.c:1.17 src/lib/libtelnet/kerberos5.c:1.18
--- src/lib/libtelnet/kerberos5.c:1.17	Wed Mar 22 16:32:39 2006
+++ src/lib/libtelnet/kerberos5.c	Sun Apr 24 19:00:31 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: kerberos5.c,v 1.17 2006/03/22 16:32:39 christos Exp $	*/
+/*	$NetBSD: kerberos5.c,v 1.18 2011/04/24 19:00:31 elric Exp $	*/
 
 /*-
  * Copyright (c) 1991, 1993
@@ -74,6 +74,7 @@
 
 int require_hwpreauth;
 
+const char *get_krb5_err_text(krb5_context, krb5_error_code);
 void kerberos5_forward(Authenticator *);
 
 static unsigned char str_data[1024] = {IAC, SB, TELOPT_AUTHENTICATION, 0,
@@ -125,6 +126,22 @@
 	return (telnet_net_write(str_data, p - str_data));
 }
 
+const char *
+get_krb5_err_text(krb5_context ctx, krb5_error_code ret)
+{
+	static const char	*str = NULL;
+
+	if (str)
+		krb5_free_error_message(ctx, str);
+
+	str = krb5_get_error_message(ctx, ret);
+
+	if (str != NULL)
+		return str;
+
+	return unknown;
+}
+
 int
 kerberos5_init(Authenticator *ap, int server)
 {
@@ -180,7 +197,7 @@
 		if (auth_debug_mode) {
 			printf(
 			Kerberos V5: could not get default ccache: %s\r\n,
-			krb5_get_err_text(telnet_context, ret));
+			get_krb5_err_text(telnet_context, ret));
 		}
 		return (0);
 	}
@@ -196,7 +213,7 @@
 		if (auth_debug_mode) {
 			printf(
 			Kerberos V5: krb5_auth_con_init failed: %s\r\n,
-			krb5_get_err_text(telnet_context, ret));
+			get_krb5_err_text(telnet_context, ret));
 		}
 		return (0);
 	}
@@ -206,7 +223,7 @@
 		if (auth_debug_mode) {
 			printf(Kerberos V5: 
 			krb5_auth_con_setaddrs_from_fd failed: %s\r\n,
-			krb5_get_err_text(telnet_context, ret));
+			get_krb5_err_text(telnet_context, ret));
 		}
 		return (0);
 	}
@@ -222,7 +239,7 @@
 	if (ret) {
 		if (1 || auth_debug_mode) {
 			printf(Kerberos V5: mk_req failed (%s)\r\n,
-			krb5_get_err_text(telnet_context, ret));
+			get_krb5_err_text(telnet_context, ret));
 		}
 		return (0);
 	}
@@ -269,7 +286,7 @@
 			auth_finished(ap, AUTH_REJECT);
 			if (auth_debug_mode)
 printf(Kerberos V5: krb5_auth_con_init failed (%s)\r\n,
-krb5_get_err_text(telnet_context, ret));
+get_krb5_err_text(telnet_context, ret));
 			return;
 		}
 		ret = krb5_auth_con_setaddrs_from_fd(telnet_context,
@@ -280,7 +297,7 @@
 			if (auth_debug_mode)
 printf(Kerberos V5: 
 krb5_auth_con_setaddrs_from_fd failed (%s)\r\n,
-krb5_get_err_text(telnet_context, ret));
+get_krb5_err_text(telnet_context, ret));
 			return;
 		}
 		ret = krb5_sock_to_principal(telnet_context, 0, host,
@@ -291,7 +308,7 @@
 			if (auth_debug_mode)
 printf(Kerberos V5: 
 krb5_sock_to_principal failed (%s)\r\n,
-krb5_get_err_text(telnet_context, ret));
+get_krb5_err_text(telnet_context, ret));
 			return;
 		}
 		ret = krb5_rd_req(telnet_context, auth_context, auth,
@@ -303,7 +320,7 @@
 
 			asprintf(errbuf,
 			Read req failed: %s,
-			krb5_get_err_text(telnet_context, ret));
+			get_krb5_err_text(telnet_context, ret));
 			Data(ap, KRB_REJECT, errbuf, -1);
 			if (auth_debug_mode)
 printf(%s\r\n, errbuf);
@@ -321,7 +338,7 @@
 			if (ret) {
 char *errbuf;
 asprintf(errbuf, Bad checksum: %s,
-krb5_get_err_text(telnet_context, ret));
+get_krb5_err_text(telnet_context, ret));
 Data(ap, KRB_REJECT, errbuf, -1);
 if (auth_debug_mode)
 	printf(%s\r\n, errbuf);
@@ -338,7 +355,7 @@
 			if (auth_debug_mode)
 printf(Kerberos V5: 
 krb5_auth_con_getremotesubkey failed (%s)\r\n,
-krb5_get_err_text(telnet_context, ret));
+get_krb5_err_text(telnet_context, ret));
 			return;
 		}
 		if (key_block == NULL) {
@@ -352,7 +369,7 @@
 			if (auth_debug_mode)
 printf(Kerberos V5: 
    krb5_auth_con_getkey failed (%s)\r\n,
-   krb5_get_err_text(telnet_context, ret));
+   get_krb5_err_text(telnet_context, ret));
 			return;
 		}
 		if (key_block == NULL) {
@@ -373,7 +390,7 @@
 if (auth_debug_mode)
 	printf(Kerberos V5: 
 	krb5_mk_rep failed (%s)\r\n,
-	krb5_get_err_text(telnet_context,
+	get_krb5_err_text(telnet_context,
 	ret));
 krb5_free_keyblock(telnet_context, key_block);
 return;
@@ -440,7 +457,7 @@
 			if (ret) {
 if (auth_debug_mode)
 	printf(Kerberos V5: could not get ccache: %s\r\n,
-	krb5_get_err_text(telnet_context,
+	get_krb5_err_text(telnet_context,
 	ret));
 break;
 			}
@@ -449,7 +466,7 @@
 			if (ret) {

CVS commit: src/lib/libtelnet

2011-04-24 Thread Roland Dowdeswell
Module Name:src
Committed By:   elric
Date:   Sun Apr 24 19:00:56 UTC 2011

Modified Files:
src/lib/libtelnet: Makefile

Log Message:
We no longer need to -I/usr/include/krb5.


To generate a diff of this commit:
cvs rdiff -u -r1.31 -r1.32 src/lib/libtelnet/Makefile

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libtelnet/Makefile
diff -u src/lib/libtelnet/Makefile:1.31 src/lib/libtelnet/Makefile:1.32
--- src/lib/libtelnet/Makefile:1.31	Fri Aug 29 00:02:22 2008
+++ src/lib/libtelnet/Makefile	Sun Apr 24 19:00:56 2011
@@ -1,5 +1,5 @@
 #	from: @(#)Makefile	8.2 (Berkeley) 12/15/93
-#	$NetBSD: Makefile,v 1.31 2008/08/29 00:02:22 gmcgarry Exp $
+#	$NetBSD: Makefile,v 1.32 2011/04/24 19:00:56 elric Exp $
 
 USE_FORT?= yes	# network protocol library
 
@@ -22,7 +22,6 @@
 
 SRCS+=	kerberos5.c
 CPPFLAGS+= -DKRB5
-CPPFLAGS+= -I${DESTDIR}/usr/include/krb5
 .endif
 
 .if ${USE_PAM} != no  ${MKCRYPTO} != no