Errors occurring in reds_init_ssl used to be fatal through the use of spice_error, but this was downgraded to non-fatal spice_warning calls recently. This means we no longer error out when invalid SSL (certificates, ...) parameters are passed by the user. This commit changes reds_init_ssl return value from void to int so that errors can be reported to the caller. --- server/reds.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/server/reds.c b/server/reds.c index 202d9c3..0cd3f40 100644 --- a/server/reds.c +++ b/server/reds.c @@ -3227,7 +3227,7 @@ static void openssl_thread_setup(void) CRYPTO_set_locking_callback(pthreads_locking_callback); } -static void reds_init_ssl(void) +static int reds_init_ssl(void) { #if OPENSSL_VERSION_NUMBER >= 0x10000000L const SSL_METHOD *ssl_method; @@ -3246,6 +3246,7 @@ static void reds_init_ssl(void) reds->ctx = SSL_CTX_new(ssl_method); if (!reds->ctx) { spice_warning("Could not allocate new SSL context"); + return -1; } /* Limit connection to TLSv1 only */ @@ -3260,6 +3261,7 @@ static void reds_init_ssl(void) spice_info("Loaded certificates from %s", ssl_parameters.certs_file); } else { spice_warning("Could not load certificates from %s", ssl_parameters.certs_file); + return -1; } SSL_CTX_set_default_passwd_cb(reds->ctx, ssl_password_cb); @@ -3270,6 +3272,7 @@ static void reds_init_ssl(void) spice_info("Using private key from %s", ssl_parameters.private_key_file); } else { spice_warning("Could not use private key file"); + return -1; } /* Load the CAs we trust*/ @@ -3278,6 +3281,7 @@ static void reds_init_ssl(void) spice_info("Loaded CA certificates from %s", ssl_parameters.ca_certificate_file); } else { spice_warning("Could not use CA file %s", ssl_parameters.ca_certificate_file); + return -1; } #if (OPENSSL_VERSION_NUMBER < 0x00905100L) @@ -3299,6 +3303,8 @@ static void reds_init_ssl(void) STACK *cmp_stack = SSL_COMP_get_compression_methods(); sk_zero(cmp_stack); #endif + + return 0; } static void reds_exit(void) -- 1.7.11.4 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel