diff --git a/libssh/src/wrapper.c b/libssh/src/wrapper.c index b8a489d4..c04322a4 100644 --- a/libssh/src/wrapper.c +++ b/libssh/src/wrapper.c @@ -314,23 +314,24 @@ int crypt_set_algorithms_server(ssh_session session){ } /* compression */ - method = session->next_crypto->kex_methods[SSH_CRYPT_C_S]; + method = session->next_crypto->kex_methods[SSH_COMP_C_S]; if(strcmp(method,"zlib") == 0){ ssh_log(session,SSH_LOG_PACKET,"enabling C->S compression"); session->next_crypto->do_compress_in=1; } if(strcmp(method,"zlib@openssh.com") == 0){ - ssh_set_error(session,SSH_FATAL,"zlib@openssh.com not supported"); - goto error; + ssh_log(session,SSH_LOG_PACKET,"enabling C->S compression"); + session->next_crypto->delayed_compress_in=1; } - method = session->next_crypto->kex_methods[SSH_CRYPT_S_C]; + + method = session->next_crypto->kex_methods[SSH_COMP_S_C]; if(strcmp(method,"zlib") == 0){ ssh_log(session,SSH_LOG_PACKET,"enabling S->C compression\n"); session->next_crypto->do_compress_out=1; } if(strcmp(method,"zlib@openssh.com") == 0){ - ssh_set_error(session,SSH_FATAL,"zlib@openssh.com not supported"); - goto error; + ssh_log(session,SSH_LOG_PACKET,"enabling S->C delayed compression\n"); + session->next_crypto->delayed_compress_out=1; } method = session->next_crypto->kex_methods[SSH_HOSTKEYS];