diff --git a/src/manager-auth.c b/src/manager-auth.c index 6380102..296186d 100644 --- a/src/manager-auth.c +++ b/src/manager-auth.c @@ -459,11 +459,18 @@ int manager_auth_client(server_generic_client_t *client, prelude_io_t *pio, gnut if ( ! session ) { union { int fd; void *ptr; } data; const int kx_prio[] = { GNUTLS_KX_DHE_RSA, 0 }; + const int c_prio[] = { 1, GNUTLS_COMP_DEFLATE, 0 }; ret = gnutls_init(&session, GNUTLS_SERVER); + if ( ret < 0 ) { + server_generic_log_client(client, PRELUDE_LOG_WARN, "error initializing TLS session: %s.\n", + gnutls_strerror(ret)); + return -1; + } gnutls_set_default_priority(session); gnutls_kx_set_priority(session, kx_prio); + gnutls_compression_set_priority(session, c_prio); gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, cred); gnutls_certificate_server_set_request(session, GNUTLS_CERT_REQUEST);