-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 NotDashEscaped: You need GnuPG to verify this message This is a patch file to create version 2.0.1 from 2.0. Please check the signature of this patch file: zcat somepath/lsh-2.0-2.0.1.diff.gz | gpg --verify Change to directory lsh-2.0 (or however you renamed it) and give this command: zcat somepath/lsh-2.0-2.0.1.diff.gz | patch -p1 It is a good idea to rename your current directory to lsh-2.0.1 now. Prereq: 2.0 diff -urN lsh-2.0/ChangeLog lsh-2.0.1/ChangeLog --- lsh-2.0/ChangeLog Tue Dec 7 23:58:26 2004 +++ lsh-2.0.1/ChangeLog Wed Mar 16 21:09:14 2005 @@ -1,3 +1,46 @@ +2005-03-16 Niels Möller + + * NEWS: Entry for 2.0.1. + + * src/atoms.in: Deleted diffie-hellman-group2-sha1. + * src/lsh.c (main_argp_parser): Deleted support for + diffie-hellman-group2-sha1. + * src/lshd.c (main_argp_parser): Likewise. + +2005-03-14 Niels Möller + + * src/testsuite/lsh-7-test: Set $HOME when invoking lsh, to + prevent it from picking up files in the real $HOME/.lsh directory. + * src/testsuite/rapid7-lsh-test: Likewise. + + * src/unix_interact.c (read_password): Ask for passwords also in + quiet mode. Reported by Georg Sauthoff. + + * src/charset.c (ucs4_is_control): Don't treat '\n' as a dangerous + control character. Reported by Georg Sauthoff. + +2005-02-12 Niels Möller + + * src/keyexchange.c (parse_kexinit): Bugfix (DOS). + +2005-02-01 Niels Möller + + * src/exception.h (HANDLER_CONTEXT): Don't use FUNCTION_NAME. + * src/lsh_string.h (lsh_string_alloc): Likewise. + + * acinclude.m4 (LSH_GCC_FUNCTION_NAME): The __FUNCTION__ feature + of gcc has been obsoleted, so don't bother testing for it. (This + makes trace messages less useful). + +2004-12-22 Niels Möller + + * src/lsh-make-seed.c (get_system): Fixed handling of error from + read, bug #1477. + +2004-12-08 Niels Möller + + * configure.ac: Bumped version to 2.0.1. + 2004-12-07 Niels Möller * Released lsh-2.0. diff -urN lsh-2.0/NEWS lsh-2.0.1/NEWS --- lsh-2.0/NEWS Thu Nov 18 22:53:18 2004 +++ lsh-2.0.1/NEWS Wed Mar 16 21:07:51 2005 @@ -1,3 +1,21 @@ +News for the 2.0.1 release + + Fixed denial of service bug in lshd. + + Fixed a bug in lsh-make-seed, which could make the program go + into an infinite loop on read errors. + + lsh now asks for passwords also in quite (-q) mode, as + described in the manual. + + Control character filtering used to sometimes consider newline + as a dangerous control character. Now newlines should be + displayed normally. + + Removed support for the non-standard alias + "diffie-hellman-group2-sha1". The standardized name is for + this key exchange method is "diffie-hellman-group14-sha1". + News for the 2.0 release Several programs have new default behaviour: diff -urN lsh-2.0/acinclude.m4 lsh-2.0.1/acinclude.m4 --- lsh-2.0/acinclude.m4 Tue Nov 23 22:27:35 2004 +++ lsh-2.0.1/acinclude.m4 Tue Feb 1 20:32:07 2005 @@ -368,33 +368,6 @@ #endif ])]) -AC_DEFUN([LSH_GCC_FUNCTION_NAME], -[# Check for gcc's __FUNCTION__ variable -AH_TEMPLATE([HAVE_GCC_FUNCTION], - [Define if the compiler understands __FUNCTION__]) -AH_BOTTOM( -[#if HAVE_GCC_FUNCTION -# define FUNCTION_NAME __FUNCTION__ -#else -# define FUNCTION_NAME "Unknown" -#endif -]) - -AC_CACHE_CHECK(for __FUNCTION__, - lsh_cv_c_FUNCTION, - [ AC_TRY_COMPILE(, - [ #if __GNUC__ == 3 - # error __FUNCTION__ is broken in gcc-3 - #endif - void foo(void) { char c = __FUNCTION__[0]; } ], - lsh_cv_c_FUNCTION=yes, - lsh_cv_c_FUNCTION=no)]) - -if test "x$lsh_cv_c_FUNCTION" = "xyes"; then - AC_DEFINE(HAVE_GCC_FUNCTION) -fi -]) - # Check for alloca, and include the standard blurb in config.h AC_DEFUN([LSH_FUNC_ALLOCA], [AC_FUNC_ALLOCA @@ -545,7 +518,7 @@ dnl file will include it directly. No need for fuzzy HAVE_STDINT_H things... dnl dnl @, (status: used on new platforms) (see http://ac-archive.sf.net/gstdint/) -dnl @version $Id: acinclude.m4,v 1.27 2004/11/23 21:27:35 nisse Exp $ +dnl @version $Id: acinclude.m4,v 1.28 2005/02/01 19:32:07 nisse Exp $ dnl @author Guido Draheim AC_DEFUN([AX_CREATE_STDINT_H], diff -urN lsh-2.0/config.h.in lsh-2.0.1/config.h.in --- lsh-2.0/config.h.in Mon Dec 6 20:33:58 2004 +++ lsh-2.0.1/config.h.in Sun Feb 13 10:23:50 2005 @@ -62,9 +62,6 @@ /* Define if the compiler understands __attribute__ */ #undef HAVE_GCC_ATTRIBUTE -/* Define if the compiler understands __FUNCTION__ */ -#undef HAVE_GCC_FUNCTION - /* Define to 1 if you have the `getaddrinfo' function. */ #undef HAVE_GETADDRINFO @@ -562,12 +559,5 @@ # define NORETURN # define PRINTF_STYLE(f, a) # define UNUSED -#endif - - -#if HAVE_GCC_FUNCTION -# define FUNCTION_NAME __FUNCTION__ -#else -# define FUNCTION_NAME "Unknown" #endif diff -urN lsh-2.0/configure lsh-2.0.1/configure --- lsh-2.0/configure Mon Dec 6 20:33:49 2004 +++ lsh-2.0.1/configure Tue Feb 1 21:21:37 2005 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.59 for lsh 2.0. +# Generated by GNU Autoconf 2.59 for lsh 2.0.1. # # Report bugs to . # @@ -269,8 +269,8 @@ # Identity of this package. PACKAGE_NAME='lsh' PACKAGE_TARNAME='lsh' -PACKAGE_VERSION='2.0' -PACKAGE_STRING='lsh 2.0' +PACKAGE_VERSION='2.0.1' +PACKAGE_STRING='lsh 2.0.1' PACKAGE_BUGREPORT='bug-lsh@gnu.org' ac_unique_file="src/lsh.c" @@ -796,7 +796,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures lsh 2.0 to adapt to many kinds of systems. +\`configure' configures lsh 2.0.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -862,7 +862,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of lsh 2.0:";; + short | recursive ) echo "Configuration of lsh 2.0.1:";; esac cat <<\_ACEOF @@ -1013,7 +1013,7 @@ test -n "$ac_init_help" && exit 0 if $ac_init_version; then cat <<\_ACEOF -lsh configure 2.0 +lsh configure 2.0.1 generated by GNU Autoconf 2.59 Copyright (C) 2003 Free Software Foundation, Inc. @@ -1027,7 +1027,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by lsh $as_me 2.0, which was +It was created by lsh $as_me 2.0.1, which was generated by GNU Autoconf 2.59. Invocation command line was $ $0 $@ @@ -1666,7 +1666,7 @@ # Define the identity of the package. PACKAGE='lsh' - VERSION='2.0' + VERSION='2.0.1' cat >>confdefs.h <<_ACEOF @@ -19458,76 +19458,7 @@ -# Check for gcc's __FUNCTION__ variable - - - - - -echo "$as_me:$LINENO: checking for __FUNCTION__" >&5 -echo $ECHO_N "checking for __FUNCTION__... $ECHO_C" >&6 -if test "${lsh_cv_c_FUNCTION+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - #if __GNUC__ == 3 - # error __FUNCTION__ is broken in gcc-3 - #endif - void foo(void) { char c = __FUNCTION__[0]; } - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - lsh_cv_c_FUNCTION=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -lsh_cv_c_FUNCTION=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $lsh_cv_c_FUNCTION" >&5 -echo "${ECHO_T}$lsh_cv_c_FUNCTION" >&6 - -if test "x$lsh_cv_c_FUNCTION" = "xyes"; then - cat >>confdefs.h <<\_ACEOF -#define HAVE_GCC_FUNCTION 1 -_ACEOF - -fi - +LSH_GCC_FUNCTION_NAME echo "$as_me:$LINENO: checking for BSD pty names" >&5 echo $ECHO_N "checking for BSD pty names... $ECHO_C" >&6 @@ -20012,7 +19943,7 @@ } >&5 cat >&5 <<_CSEOF -This file was extended by lsh $as_me 2.0, which was +This file was extended by lsh $as_me 2.0.1, which was generated by GNU Autoconf 2.59. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -20075,7 +20006,7 @@ cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ -lsh config.status 2.0 +lsh config.status 2.0.1 configured by $0, generated by GNU Autoconf 2.59, with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" diff -urN lsh-2.0/configure.ac lsh-2.0.1/configure.ac --- lsh-2.0/configure.ac Mon Dec 6 20:33:33 2004 +++ lsh-2.0.1/configure.ac Thu Dec 23 01:00:02 2004 @@ -1,5 +1,5 @@ dnl Process this file with autoconf to produce a configure script. -AC_INIT([lsh], [2.0], [bug-lsh@gnu.org]) +AC_INIT([lsh], [2.0.1], [bug-lsh@gnu.org]) AC_PREREQ(2.52) AC_CONFIG_SRCDIR([src/lsh.c]) # Needed to stop autoconf from looking for files in parent directories. diff -urN lsh-2.0/contrib/lsh.spec lsh-2.0.1/contrib/lsh.spec --- lsh-2.0/contrib/lsh.spec Mon Dec 6 20:33:57 2004 +++ lsh-2.0.1/contrib/lsh.spec Sun Feb 13 10:18:47 2005 @@ -1,6 +1,6 @@ Summary: lsh - secure connections with secsh2 protocol Name: lsh -Version: 2.0 +Version: 2.0.1 Release: 1 Copyright: GPL Group: Application/Internet diff -urN lsh-2.0/src/argp/acinclude.m4 lsh-2.0.1/src/argp/acinclude.m4 --- lsh-2.0/src/argp/acinclude.m4 Tue Nov 23 22:27:35 2004 +++ lsh-2.0.1/src/argp/acinclude.m4 Tue Feb 1 20:32:07 2005 @@ -368,33 +368,6 @@ #endif ])]) -AC_DEFUN([LSH_GCC_FUNCTION_NAME], -[# Check for gcc's __FUNCTION__ variable -AH_TEMPLATE([HAVE_GCC_FUNCTION], - [Define if the compiler understands __FUNCTION__]) -AH_BOTTOM( -[#if HAVE_GCC_FUNCTION -# define FUNCTION_NAME __FUNCTION__ -#else -# define FUNCTION_NAME "Unknown" -#endif -]) - -AC_CACHE_CHECK(for __FUNCTION__, - lsh_cv_c_FUNCTION, - [ AC_TRY_COMPILE(, - [ #if __GNUC__ == 3 - # error __FUNCTION__ is broken in gcc-3 - #endif - void foo(void) { char c = __FUNCTION__[0]; } ], - lsh_cv_c_FUNCTION=yes, - lsh_cv_c_FUNCTION=no)]) - -if test "x$lsh_cv_c_FUNCTION" = "xyes"; then - AC_DEFINE(HAVE_GCC_FUNCTION) -fi -]) - # Check for alloca, and include the standard blurb in config.h AC_DEFUN([LSH_FUNC_ALLOCA], [AC_FUNC_ALLOCA @@ -545,7 +518,7 @@ dnl file will include it directly. No need for fuzzy HAVE_STDINT_H things... dnl dnl @, (status: used on new platforms) (see http://ac-archive.sf.net/gstdint/) -dnl @version $Id: acinclude.m4,v 1.27 2004/11/23 21:27:35 nisse Exp $ +dnl @version $Id: acinclude.m4,v 1.28 2005/02/01 19:32:07 nisse Exp $ dnl @author Guido Draheim AC_DEFUN([AX_CREATE_STDINT_H], diff -urN lsh-2.0/src/atoms.in lsh-2.0.1/src/atoms.in --- lsh-2.0/src/atoms.in Tue Oct 5 21:32:11 2004 +++ lsh-2.0.1/src/atoms.in Mon Mar 14 20:50:22 2005 @@ -40,7 +40,6 @@ diffie-hellman-group1-sha1 REQUIRED diffie-hellman-group14-sha1 (to be REQUIRED?) -diffie-hellman-group2-sha1 (alternative name for the same thing) # Key and certificate types diff -urN lsh-2.0/src/atoms_defines.h lsh-2.0.1/src/atoms_defines.h --- lsh-2.0/src/atoms_defines.h Tue Oct 5 21:34:54 2004 +++ lsh-2.0.1/src/atoms_defines.h Mon Mar 14 20:50:24 2005 @@ -1,5 +1,5 @@ /* Automatically generated by process_atoms, - * Tue Oct 5 21:34:54 CEST 2004 + * Mon Mar 14 20:50:24 CET 2005 * Do not edit! */ #define ATOM_NONE 1 @@ -25,77 +25,76 @@ #define ATOM_HMAC_MD5_96 21 #define ATOM_DIFFIE_HELLMAN_GROUP1_SHA1 22 #define ATOM_DIFFIE_HELLMAN_GROUP14_SHA1 23 -#define ATOM_DIFFIE_HELLMAN_GROUP2_SHA1 24 -#define ATOM_SSH_DSS 25 -#define ATOM_SSH_RSA 26 -#define ATOM_X509V3_SIGN_RSA 27 -#define ATOM_X509V3_SIGN_DSS 28 -#define ATOM_SPKI_SIGN_RSA 29 -#define ATOM_SPKI_SIGN_DSS 30 -#define ATOM_PGP_SIGN_RSA 31 -#define ATOM_PGP_SIGN_DSS 32 -#define ATOM_SPKI 33 -#define ATOM_SSH_USERAUTH 34 -#define ATOM_SSH_CONNECTION 35 -#define ATOM_PUBLICKEY 36 -#define ATOM_PASSWORD 37 -#define ATOM_HOSTBASED 38 -#define ATOM_KEYBOARD_INTERACTIVE 39 -#define ATOM_GSSAPI 40 -#define ATOM_SESSION 41 -#define ATOM_PTY_REQ 42 -#define ATOM_X11_REQ 43 -#define ATOM_X11 44 -#define ATOM_AUTH_AGENT_REQ 45 -#define ATOM_AUTH_AGENT 46 -#define ATOM_ENV 47 -#define ATOM_SHELL 48 -#define ATOM_EXEC 49 -#define ATOM_SUBSYSTEM 50 -#define ATOM_WINDOW_CHANGE 51 -#define ATOM_XON_XOFF 52 -#define ATOM_SIGNAL 53 -#define ATOM_EXIT_STATUS 54 -#define ATOM_EXIT_SIGNAL 55 -#define ATOM_TCPIP_FORWARD 56 -#define ATOM_CANCEL_TCPIP_FORWARD 57 -#define ATOM_FORWARDED_TCPIP 58 -#define ATOM_DIRECT_TCPIP 59 -#define ATOM_ABRT 60 -#define ATOM_ALRM 61 -#define ATOM_FPE 62 -#define ATOM_HUP 63 -#define ATOM_ILL 64 -#define ATOM_INT 65 -#define ATOM_KILL 66 -#define ATOM_PIPE 67 -#define ATOM_QUIT 68 -#define ATOM_SEGV 69 -#define ATOM_TERM 70 -#define ATOM_USR1 71 -#define ATOM_USR2 72 -#define ATOM_SIGNAL_UNKNOWN_LOCAL 73 -#define ATOM_PRIVATE_KEY 74 -#define ATOM_PUBLIC_KEY 75 -#define ATOM_DSA 76 -#define ATOM_P 77 -#define ATOM_Q 78 -#define ATOM_G 79 -#define ATOM_Y 80 -#define ATOM_X 81 -#define ATOM_R 82 -#define ATOM_S 83 -#define ATOM_RSA_PKCS1 84 -#define ATOM_RSA_PKCS1_SHA1 85 -#define ATOM_RSA_PKCS1_MD5 86 -#define ATOM_N 87 -#define ATOM_E 88 -#define ATOM_D 89 -#define ATOM_A 90 -#define ATOM_B 91 -#define ATOM_C 92 -#define ATOM_XPKCS5V2 93 -#define ATOM_SRP_RING1_SHA1_LOCAL 94 -#define ATOM_SRP_VERIFIER 95 -#define ATOM_SSH_RING1 96 -#define NUMBER_OF_ATOMS 97 +#define ATOM_SSH_DSS 24 +#define ATOM_SSH_RSA 25 +#define ATOM_X509V3_SIGN_RSA 26 +#define ATOM_X509V3_SIGN_DSS 27 +#define ATOM_SPKI_SIGN_RSA 28 +#define ATOM_SPKI_SIGN_DSS 29 +#define ATOM_PGP_SIGN_RSA 30 +#define ATOM_PGP_SIGN_DSS 31 +#define ATOM_SPKI 32 +#define ATOM_SSH_USERAUTH 33 +#define ATOM_SSH_CONNECTION 34 +#define ATOM_PUBLICKEY 35 +#define ATOM_PASSWORD 36 +#define ATOM_HOSTBASED 37 +#define ATOM_KEYBOARD_INTERACTIVE 38 +#define ATOM_GSSAPI 39 +#define ATOM_SESSION 40 +#define ATOM_PTY_REQ 41 +#define ATOM_X11_REQ 42 +#define ATOM_X11 43 +#define ATOM_AUTH_AGENT_REQ 44 +#define ATOM_AUTH_AGENT 45 +#define ATOM_ENV 46 +#define ATOM_SHELL 47 +#define ATOM_EXEC 48 +#define ATOM_SUBSYSTEM 49 +#define ATOM_WINDOW_CHANGE 50 +#define ATOM_XON_XOFF 51 +#define ATOM_SIGNAL 52 +#define ATOM_EXIT_STATUS 53 +#define ATOM_EXIT_SIGNAL 54 +#define ATOM_TCPIP_FORWARD 55 +#define ATOM_CANCEL_TCPIP_FORWARD 56 +#define ATOM_FORWARDED_TCPIP 57 +#define ATOM_DIRECT_TCPIP 58 +#define ATOM_ABRT 59 +#define ATOM_ALRM 60 +#define ATOM_FPE 61 +#define ATOM_HUP 62 +#define ATOM_ILL 63 +#define ATOM_INT 64 +#define ATOM_KILL 65 +#define ATOM_PIPE 66 +#define ATOM_QUIT 67 +#define ATOM_SEGV 68 +#define ATOM_TERM 69 +#define ATOM_USR1 70 +#define ATOM_USR2 71 +#define ATOM_SIGNAL_UNKNOWN_LOCAL 72 +#define ATOM_PRIVATE_KEY 73 +#define ATOM_PUBLIC_KEY 74 +#define ATOM_DSA 75 +#define ATOM_P 76 +#define ATOM_Q 77 +#define ATOM_G 78 +#define ATOM_Y 79 +#define ATOM_X 80 +#define ATOM_R 81 +#define ATOM_S 82 +#define ATOM_RSA_PKCS1 83 +#define ATOM_RSA_PKCS1_SHA1 84 +#define ATOM_RSA_PKCS1_MD5 85 +#define ATOM_N 86 +#define ATOM_E 87 +#define ATOM_D 88 +#define ATOM_A 89 +#define ATOM_B 90 +#define ATOM_C 91 +#define ATOM_XPKCS5V2 92 +#define ATOM_SRP_RING1_SHA1_LOCAL 93 +#define ATOM_SRP_VERIFIER 94 +#define ATOM_SSH_RING1 95 +#define NUMBER_OF_ATOMS 96 diff -urN lsh-2.0/src/atoms_gperf.c lsh-2.0.1/src/atoms_gperf.c --- lsh-2.0/src/atoms_gperf.c Tue Oct 5 21:44:52 2004 +++ lsh-2.0.1/src/atoms_gperf.c Mon Mar 14 20:50:27 2005 @@ -1,17 +1,17 @@ /* ANSI-C code produced by gperf version 2.7.2 */ /* Command-line: gperf -LANSI-C -t -c -C -l -k'1,3,6,10,21,$' -N gperf_atom */ /* Automatically generated by process_atoms, - * Tue Oct 5 21:44:51 CEST 2004 + * Mon Mar 14 20:50:26 CET 2005 * Do not edit! */ struct atom_assoc { const char *name; int id; }; -#define TOTAL_KEYWORDS 96 +#define TOTAL_KEYWORDS 95 #define MIN_WORD_LENGTH 1 #define MAX_WORD_LENGTH 29 #define MIN_HASH_VALUE 1 -#define MAX_HASH_VALUE 482 -/* maximum key range = 482, duplicates = 0 */ +#define MAX_HASH_VALUE 383 +/* maximum key range = 383, duplicates = 0 */ #ifdef __GNUC__ __inline @@ -25,32 +25,32 @@ { static const unsigned short asso_values[] = { - 483, 483, 483, 483, 483, 483, 483, 483, 483, 483, - 483, 483, 483, 483, 483, 483, 483, 483, 483, 483, - 483, 483, 483, 483, 483, 483, 483, 483, 483, 483, - 483, 483, 483, 483, 483, 483, 483, 483, 483, 483, - 483, 483, 483, 483, 483, 0, 483, 483, 0, 0, - 35, 20, 483, 15, 20, 483, 50, 0, 483, 483, - 483, 483, 483, 483, 483, 20, 483, 483, 483, 40, - 5, 45, 10, 0, 483, 5, 25, 75, 483, 483, - 0, 30, 0, 0, 0, 25, 0, 483, 5, 483, - 483, 483, 483, 483, 483, 483, 483, 45, 112, 115, - 27, 102, 5, 120, 0, 0, 483, 10, 5, 10, - 70, 10, 55, 5, 60, 0, 95, 15, 20, 0, - 90, 95, 35, 483, 483, 483, 483, 483, 483, 483, - 483, 483, 483, 483, 483, 483, 483, 483, 483, 483, - 483, 483, 483, 483, 483, 483, 483, 483, 483, 483, - 483, 483, 483, 483, 483, 483, 483, 483, 483, 483, - 483, 483, 483, 483, 483, 483, 483, 483, 483, 483, - 483, 483, 483, 483, 483, 483, 483, 483, 483, 483, - 483, 483, 483, 483, 483, 483, 483, 483, 483, 483, - 483, 483, 483, 483, 483, 483, 483, 483, 483, 483, - 483, 483, 483, 483, 483, 483, 483, 483, 483, 483, - 483, 483, 483, 483, 483, 483, 483, 483, 483, 483, - 483, 483, 483, 483, 483, 483, 483, 483, 483, 483, - 483, 483, 483, 483, 483, 483, 483, 483, 483, 483, - 483, 483, 483, 483, 483, 483, 483, 483, 483, 483, - 483, 483, 483, 483, 483, 483 + 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, + 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, + 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, + 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, + 384, 384, 384, 384, 384, 0, 384, 384, 0, 0, + 62, 20, 384, 0, 5, 384, 20, 0, 384, 384, + 384, 384, 384, 384, 384, 17, 384, 384, 384, 30, + 5, 65, 10, 0, 384, 20, 20, 10, 384, 384, + 0, 25, 0, 0, 0, 20, 0, 384, 0, 384, + 384, 384, 384, 384, 384, 384, 384, 40, 52, 111, + 55, 117, 5, 100, 0, 0, 384, 50, 5, 10, + 90, 10, 60, 5, 65, 0, 15, 65, 10, 10, + 30, 75, 35, 384, 384, 384, 384, 384, 384, 384, + 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, + 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, + 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, + 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, + 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, + 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, + 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, + 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, + 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, + 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, + 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, + 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, + 384, 384, 384, 384, 384, 384 }; register int hval = len; @@ -97,40 +97,33 @@ static const unsigned char lengthtable[] = { 0, 1, 0, 3, 0, 0, 0, 7, 0, 9, 0, 1, 0, 3, - 4, 0, 0, 0, 0, 0, 0, 0, 0, 13, 4, 0, 0, 12, - 0, 4, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 4, 0, 0, 0, 0, 4, 0, 0, 7, 3, 9, 1, - 0, 0, 0, 4, 0, 0, 0, 0, 4, 0, 0, 0, 13, 0, - 0, 0, 0, 8, 0, 0, 0, 12, 8, 4, 0, 9, 0, 0, - 0, 0, 11, 7, 3, 0, 0, 1, 0, 3, 0, 0, 0, 0, - 0, 4, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 5, 0, 0, 0, 0, 0, 0, 0, 3, 1, 0, 0, 9, 0, - 6, 0, 11, 14, 0, 9, 0, 0, 0, 0, 6, 0, 0, 0, - 0, 1, 0, 13, 0, 3, 0, 0, 0, 12, 0, 4, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 26, 27, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 8, 0, 0, 0, 0, 0, 0, 13, 1, 0, 0, 0, 15, - 29, 0, 0, 0, 26, 0, 0, 0, 7, 1, 0, 0, 0, 14, + 4, 0, 0, 0, 0, 0, 0, 4, 0, 0, 4, 0, 0, 0, + 0, 4, 0, 4, 0, 3, 4, 0, 0, 0, 0, 0, 0, 0, + 0, 3, 0, 0, 0, 7, 0, 9, 0, 0, 0, 0, 4, 0, + 0, 12, 8, 0, 0, 1, 0, 13, 4, 0, 11, 0, 3, 4, + 0, 9, 0, 0, 0, 0, 0, 12, 0, 0, 0, 1, 0, 0, + 0, 0, 4, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 13, 9, 1, 6, 7, 0, 0, 0, 1, + 0, 0, 0, 0, 6, 0, 0, 0, 8, 1, 0, 0, 0, 0, + 0, 5, 0, 14, 0, 1, 0, 8, 0, 10, 0, 0, 3, 0, + 3, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 1, 0, 13, + 0, 14, 0, 0, 0, 7, 0, 0, 0, 0, 9, 15, 0, 0, + 13, 14, 14, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 11, 0, 0, + 0, 0, 0, 11, 0, 1, 0, 0, 0, 15, 0, 0, 26, 27, + 15, 0, 14, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 1, + 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1, 0, 12, 0, 12, 13, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1, 7, 0, 0, 15, 4, 0, 0, 0, 0, 0, - 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 0, 0, 0, 14, 0, 0, 20, 0, 0, 0, 29, 0, 0, 14, - 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 15, 0, 20, 0, - 14, 0, 0, 0, 0, 14, 0, 0, 0, 0, 12, 10, 0, 0, - 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 8, 0, 0, 0, - 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 10, 9, 0, 11, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 10 + 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, + 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, 0, + 13, 0, 0, 0, 0, 14, 0, 0, 7, 0, 0, 0, 10, 0, + 0, 0, 12, 0, 0, 0, 14, 4, 20, 0, 0, 0, 0, 9, + 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, + 0, 0, 0, 0, 0, 20, 14, 0, 0, 0, 0, 11, 0, 4, + 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 10 }; static const struct atom_assoc wordlist[] = { @@ -146,180 +139,170 @@ {"q", ATOM_Q}, {"", 0}, {"HUP", ATOM_HUP}, - {"spki", ATOM_SPKI}, - {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, - {"spki-sign-dss", ATOM_SPKI_SIGN_DSS}, + {"TERM", ATOM_TERM}, + {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"ABRT", ATOM_ABRT}, {"", 0}, {"", 0}, - {"ssh-userauth", ATOM_SSH_USERAUTH}, - {"", 0}, {"USR1", ATOM_USR1}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"QUIT", ATOM_QUIT}, - {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, + {"", 0}, + {"ALRM", ATOM_ALRM}, + {"", 0}, + {"x11", ATOM_X11}, {"PIPE", ATOM_PIPE}, - {"", 0}, {"", 0}, {"", 0}, {"", 0}, - {"SEGV", ATOM_SEGV}, - {"", 0}, {"", 0}, - {"ssh-rsa", ATOM_SSH_RSA}, + {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"ILL", ATOM_ILL}, - {"hmac-sha1", ATOM_HMAC_SHA1}, - {"d", ATOM_D}, - {"", 0}, {"", 0}, {"", 0}, - {"KILL", ATOM_KILL}, - {"", 0}, {"", 0}, {"", 0}, {"", 0}, - {"USR2", ATOM_USR2}, {"", 0}, {"", 0}, {"", 0}, - {"spki-sign-rsa", ATOM_SPKI_SIGN_RSA}, + {"ssh-rsa", ATOM_SSH_RSA}, + {"", 0}, + {"hmac-sha1", ATOM_HMAC_SHA1}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, - {"Xpkcs5v2", ATOM_XPKCS5V2}, - {"", 0}, {"", 0}, {"", 0}, + {"spki", ATOM_SPKI}, + {"", 0}, {"", 0}, {"hmac-sha1-96", ATOM_HMAC_SHA1_96}, {"hmac-md5", ATOM_HMAC_MD5}, - {"TERM", ATOM_TERM}, + {"", 0}, {"", 0}, + {"x", ATOM_X}, + {"", 0}, + {"spki-sign-dss", ATOM_SPKI_SIGN_DSS}, + {"KILL", ATOM_KILL}, {"", 0}, - {"hostbased", ATOM_HOSTBASED}, - {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"hmac-md5-96", ATOM_HMAC_MD5_96}, - {"session", ATOM_SESSION}, + {"", 0}, {"FPE", ATOM_FPE}, - {"", 0}, {"", 0}, - {"a", ATOM_A}, + {"SEGV", ATOM_SEGV}, {"", 0}, - {"x11", ATOM_X11}, + {"subsystem", ATOM_SUBSYSTEM}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, - {"ALRM", ATOM_ALRM}, - {"password", ATOM_PASSWORD}, + {"ssh-userauth", ATOM_SSH_USERAUTH}, + {"", 0}, {"", 0}, {"", 0}, + {"a", ATOM_A}, + {"", 0}, {"", 0}, {"", 0}, {"", 0}, + {"USR2", ATOM_USR2}, + {"", 0}, {"", 0}, {"", 0}, {"", 0}, + {"zlib", ATOM_ZLIB}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, - {"", 0}, + {"", 0}, {"", 0}, + {"spki-sign-rsa", ATOM_SPKI_SIGN_RSA}, + {"hostbased", ATOM_HOSTBASED}, + {"b", ATOM_B}, + {"gssapi", ATOM_GSSAPI}, + {"session", ATOM_SESSION}, + {"", 0}, {"", 0}, {"", 0}, + {"d", ATOM_D}, + {"", 0}, {"", 0}, {"", 0}, {"", 0}, + {"signal", ATOM_SIGNAL}, + {"", 0}, {"", 0}, {"", 0}, + {"Xpkcs5v2", ATOM_XPKCS5V2}, {"p", ATOM_P}, + {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"shell", ATOM_SHELL}, - {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, - {"dsa", ATOM_DSA}, - {"r", ATOM_R}, - {"", 0}, {"", 0}, - {"rsa-pkcs1", ATOM_RSA_PKCS1}, {"", 0}, - {"gssapi", ATOM_GSSAPI}, + {"auth-agent-req", ATOM_AUTH_AGENT_REQ}, {"", 0}, - {"exit-status", ATOM_EXIT_STATUS}, - {"rsa-pkcs1-sha1", ATOM_RSA_PKCS1_SHA1}, + {"r", ATOM_R}, {"", 0}, - {"subsystem", ATOM_SUBSYSTEM}, - {"", 0}, {"", 0}, {"", 0}, {"", 0}, - {"signal", ATOM_SIGNAL}, - {"", 0}, {"", 0}, {"", 0}, {"", 0}, - {"n", ATOM_N}, + {"password", ATOM_PASSWORD}, {"", 0}, - {"rsa-pkcs1-md5", ATOM_RSA_PKCS1_MD5}, + {"auth-agent", ATOM_AUTH_AGENT}, + {"", 0}, {"", 0}, + {"dsa", ATOM_DSA}, {"", 0}, {"env", ATOM_ENV}, - {"", 0}, {"", 0}, {"", 0}, - {"pgp-sign-dss", ATOM_PGP_SIGN_DSS}, + {"", 0}, {"", 0}, + {"xon-xoff", ATOM_XON_XOFF}, + {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, + {"y", ATOM_Y}, {"", 0}, - {"zlib", ATOM_ZLIB}, - {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, + {"tcpip-forward", ATOM_TCPIP_FORWARD}, + {"", 0}, + {"twofish256-cbc", ATOM_TWOFISH256_CBC}, + {"", 0}, {"", 0}, {"", 0}, + {"x11-req", ATOM_X11_REQ}, + {"", 0}, {"", 0}, {"", 0}, {"", 0}, + {"rsa-pkcs1", ATOM_RSA_PKCS1}, + {"x509v3-sign-dss", ATOM_X509V3_SIGN_DSS}, + {"", 0}, {"", 0}, + {"rsa-pkcs1-md5", ATOM_RSA_PKCS1_MD5}, + {"rsa-pkcs1-sha1", ATOM_RSA_PKCS1_SHA1}, + {"twofish128-cbc", ATOM_TWOFISH128_CBC}, {"", 0}, {"", 0}, {"exit-signal", ATOM_EXIT_SIGNAL}, + {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, + {"n", ATOM_N}, + {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, + {"pgp-sign-dss", ATOM_PGP_SIGN_DSS}, + {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, + {"exit-status", ATOM_EXIT_STATUS}, + {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, + {"twofish-cbc", ATOM_TWOFISH_CBC}, {"", 0}, + {"g", ATOM_G}, + {"", 0}, {"", 0}, {"", 0}, + {"x509v3-sign-rsa", ATOM_X509V3_SIGN_RSA}, + {"", 0}, {"", 0}, {"diffie-hellman-group1-sha1", ATOM_DIFFIE_HELLMAN_GROUP1_SHA1}, {"diffie-hellman-group14-sha1", ATOM_DIFFIE_HELLMAN_GROUP14_SHA1}, - {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, - {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, - {"x", ATOM_X}, + {"forwarded-tcpip", ATOM_FORWARDED_TCPIP}, {"", 0}, - {"xon-xoff", ATOM_XON_XOFF}, - {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, - {"tcpip-forward", ATOM_TCPIP_FORWARD}, - {"y", ATOM_Y}, + {"twofish192-cbc", ATOM_TWOFISH192_CBC}, {"", 0}, {"", 0}, {"", 0}, - {"forwarded-tcpip", ATOM_FORWARDED_TCPIP}, {"srp-ring1-sha1@lysator.liu.se", ATOM_SRP_RING1_SHA1_LOCAL}, - {"", 0}, {"", 0}, {"", 0}, - {"diffie-hellman-group2-sha1", ATOM_DIFFIE_HELLMAN_GROUP2_SHA1}, - {"", 0}, {"", 0}, {"", 0}, - {"x11-req", ATOM_X11_REQ}, - {"e", ATOM_E}, - {"", 0}, {"", 0}, {"", 0}, + {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, + {"c", ATOM_C}, + {"", 0}, {"ssh-connection", ATOM_SSH_CONNECTION}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, - {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, - {"b", ATOM_B}, + {"e", ATOM_E}, {"", 0}, {"pgp-sign-rsa", ATOM_PGP_SIGN_RSA}, - {"", 0}, - {"srp-verifier", ATOM_SRP_VERIFIER}, - {"window-change", ATOM_WINDOW_CHANGE}, - {"c", ATOM_C}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, - {"g", ATOM_G}, - {"arcfour", ATOM_ARCFOUR}, - {"", 0}, {"", 0}, - {"x509v3-sign-dss", ATOM_X509V3_SIGN_DSS}, - {"none", ATOM_NONE}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, - {"twofish256-cbc", ATOM_TWOFISH256_CBC}, + {"srp-verifier", ATOM_SRP_VERIFIER}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"pty-req", ATOM_PTY_REQ}, + {"", 0}, {"", 0}, + {"direct-tcpip", ATOM_DIRECT_TCPIP}, + {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, + {"aes256-cbc", ATOM_AES256_CBC}, + {"private-key", ATOM_PRIVATE_KEY}, + {"", 0}, + {"window-change", ATOM_WINDOW_CHANGE}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, - {"twofish192-cbc", ATOM_TWOFISH192_CBC}, + {"serpent256-cbc", ATOM_SERPENT256_CBC}, {"", 0}, {"", 0}, + {"arcfour", ATOM_ARCFOUR}, + {"", 0}, {"", 0}, {"", 0}, + {"aes128-cbc", ATOM_AES128_CBC}, + {"", 0}, {"", 0}, {"", 0}, + {"blowfish-cbc", ATOM_BLOWFISH_CBC}, + {"", 0}, {"", 0}, {"", 0}, + {"serpent128-cbc", ATOM_SERPENT128_CBC}, + {"none", ATOM_NONE}, {"keyboard-interactive", ATOM_KEYBOARD_INTERACTIVE}, + {"", 0}, {"", 0}, {"", 0}, {"", 0}, + {"publickey", ATOM_PUBLICKEY}, {"", 0}, {"", 0}, {"", 0}, {"signal-unknown@lysator.liu.se", ATOM_SIGNAL_UNKNOWN_LOCAL}, - {"", 0}, {"", 0}, - {"serpent256-cbc", ATOM_SERPENT256_CBC}, + {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, + {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, - {"twofish128-cbc", ATOM_TWOFISH128_CBC}, - {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, - {"x509v3-sign-rsa", ATOM_X509V3_SIGN_RSA}, - {"", 0}, + {"aes192-cbc", ATOM_AES192_CBC}, + {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"cancel-tcpip-forward", ATOM_CANCEL_TCPIP_FORWARD}, - {"", 0}, {"serpent192-cbc", ATOM_SERPENT192_CBC}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, - {"auth-agent-req", ATOM_AUTH_AGENT_REQ}, - {"", 0}, {"", 0}, {"", 0}, {"", 0}, - {"direct-tcpip", ATOM_DIRECT_TCPIP}, - {"aes256-cbc", ATOM_AES256_CBC}, - {"", 0}, {"", 0}, {"", 0}, - {"serpent128-cbc", ATOM_SERPENT128_CBC}, - {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, + {"cast128-cbc", ATOM_CAST128_CBC}, {"", 0}, - {"aes192-cbc", ATOM_AES192_CBC}, - {"", 0}, {"", 0}, {"exec", ATOM_EXEC}, - {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, - {"", 0}, {"", 0}, - {"aes128-cbc", ATOM_AES128_CBC}, - {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, - {"twofish-cbc", ATOM_TWOFISH_CBC}, - {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, - {"private-key", ATOM_PRIVATE_KEY}, - {"", 0}, - {"3des-cbc", ATOM_3DES_CBC}, - {"", 0}, {"", 0}, {"", 0}, - {"blowfish-cbc", ATOM_BLOWFISH_CBC}, - {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, - {"", 0}, {"serpent-cbc@lysator.liu.se", ATOM_SERPENT_CBC_LOCAL}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, - {"auth-agent", ATOM_AUTH_AGENT}, - {"publickey", ATOM_PUBLICKEY}, - {"", 0}, - {"cast128-cbc", ATOM_CAST128_CBC}, - {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, - {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, - {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, - {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, - {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, - {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, - {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, - {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, - {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, + {"", 0}, {"", 0}, + {"3des-cbc", ATOM_3DES_CBC}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, - {"", 0}, {"", 0}, {"", 0}, + {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"public-key", ATOM_PUBLIC_KEY} }; diff -urN lsh-2.0/src/atoms_table.c lsh-2.0.1/src/atoms_table.c --- lsh-2.0/src/atoms_table.c Tue Oct 5 21:34:57 2004 +++ lsh-2.0.1/src/atoms_table.c Mon Mar 14 20:50:27 2005 @@ -1,5 +1,5 @@ /* Automatically generated by process_atoms, - * Tue Oct 5 21:34:57 CEST 2004 + * Mon Mar 14 20:50:27 CET 2005 * Do not edit! */ { { "UNKNOWN", 7 }, {"none", 4}, @@ -25,7 +25,6 @@ {"hmac-md5-96", 11}, {"diffie-hellman-group1-sha1", 26}, {"diffie-hellman-group14-sha1", 27}, - {"diffie-hellman-group2-sha1", 26}, {"ssh-dss", 7}, {"ssh-rsa", 7}, {"x509v3-sign-rsa", 15}, diff -urN lsh-2.0/src/charset.c lsh-2.0.1/src/charset.c --- lsh-2.0/src/charset.c Mon Oct 4 21:18:11 2004 +++ lsh-2.0.1/src/charset.c Mon Mar 14 19:56:44 2005 @@ -157,7 +157,8 @@ static int ucs4_is_control(uint32_t c) { - return (c < 0x20) || (c >= 0x7f && c < 0xa0); + /* Allow newline characters */ + return (c < 0x20 && c != '\n') || (c >= 0x7f && c < 0xa0); } struct lsh_string * diff -urN lsh-2.0/src/exception.h lsh-2.0.1/src/exception.h --- lsh-2.0/src/exception.h Thu Dec 11 09:37:00 2003 +++ lsh-2.0.1/src/exception.h Mon Jan 31 21:34:47 2005 @@ -67,10 +67,10 @@ * ignore_exception_handler, and perhaps some others with NULL parent. * */ #define STATIC_EXCEPTION_HANDLER(r, p) \ -{ STATIC_HEADER, (r), (p), __FILE__ ":" STRING_LINE ": Static" } +{ STATIC_HEADER, (r), (p), __FILE__ ":" STRING_LINE } -#define HANDLER_CONTEXT (__FILE__ ":" STRING_LINE ": " FUNCTION_NAME) +#define HANDLER_CONTEXT (__FILE__ ":" STRING_LINE) /* Exception types. */ diff -urN lsh-2.0/src/keyexchange.c lsh-2.0.1/src/keyexchange.c --- lsh-2.0/src/keyexchange.c Thu Jun 10 21:55:39 2004 +++ lsh-2.0.1/src/keyexchange.c Sat Feb 12 18:49:46 2005 @@ -117,7 +117,7 @@ /* Bad format */ int j; for (j = 0; jkex_algorithms - = alloc_int_list(3 * self->with_dh_keyexchange + self->with_srp_keyexchange); + = alloc_int_list(2 * self->with_dh_keyexchange + self->with_srp_keyexchange); #if WITH_SRP if (self->with_srp_keyexchange) @@ -783,20 +783,12 @@ #endif /* WITH_SRP */ if (self->with_dh_keyexchange) { - struct keyexchange_algorithm *dh2 - = make_dh_client(make_dh14(self->super.random)); - LIST(self->kex_algorithms)[i++] = ATOM_DIFFIE_HELLMAN_GROUP14_SHA1; ALIST_SET(self->algorithms->algorithms, ATOM_DIFFIE_HELLMAN_GROUP14_SHA1, - &dh2->super); + &make_dh_client(make_dh14(self->super.random)) + ->super); - /* Alternative name for the same thing */ - LIST(self->kex_algorithms)[i++] = ATOM_DIFFIE_HELLMAN_GROUP2_SHA1; - ALIST_SET(self->algorithms->algorithms, - ATOM_DIFFIE_HELLMAN_GROUP2_SHA1, - &dh2->super); - LIST(self->kex_algorithms)[i++] = ATOM_DIFFIE_HELLMAN_GROUP1_SHA1; ALIST_SET(self->algorithms->algorithms, ATOM_DIFFIE_HELLMAN_GROUP1_SHA1, diff -urN lsh-2.0/src/lsh_string.h lsh-2.0.1/src/lsh_string.h --- lsh-2.0/src/lsh_string.h Thu Feb 26 21:43:12 2004 +++ lsh-2.0.1/src/lsh_string.h Mon Jan 31 21:34:47 2005 @@ -54,7 +54,7 @@ lsh_string_alloc_clue(uint32_t size, const char *clue); #define lsh_string_alloc(size) \ - (lsh_string_alloc_clue((size), (__FILE__ ":" STRING_LINE ": " FUNCTION_NAME))) + (lsh_string_alloc_clue((size), (__FILE__ ":" STRING_LINE))) void lsh_string_final_check(void); diff -urN lsh-2.0/src/lshd.c lsh-2.0.1/src/lshd.c --- lsh-2.0/src/lshd.c Mon Nov 22 21:54:16 2004 +++ lsh-2.0.1/src/lshd.c Mon Mar 14 20:50:21 2005 @@ -557,23 +557,15 @@ { int i = 0; self->kex_algorithms - = alloc_int_list(3 * self->with_dh_keyexchange + self->with_srp_keyexchange); + = alloc_int_list(2 * self->with_dh_keyexchange + self->with_srp_keyexchange); if (self->with_dh_keyexchange) { - struct keyexchange_algorithm *dh2 - = make_dh_server(make_dh14(self->random)); - LIST(self->kex_algorithms)[i++] = ATOM_DIFFIE_HELLMAN_GROUP14_SHA1; ALIST_SET(self->super.algorithms, ATOM_DIFFIE_HELLMAN_GROUP14_SHA1, - &dh2->super); - - /* Alternative name for the same thing */ - LIST(self->kex_algorithms)[i++] = ATOM_DIFFIE_HELLMAN_GROUP2_SHA1; - ALIST_SET(self->super.algorithms, - ATOM_DIFFIE_HELLMAN_GROUP2_SHA1, - &dh2->super); + &make_dh_server(make_dh14(self->random)) + ->super); LIST(self->kex_algorithms)[i++] = ATOM_DIFFIE_HELLMAN_GROUP1_SHA1; ALIST_SET(self->super.algorithms, diff -urN lsh-2.0/src/nettle/ChangeLog lsh-2.0.1/src/nettle/ChangeLog --- lsh-2.0/src/nettle/ChangeLog Tue Dec 7 23:58:44 2004 +++ lsh-2.0.1/src/nettle/ChangeLog Wed Mar 16 21:12:44 2005 @@ -1,3 +1,9 @@ +2005-01-03 Niels Möller + + * examples/io.h: Include RSA declarations only when public key + algorithms are enabled. Problem reported by Meilof Veeningen + . + 2004-12-07 Niels Möller * Makefile.in: Install directories, using $(INSTALL) -d, only if diff -urN lsh-2.0/src/nettle/aclocal.m4 lsh-2.0.1/src/nettle/aclocal.m4 --- lsh-2.0/src/nettle/aclocal.m4 Tue Dec 7 23:58:44 2004 +++ lsh-2.0.1/src/nettle/aclocal.m4 Wed Mar 16 21:12:44 2005 @@ -368,33 +368,6 @@ #endif ])]) -AC_DEFUN([LSH_GCC_FUNCTION_NAME], -[# Check for gcc's __FUNCTION__ variable -AH_TEMPLATE([HAVE_GCC_FUNCTION], - [Define if the compiler understands __FUNCTION__]) -AH_BOTTOM( -[#if HAVE_GCC_FUNCTION -# define FUNCTION_NAME __FUNCTION__ -#else -# define FUNCTION_NAME "Unknown" -#endif -]) - -AC_CACHE_CHECK(for __FUNCTION__, - lsh_cv_c_FUNCTION, - [ AC_TRY_COMPILE(, - [ #if __GNUC__ == 3 - # error __FUNCTION__ is broken in gcc-3 - #endif - void foo(void) { char c = __FUNCTION__[0]; } ], - lsh_cv_c_FUNCTION=yes, - lsh_cv_c_FUNCTION=no)]) - -if test "x$lsh_cv_c_FUNCTION" = "xyes"; then - AC_DEFINE(HAVE_GCC_FUNCTION) -fi -]) - # Check for alloca, and include the standard blurb in config.h AC_DEFUN([LSH_FUNC_ALLOCA], [AC_FUNC_ALLOCA @@ -545,7 +518,7 @@ dnl file will include it directly. No need for fuzzy HAVE_STDINT_H things... dnl dnl @, (status: used on new platforms) (see http://ac-archive.sf.net/gstdint/) -dnl @version $Id: acinclude.m4,v 1.27 2004/11/23 21:27:35 nisse Exp $ +dnl @version $Id: acinclude.m4,v 1.28 2005/02/01 19:32:07 nisse Exp $ dnl @author Guido Draheim AC_DEFUN([AX_CREATE_STDINT_H], diff -urN lsh-2.0/src/nettle/examples/io.h lsh-2.0.1/src/nettle/examples/io.h --- lsh-2.0/src/nettle/examples/io.h Tue Dec 7 23:58:45 2004 +++ lsh-2.0.1/src/nettle/examples/io.h Wed Mar 16 21:12:45 2005 @@ -27,7 +27,9 @@ #define NETTLE_EXAMPLES_IO_H_INCLUDED #include "nettle-meta.h" -#include "rsa.h" +#if WITH_PUBLIC_KEY +# include "rsa.h" +#endif #include "yarrow.h" #include @@ -61,6 +63,7 @@ int hash_file(const struct nettle_hash *hash, void *ctx, FILE *f); +#if WITH_PUBLIC_KEY struct rsa_public_key; struct rsa_private_key; @@ -68,5 +71,6 @@ read_rsa_key(const char *name, struct rsa_public_key *pub, struct rsa_private_key *priv); +#endif /* WITH_PUBLIC_KEY */ #endif /* NETTLE_EXAMPLES_IO_H_INCLUDED */ diff -urN lsh-2.0/src/sftp/acinclude.m4 lsh-2.0.1/src/sftp/acinclude.m4 --- lsh-2.0/src/sftp/acinclude.m4 Tue Nov 23 22:27:35 2004 +++ lsh-2.0.1/src/sftp/acinclude.m4 Tue Feb 1 20:32:07 2005 @@ -368,33 +368,6 @@ #endif ])]) -AC_DEFUN([LSH_GCC_FUNCTION_NAME], -[# Check for gcc's __FUNCTION__ variable -AH_TEMPLATE([HAVE_GCC_FUNCTION], - [Define if the compiler understands __FUNCTION__]) -AH_BOTTOM( -[#if HAVE_GCC_FUNCTION -# define FUNCTION_NAME __FUNCTION__ -#else -# define FUNCTION_NAME "Unknown" -#endif -]) - -AC_CACHE_CHECK(for __FUNCTION__, - lsh_cv_c_FUNCTION, - [ AC_TRY_COMPILE(, - [ #if __GNUC__ == 3 - # error __FUNCTION__ is broken in gcc-3 - #endif - void foo(void) { char c = __FUNCTION__[0]; } ], - lsh_cv_c_FUNCTION=yes, - lsh_cv_c_FUNCTION=no)]) - -if test "x$lsh_cv_c_FUNCTION" = "xyes"; then - AC_DEFINE(HAVE_GCC_FUNCTION) -fi -]) - # Check for alloca, and include the standard blurb in config.h AC_DEFUN([LSH_FUNC_ALLOCA], [AC_FUNC_ALLOCA @@ -545,7 +518,7 @@ dnl file will include it directly. No need for fuzzy HAVE_STDINT_H things... dnl dnl @, (status: used on new platforms) (see http://ac-archive.sf.net/gstdint/) -dnl @version $Id: acinclude.m4,v 1.27 2004/11/23 21:27:35 nisse Exp $ +dnl @version $Id: acinclude.m4,v 1.28 2005/02/01 19:32:07 nisse Exp $ dnl @author Guido Draheim AC_DEFUN([AX_CREATE_STDINT_H], diff -urN lsh-2.0/src/spki/acinclude.m4 lsh-2.0.1/src/spki/acinclude.m4 --- lsh-2.0/src/spki/acinclude.m4 Tue Nov 23 22:27:35 2004 +++ lsh-2.0.1/src/spki/acinclude.m4 Tue Feb 1 20:32:07 2005 @@ -368,33 +368,6 @@ #endif ])]) -AC_DEFUN([LSH_GCC_FUNCTION_NAME], -[# Check for gcc's __FUNCTION__ variable -AH_TEMPLATE([HAVE_GCC_FUNCTION], - [Define if the compiler understands __FUNCTION__]) -AH_BOTTOM( -[#if HAVE_GCC_FUNCTION -# define FUNCTION_NAME __FUNCTION__ -#else -# define FUNCTION_NAME "Unknown" -#endif -]) - -AC_CACHE_CHECK(for __FUNCTION__, - lsh_cv_c_FUNCTION, - [ AC_TRY_COMPILE(, - [ #if __GNUC__ == 3 - # error __FUNCTION__ is broken in gcc-3 - #endif - void foo(void) { char c = __FUNCTION__[0]; } ], - lsh_cv_c_FUNCTION=yes, - lsh_cv_c_FUNCTION=no)]) - -if test "x$lsh_cv_c_FUNCTION" = "xyes"; then - AC_DEFINE(HAVE_GCC_FUNCTION) -fi -]) - # Check for alloca, and include the standard blurb in config.h AC_DEFUN([LSH_FUNC_ALLOCA], [AC_FUNC_ALLOCA @@ -545,7 +518,7 @@ dnl file will include it directly. No need for fuzzy HAVE_STDINT_H things... dnl dnl @, (status: used on new platforms) (see http://ac-archive.sf.net/gstdint/) -dnl @version $Id: acinclude.m4,v 1.27 2004/11/23 21:27:35 nisse Exp $ +dnl @version $Id: acinclude.m4,v 1.28 2005/02/01 19:32:07 nisse Exp $ dnl @author Guido Draheim AC_DEFUN([AX_CREATE_STDINT_H], diff -urN lsh-2.0/src/testsuite/lsh-7-test lsh-2.0.1/src/testsuite/lsh-7-test --- lsh-2.0/src/testsuite/lsh-7-test Thu Dec 2 19:12:44 2004 +++ lsh-2.0.1/src/testsuite/lsh-7-test Mon Mar 14 20:31:26 2005 @@ -10,7 +10,7 @@ . $srcdir/functions.sh spawn_lshd && \ - if ../lsh -nt --host-db=/dev/null $LSH_FLAGS -p $PORT localhost true ; then + if HOME="$TEST_HOME" ../lsh -nt --host-db=/dev/null $LSH_FLAGS -p $PORT localhost true ; then test_fail else test_success diff -urN lsh-2.0/src/testsuite/rapid7-lsh-test lsh-2.0.1/src/testsuite/rapid7-lsh-test --- lsh-2.0/src/testsuite/rapid7-lsh-test Thu Feb 27 22:51:07 2003 +++ lsh-2.0.1/src/testsuite/rapid7-lsh-test Mon Mar 14 20:31:23 2005 @@ -23,7 +23,7 @@ ln -s $f current || die "Creating symlink current -> $f failed" set +e - ../lsh -q --sloppy --capture-to=/dev/null -p $PORT localhost exit 0 + HOME="$TEST_HOME" ../lsh -q --sloppy --capture-to=/dev/null -p $PORT localhost exit 0 status="$?" set -e # Should be either 1 or 17 (not sure exactly when diff -urN lsh-2.0/src/unix_interact.c lsh-2.0.1/src/unix_interact.c --- lsh-2.0/src/unix_interact.c Mon Oct 18 23:00:26 2004 +++ lsh-2.0.1/src/unix_interact.c Mon Mar 14 19:47:13 2005 @@ -215,7 +215,7 @@ char *password; const char *cprompt; - if (!IS_TTY(self) || quiet_flag) + if (!IS_TTY(self)) return NULL; cprompt = lsh_get_cstring(prompt); -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (GNU/Linux) iD8DBQFCOJlMkVrMRaj0wv0RAonFAKCZqoDjgGTL+uvvEdfQEPuL1WzQvwCeNopf CzCyDqtrLx4pZDo227Q8kTg= =lkvR -----END PGP SIGNATURE-----