CVS commit: src/lib/libtelnet
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
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
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
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
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
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
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
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
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
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
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
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
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