diff --git a/.gitignore b/.gitignore index 677f7bc..30b5495 100644 --- a/.gitignore +++ b/.gitignore @@ -248,4 +248,10 @@ regress/t6.out1 regress/t8.out.pub regress/t9.out.pub regress/t6.out1 -regress/t10.out.pub \ No newline at end of file +regress/t10.out.pub +regress/t10.out.pub +regress/t6.out1 +Makefile +openbsd-compat/Makefile +openbsd-compat/regress/Makefile +contrib/win32/win32compat/Makefile \ No newline at end of file diff --git a/compress.c b/compress.c index 24778e5..7f05f3e 100644 --- a/compress.c +++ b/compress.c @@ -22,7 +22,9 @@ #include "buffer.h" #include "compress.h" +#ifndef WIN32_ZLIB_NO #include +#endif z_stream incoming_stream; z_stream outgoing_stream; diff --git a/config.h.tail b/config.h.tail index ad178e6..8b6d40c 100644 --- a/config.h.tail +++ b/config.h.tail @@ -98,5 +98,7 @@ #define HAVE_DECL_NFDBITS 0 #define HAVE_DECL_HOWMANY 0 +#define WIN32_ZLIB_NO 1 + //#define HAVE_ARC4RANDOM_UNIFORM 1 diff --git a/configure.ac b/configure.ac index c59d985..45e4678 100644 --- a/configure.ac +++ b/configure.ac @@ -160,42 +160,42 @@ if test "$GCC" = "yes" || test "$GCC" = "egcs"; then # -fstack-protector-all doesn't always work for some GCC versions # and/or platforms, so we test if we can. If it's not supported # on a given platform gcc will emit a warning so we use -Werror. - if test "x$use_stack_protector" = "x1"; then - for t in -fstack-protector-all -fstack-protector; do - AC_MSG_CHECKING([if $CC supports $t]) - saved_CFLAGS="$CFLAGS" - saved_LDFLAGS="$LDFLAGS" - CFLAGS="$CFLAGS $t -Werror" - LDFLAGS="$LDFLAGS $t -Werror" - AC_LINK_IFELSE( - [AC_LANG_PROGRAM([[ #include ]], - [[ - char x[256]; - snprintf(x, sizeof(x), "XXX"); - ]])], - [ AC_MSG_RESULT([yes]) - CFLAGS="$saved_CFLAGS $t" - LDFLAGS="$saved_LDFLAGS $t" - AC_MSG_CHECKING([if $t works]) - AC_RUN_IFELSE( - [AC_LANG_PROGRAM([[ #include ]], - [[ - char x[256]; - snprintf(x, sizeof(x), "XXX"); - ]])], - [ AC_MSG_RESULT([yes]) - break ], - [ AC_MSG_RESULT([no]) ], - [ AC_MSG_WARN([cross compiling: cannot test]) - break ] - ) - ], - [ AC_MSG_RESULT([no]) ] - ) - CFLAGS="$saved_CFLAGS" - LDFLAGS="$saved_LDFLAGS" - done - fi +# if test "x$use_stack_protector" = "x1"; then +# for t in -fstack-protector-all -fstack-protector; do +# AC_MSG_CHECKING([if $CC supports $t]) +# saved_CFLAGS="$CFLAGS" +# saved_LDFLAGS="$LDFLAGS" +# CFLAGS="$CFLAGS $t -Werror" +# LDFLAGS="$LDFLAGS $t -Werror" +# AC_LINK_IFELSE( +# [AC_LANG_PROGRAM([[ #include ]], +# [[ +# char x[256]; +# snprintf(x, sizeof(x), "XXX"); +# ]])], +# [ AC_MSG_RESULT([yes]) +# CFLAGS="$saved_CFLAGS $t" +# LDFLAGS="$saved_LDFLAGS $t" +# AC_MSG_CHECKING([if $t works]) +# AC_RUN_IFELSE( +# [AC_LANG_PROGRAM([[ #include ]], +# [[ +# char x[256]; +# snprintf(x, sizeof(x), "XXX"); +# ]])], +# [ AC_MSG_RESULT([yes]) +# break ], +# [ AC_MSG_RESULT([no]) ], +# [ AC_MSG_WARN([cross compiling: cannot test]) +# break ] +# ) +# ], +# [ AC_MSG_RESULT([no]) ] +# ) +# CFLAGS="$saved_CFLAGS" +# LDFLAGS="$saved_LDFLAGS" +# done +# fi if test -z "$have_llong_max"; then # retry LLONG_MAX with -std=gnu99, needed on some Linuxes diff --git a/monitor.c b/monitor.c index 9fa22c4..152f642 100644 --- a/monitor.c +++ b/monitor.c @@ -88,8 +88,10 @@ #include "zlib.h" #define TARGET_OS_MAC 1 #else +#ifndef WIN32_ZLIB_NO #include "zlib.h" #endif +#endif #include "packet.h" #include "auth-options.h" #include "sshpty.h" @@ -1886,11 +1888,13 @@ monitor_apply_keystate(struct monitor *pmonitor) } /* Update with new address */ +#ifndef WIN32_ZLIB_NO if (options.compression) { ssh_packet_set_compress_hooks(ssh, pmonitor->m_zlib, (ssh_packet_comp_alloc_func *)mm_zalloc, (ssh_packet_comp_free_func *)mm_zfree); } +#endif } /* This function requries careful sanity checking */ diff --git a/monitor_wrap.c b/monitor_wrap.c index 5856977..851ed33 100644 --- a/monitor_wrap.c +++ b/monitor_wrap.c @@ -74,8 +74,10 @@ #include "zlib.h" #define TARGET_OS_MAC 1 #else +#ifndef WIN32_ZLIB_NO #include "zlib.h" #endif +#endif #include "monitor.h" #ifdef GSSAPI #include "ssh-gss.h" @@ -95,8 +97,10 @@ /* Imports */ extern int compat20; +#ifndef WIN32_ZLIB_NO extern z_stream incoming_stream; extern z_stream outgoing_stream; +#endif extern struct monitor *pmonitor; extern Buffer loginmsg; extern ServerOptions options; diff --git a/packet.c b/packet.c index 78e8fa5..9dbff2c 100644 --- a/packet.c +++ b/packet.c @@ -61,7 +61,9 @@ #include #include +#ifndef WIN32_ZLIB_NO #include +#endif #include "buffer.h" /* typedefs XXX */ #include "key.h" /* typedefs XXX */ @@ -143,8 +145,10 @@ struct session_state { struct sshbuf *compression_buffer; /* Incoming/outgoing compression dictionaries */ +#ifndef WIN32_ZLIB_NO z_stream compression_in_stream; z_stream compression_out_stream; +#endif int compression_in_started; int compression_out_started; int compression_in_failures; @@ -492,6 +496,7 @@ ssh_packet_close(struct ssh *ssh) sshbuf_free(state->incoming_packet); for (mode = 0; mode < MODE_MAX; mode++) kex_free_newkeys(state->newkeys[mode]); +#ifndef WIN32_ZLIB_NO if (state->compression_buffer) { sshbuf_free(state->compression_buffer); if (state->compression_out_started) { @@ -517,6 +522,7 @@ ssh_packet_close(struct ssh *ssh) inflateEnd(stream); } } +#endif if ((r = cipher_cleanup(&state->send_context)) != 0) error("%s: cipher_cleanup failed: %s", __func__, ssh_err(r)); if ((r = cipher_cleanup(&state->receive_context)) != 0) @@ -529,6 +535,7 @@ ssh_packet_close(struct ssh *ssh) ssh->state = NULL; } + /* Sets remote side protocol flags. */ void @@ -559,6 +566,7 @@ ssh_packet_init_compression(struct ssh *ssh) return 0; } +#ifndef WIN32_ZLIB_NO static int start_compression_out(struct ssh *ssh, int level) { @@ -578,7 +586,9 @@ start_compression_out(struct ssh *ssh, int level) } return 0; } +#endif +#ifndef WIN32_ZLIB_NO static int start_compression_in(struct ssh *ssh) { @@ -595,10 +605,13 @@ start_compression_in(struct ssh *ssh) } return 0; } +#endif + int ssh_packet_start_compression(struct ssh *ssh, int level) { +#ifndef WIN32_ZLIB_NO int r; if (ssh->state->packet_compression && !compat20) @@ -609,8 +622,13 @@ ssh_packet_start_compression(struct ssh *ssh, int level) (r = start_compression_out(ssh, level)) != 0) return r; return 0; +#else + return 0; +#endif } + +#ifndef WIN32_ZLIB_NO /* XXX remove need for separate compression buffer */ static int compress_buffer(struct ssh *ssh, struct sshbuf *in, struct sshbuf *out) @@ -657,7 +675,9 @@ compress_buffer(struct ssh *ssh, struct sshbuf *in, struct sshbuf *out) } while (ssh->state->compression_out_stream.avail_out == 0); return 0; } +#endif +#ifndef WIN32_ZLIB_NO static int uncompress_buffer(struct ssh *ssh, struct sshbuf *in, struct sshbuf *out) { @@ -704,7 +724,9 @@ uncompress_buffer(struct ssh *ssh, struct sshbuf *in, struct sshbuf *out) } /* NOTREACHED */ } +#endif +#ifndef WIN32_ZLIB_NO /* Serialise compression state into a blob for privsep */ static int ssh_packet_get_compress_state(struct sshbuf *m, struct ssh *ssh) @@ -732,7 +754,9 @@ ssh_packet_get_compress_state(struct sshbuf *m, struct ssh *ssh) sshbuf_free(b); return r; } +#endif +#ifndef WIN32_ZLIB_NO /* Deserialise compression state from a blob for privsep */ static int ssh_packet_set_compress_state(struct ssh *ssh, struct sshbuf *m) @@ -771,7 +795,9 @@ ssh_packet_set_compress_state(struct ssh *ssh, struct sshbuf *m) sshbuf_free(b); return r; } +#endif +#ifndef WIN32_ZLIB_NO void ssh_packet_set_compress_hooks(struct ssh *ssh, void *ctx, void *(*allocfunc)(void *, u_int, u_int), @@ -784,6 +810,7 @@ ssh_packet_set_compress_hooks(struct ssh *ssh, void *ctx, ssh->state->compression_in_stream.zfree = (free_func)freefunc; ssh->state->compression_in_stream.opaque = ctx; } +#endif /* * Causes any further packets to be encrypted using the given key. The same @@ -850,9 +877,11 @@ ssh_packet_send1(struct ssh *ssh) if ((r = sshbuf_put(state->compression_buffer, "\0\0\0\0\0\0\0\0", 8)) != 0) goto out; +#ifndef WIN32_ZLIB_NO if ((r = compress_buffer(ssh, state->outgoing_packet, state->compression_buffer)) != 0) goto out; +#endif sshbuf_reset(state->outgoing_packet); if ((r = sshbuf_putb(state->outgoing_packet, state->compression_buffer)) != 0) @@ -992,11 +1021,15 @@ ssh_set_newkeys(struct ssh *ssh, int mode) if ((r = ssh_packet_init_compression(ssh)) < 0) return r; if (mode == MODE_OUT) { +#ifndef WIN32_ZLIB_NO if ((r = start_compression_out(ssh, 6)) != 0) return r; +#endif } else { +#ifndef WIN32_ZLIB_NO if ((r = start_compression_in(ssh)) != 0) return r; +#endif } comp->enabled = 1; } @@ -1040,11 +1073,15 @@ ssh_packet_enable_delayed_compress(struct ssh *ssh) if ((r = ssh_packet_init_compression(ssh)) != 0) return r; if (mode == MODE_OUT) { +#ifndef WIN32_ZLIB_NO if ((r = start_compression_out(ssh, 6)) != 0) return r; +#endif } else { +#ifndef WIN32_ZLIB_NO if ((r = start_compression_in(ssh)) != 0) return r; +#endif } comp->enabled = 1; } @@ -1092,9 +1129,11 @@ ssh_packet_send2_wrapped(struct ssh *ssh) if ((r = sshbuf_consume(state->outgoing_packet, 5)) != 0) goto out; sshbuf_reset(state->compression_buffer); +#ifndef WIN32_ZLIB_NO if ((r = compress_buffer(ssh, state->outgoing_packet, state->compression_buffer)) != 0) goto out; +#endif sshbuf_reset(state->outgoing_packet); if ((r = sshbuf_put(state->outgoing_packet, "\0\0\0\0\0", 5)) != 0 || @@ -1527,9 +1566,11 @@ ssh_packet_read_poll1(struct ssh *ssh, u_char *typep) if (state->packet_compression) { sshbuf_reset(state->compression_buffer); +#ifndef WIN32_ZLIB_NO if ((r = uncompress_buffer(ssh, state->incoming_packet, state->compression_buffer)) != 0) goto out; +#endif sshbuf_reset(state->incoming_packet); if ((r = sshbuf_putb(state->incoming_packet, state->compression_buffer)) != 0) @@ -1729,9 +1770,11 @@ ssh_packet_read_poll2(struct ssh *ssh, u_char *typep, u_int32_t *seqnr_p) sshbuf_len(state->incoming_packet))); if (comp && comp->enabled) { sshbuf_reset(state->compression_buffer); +#ifndef WIN32_ZLIB_NO if ((r = uncompress_buffer(ssh, state->incoming_packet, state->compression_buffer)) != 0) goto out; +#endif sshbuf_reset(state->incoming_packet); if ((r = sshbuf_putb(state->incoming_packet, state->compression_buffer)) != 0) @@ -2509,7 +2552,10 @@ ssh_packet_get_state(struct ssh *ssh, struct sshbuf *m) if (cipher_get_keycontext(&state->receive_context, p) != (int)rlen) return SSH_ERR_INTERNAL_ERROR; - if ((r = ssh_packet_get_compress_state(m, ssh)) != 0 || + if ( +#ifndef WIN32_ZLIB_NO + (r = ssh_packet_get_compress_state(m, ssh)) != 0 || +#endif (r = sshbuf_put_stringb(m, state->input)) != 0 || (r = sshbuf_put_stringb(m, state->output)) != 0) return r; @@ -2702,7 +2748,10 @@ ssh_packet_set_state(struct ssh *ssh, struct sshbuf *m) cipher_set_keycontext(&state->send_context, keyout); cipher_set_keycontext(&state->receive_context, keyin); - if ((r = ssh_packet_set_compress_state(ssh, m)) != 0 || + if ( +#ifndef WIN32_ZLIB_NO + (r = ssh_packet_set_compress_state(ssh, m)) != 0 || +#endif (r = ssh_packet_set_postauth(ssh)) != 0) return r; diff --git a/regress/rsa_ssh2_cr.prv b/regress/rsa_ssh2_cr.prv deleted file mode 100644 index d20565f..0000000 --- a/regress/rsa_ssh2_cr.prv +++ /dev/null @@ -1 +0,0 @@ ----- BEGIN SSH2 ENCRYPTED PRIVATE KEY ---- Subject: ssh-keygen test Comment: "1024-bit rsa, Sat Jun 23 2001 12:21:26 -0400" P2/56wAAAi4AAAA3aWYtbW9kbntzaWdue3JzYS1wa2NzMS1zaGExfSxlbmNyeXB0e3JzYS 1wa2NzMXYyLW9hZXB9fQAAAARub25lAAAB3wAAAdsAAAARAQABAAAD9icflXO8eQxtKonp 45gOxXCiZG9hsfkgRpiXXHpUBMhM28C72RR1Dg2xKm4xz7smP2Apm+Y7XLZgIpzQ/+I76L 95XQv7JCHVHDXyNBmWX7XZP4tmspFq/Tdg28zHSA3CpZjjwq3qG/b8395tDMpF7v34PS3Z xOH3aFPvEQ0UsgEAAAQA7IpcCnGijesEjDXdVoEPfh0akBJA9JAk1bba2sxrtDoQVN1JKP nRQ9SKdAsXV5jduSUFsTmBe4fznLvD948790U1/O8SkdGM5V0y1/ki7Rf8knm0t8Vj65X0 VA4YdN4UeVfvMcb78vcInT2CsP6CLcBkrnjrBKtS03Mwg79nQI0AAAH/VdpOHYCMLPl/GF +uRLMshY55Q6l+MdJ0jo0AdZrCCnxwa3YeVywwU0wsZyoTCdGMf6KYDr39PVxwRcGkJ7Ue YgAAAgDWXpLlKafIgS3i0moMORZHD8D86us3xMW4b7GV2/AaP+En5TbOCR18CO0g/WfGiS 7zOLkP+TO9JW5QzEONIt6NAAACAQEaegYoWMBSQkLA7VWbOlSowelFlU6uo/2FSY+PM0nm gE8UZ7j6HWGhJEU4DNo25m3yyxuposKTMHxt/OOqFmoB ---- END SSH2 ENCRYPTED PRIVATE KEY ---- --- \ No newline at end of file diff --git a/regress/rsa_ssh2_crnl.prv b/regress/rsa_ssh2_crnl.prv deleted file mode 100644 index 1ece3d7..0000000 --- a/regress/rsa_ssh2_crnl.prv +++ /dev/null @@ -1,16 +0,0 @@ ----- BEGIN SSH2 ENCRYPTED PRIVATE KEY ---- -Subject: ssh-keygen test -Comment: "1024-bit rsa, Sat Jun 23 2001 12:21:26 -0400" -P2/56wAAAi4AAAA3aWYtbW9kbntzaWdue3JzYS1wa2NzMS1zaGExfSxlbmNyeXB0e3JzYS -1wa2NzMXYyLW9hZXB9fQAAAARub25lAAAB3wAAAdsAAAARAQABAAAD9icflXO8eQxtKonp -45gOxXCiZG9hsfkgRpiXXHpUBMhM28C72RR1Dg2xKm4xz7smP2Apm+Y7XLZgIpzQ/+I76L -95XQv7JCHVHDXyNBmWX7XZP4tmspFq/Tdg28zHSA3CpZjjwq3qG/b8395tDMpF7v34PS3Z -xOH3aFPvEQ0UsgEAAAQA7IpcCnGijesEjDXdVoEPfh0akBJA9JAk1bba2sxrtDoQVN1JKP -nRQ9SKdAsXV5jduSUFsTmBe4fznLvD948790U1/O8SkdGM5V0y1/ki7Rf8knm0t8Vj65X0 -VA4YdN4UeVfvMcb78vcInT2CsP6CLcBkrnjrBKtS03Mwg79nQI0AAAH/VdpOHYCMLPl/GF -+uRLMshY55Q6l+MdJ0jo0AdZrCCnxwa3YeVywwU0wsZyoTCdGMf6KYDr39PVxwRcGkJ7Ue -YgAAAgDWXpLlKafIgS3i0moMORZHD8D86us3xMW4b7GV2/AaP+En5TbOCR18CO0g/WfGiS -7zOLkP+TO9JW5QzEONIt6NAAACAQEaegYoWMBSQkLA7VWbOlSowelFlU6uo/2FSY+PM0nm -gE8UZ7j6HWGhJEU4DNo25m3yyxuposKTMHxt/OOqFmoB ----- END SSH2 ENCRYPTED PRIVATE KEY ---- ---- diff --git a/regress/t10.out.pub b/regress/t10.out.pub deleted file mode 100644 index ac2ed4a..0000000 --- a/regress/t10.out.pub +++ /dev/null @@ -1 +0,0 @@ -ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJjyWJtBaxbWmdUZBK2yV3Ic1tqM6q59wYJXONXZWdW8 localadmin@oasis2 diff --git a/regress/t12.out.pub b/regress/t12.out.pub deleted file mode 100644 index b9df8f5..0000000 --- a/regress/t12.out.pub +++ /dev/null @@ -1 +0,0 @@ -ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMxy45m7MYCoA/lY57Tf8kcKuYDYId75D3Ugz/8p4tD5 test-comment-1234 diff --git a/regress/t6.out1 b/regress/t6.out1 deleted file mode 100644 index 82a50ca..0000000 --- a/regress/t6.out1 +++ /dev/null @@ -1,12 +0,0 @@ ------BEGIN DSA PRIVATE KEY----- -MIIBvAIBAAKBgQCwUfm3AxZTut3icBmwCcD48nY64HzuELlQ+vEqjIcRLo49es/D -QTeLNQ+kdKRCfouosGNv0WqxRtF0tUsWdXxS37oHGa4QPugBdHRd7YlZGZv8kgx7 -FsoepY7v7E683/97dv2zxL3AGagTEzWr7fl0yPexAaZoDvtQrrjX44BLmwIVAN4L -TjdhWj1mjTMAR4gDi5mHgsEJAoGBAJZCS+8zGcPx4WRLWSicV8wnUKS5F9M3fgIF -np1jtVNIZ6bLhDC0V0wqai58PR4qDLenlY55YJgq0XgWGMcpmT9prEWOMhu2SueW -9eDrhAjXV1JnIE3r9WJCQc9KRQMX4DoAASGs1tBsAVK9qjWRO8208K0vQCRQh24Q -zMZB8sJMAoGAWo+2OYpHocoCeKkw0pVcqbD7lfp+fbTEtHtqX60hvO8n+a/eACgZ -iXoaOTjusGGlwsbFQewBW0lA+u+QCvJhxeL9f/u0lipOX/MZTAjEj2fStPo/1tXf -6tqpIZ5w2aJThw6JiwPlNNIucmv4501c8gz1ixaVivLt8RgTwGF99uICFQDHFvoo -RnaXdZbeWGTTqmgHB1GU9A== ------END DSA PRIVATE KEY----- diff --git a/regress/t6.out2 b/regress/t6.out2 deleted file mode 100644 index d622a09..0000000 --- a/regress/t6.out2 +++ /dev/null @@ -1 +0,0 @@ -ssh-dss AAAAB3NzaC1kc3MAAACBALBR+bcDFlO63eJwGbAJwPjydjrgfO4QuVD68SqMhxEujj16z8NBN4s1D6R0pEJ+i6iwY2/RarFG0XS1SxZ1fFLfugcZrhA+6AF0dF3tiVkZm/ySDHsWyh6lju/sTrzf/3t2/bPEvcAZqBMTNavt+XTI97EBpmgO+1CuuNfjgEubAAAAFQDeC043YVo9Zo0zAEeIA4uZh4LBCQAAAIEAlkJL7zMZw/HhZEtZKJxXzCdQpLkX0zd+AgWenWO1U0hnpsuEMLRXTCpqLnw9HioMt6eVjnlgmCrReBYYxymZP2msRY4yG7ZK55b14OuECNdXUmcgTev1YkJBz0pFAxfgOgABIazW0GwBUr2qNZE7zbTwrS9AJFCHbhDMxkHywkwAAACAWo+2OYpHocoCeKkw0pVcqbD7lfp+fbTEtHtqX60hvO8n+a/eACgZiXoaOTjusGGlwsbFQewBW0lA+u+QCvJhxeL9f/u0lipOX/MZTAjEj2fStPo/1tXf6tqpIZ5w2aJThw6JiwPlNNIucmv4501c8gz1ixaVivLt8RgTwGF99uI= diff --git a/regress/t7.out.pub b/regress/t7.out.pub deleted file mode 100644 index faab6b1..0000000 --- a/regress/t7.out.pub +++ /dev/null @@ -1 +0,0 @@ -ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDINH21lrsjNBc13Vs4MBpEG6LyAA4yUJKNHYzAWQNy0h5xJCX5dATpyQBdh2T33X4XdNriszTK0l4klJzXSN9SQtPfOL3OtipVB+Hqx5sSWr6NSzNCStlVviJbnl6Xip2PF5dQjxpQbxSKU2JM8iJAqiFESJYOLxGWVD1wQLGDxv29udmZSARGt1KT87pyRdzxex3F5v96vZK+H5n+RLvxib+SMN4Xu454xNotyY+ld29MkK0kxjzbz5c/1skGxjKZWeVmOSRhiCh3rCGHwF0ETAe5yIsFeWe2QSX/xLqiEGnCpH1vyccBTIkIye5zJtzFt23VRbC8TGFJ4wOPqmY3 localadmin@oasis2 diff --git a/regress/t8.out.pub b/regress/t8.out.pub deleted file mode 100644 index f1c842b..0000000 --- a/regress/t8.out.pub +++ /dev/null @@ -1 +0,0 @@ -ssh-dss AAAAB3NzaC1kc3MAAACBAKhKN7oo6sCTriaH35Ekv2q4DvuQZayGeq++Bxgecnj2wmE+HTM7MFO5YAPeWCkCI+PW1skQoagPvbCHUEEBHmAOAioqwh0jPJuR6qbABwPvOOw4oNH/+XyG0ZbzNTIvifkYtRoBax05Z4MwrjQwLNs8Iz8R6C0atIDrWD/2sg4rAAAAFQCZzOOZm5Bo+AlAZFjcLW2Eu4FWVwAAAIAtjpvNuJAlYBZa6uL9Aw5VtNzyjofh9+pJc4soUnbcxRKsdSZsw1r54XzLrFdYLkNJWtBpPWiZl9NWUzP2QR6t060sVvcKEj8LYMDZpEQXcjDZ3AFS39cK/2/iPSm/AhhA1SPeTn/Z2DVr0NJH9f6XQ8Ksl3c69bVlJiCAuAKWhAAAAIBvHZZtz3jGbKw2SUOnS4U4ViEFinD7XptUbDq/SKt0MCCaCP/+2hJYu8cWNcu5lJV/8FK3lum/pLTSywI2INPUzP5lF+eYz2n6tt0XFUqCOD6WM7Fy+wBBpkSG5mkS3bqNZeVJEBSHttMqeC0U/u7T6NgHe2JSF67EVA66BbiNrg== localadmin@oasis2 diff --git a/regress/t9.out.pub b/regress/t9.out.pub deleted file mode 100644 index 2e1453d..0000000 --- a/regress/t9.out.pub +++ /dev/null @@ -1 +0,0 @@ -ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFJ+6eXfvMCjq9nif1kAXSIM2bLRIj/Eqzwf2lOXd3w3sdVxniJsjWiOozZw1mEHFQXCwi1wVSf/d6nDaCkvOkU= localadmin@oasis2 diff --git a/regress/unittests/Makefile.inc b/regress/unittests/Makefile.inc index 7385e2b..81ce18c 100644 --- a/regress/unittests/Makefile.inc +++ b/regress/unittests/Makefile.inc @@ -7,7 +7,6 @@ WARNINGS=Yes DEBUG=-g -CFLAGS+= -fstack-protector-all CDIAGFLAGS= -Wall CDIAGFLAGS+= -Wextra CDIAGFLAGS+= -Werror diff --git a/sshconnect2.c b/sshconnect2.c index 8cf3302..c153b2b 100644 --- a/sshconnect2.c +++ b/sshconnect2.c @@ -169,6 +169,7 @@ ssh_kex2(char *host, struct sockaddr *hostaddr, u_short port) compat_cipher_proposal(options.ciphers); myproposal[PROPOSAL_ENC_ALGS_STOC] = compat_cipher_proposal(options.ciphers); +#ifndef WIN32_ZLIB_NO if (options.compression) { myproposal[PROPOSAL_COMP_ALGS_CTOS] = myproposal[PROPOSAL_COMP_ALGS_STOC] = "zlib@openssh.com,zlib,none"; @@ -176,6 +177,15 @@ ssh_kex2(char *host, struct sockaddr *hostaddr, u_short port) myproposal[PROPOSAL_COMP_ALGS_CTOS] = myproposal[PROPOSAL_COMP_ALGS_STOC] = "none,zlib@openssh.com,zlib"; } +#else + if (options.compression) { + myproposal[PROPOSAL_COMP_ALGS_CTOS] = + myproposal[PROPOSAL_COMP_ALGS_STOC] = "none"; + } else { + myproposal[PROPOSAL_COMP_ALGS_CTOS] = + myproposal[PROPOSAL_COMP_ALGS_STOC] = "none"; + } +#endif myproposal[PROPOSAL_MAC_ALGS_CTOS] = myproposal[PROPOSAL_MAC_ALGS_STOC] = options.macs; if (options.hostkeyalgorithms != NULL) {