]> jfr.im git - irc/rqf/shadowircd.git/commitdiff
libratbox: Use the server SSL certificate on outgoing connections.
authorWilliam Pitcock <redacted>
Tue, 14 Dec 2010 04:58:09 +0000 (22:58 -0600)
committerWilliam Pitcock <redacted>
Tue, 14 Dec 2010 04:58:09 +0000 (22:58 -0600)
libratbox/src/gnutls.c
libratbox/src/openssl.c

index e1c0d8f130e856afc3e59b8c283f2b845e6f15ba..5daf1d2469d381a81dd2137e4dab467c470879e6 100644 (file)
@@ -416,6 +416,7 @@ rb_ssl_tryconn(rb_fde_t *F, int status, void *data)
        F->ssl = rb_malloc(sizeof(gnutls_session_t));
        gnutls_init(F->ssl, GNUTLS_CLIENT);
        gnutls_set_default_priority(SSL_P(F));
+       gnutls_credentials_set(SSL_P(F), GNUTLS_CRD_CERTIFICATE, x509);
        gnutls_dh_set_prime_bits(SSL_P(F), 1024);
        gnutls_transport_set_ptr(SSL_P(F), (gnutls_transport_ptr_t) (long int)F->fd);
 
@@ -460,6 +461,7 @@ rb_ssl_start_connected(rb_fde_t *F, CNCB * callback, void *data, int timeout)
 
        gnutls_init(F->ssl, GNUTLS_CLIENT);
        gnutls_set_default_priority(SSL_P(F));
+       gnutls_credentials_set(SSL_P(F), GNUTLS_CRD_CERTIFICATE, x509);
        gnutls_dh_set_prime_bits(SSL_P(F), 1024);
        gnutls_transport_set_ptr(SSL_P(F), (gnutls_transport_ptr_t) (long int)F->fd);
 
index 1c7c0ec0eaaafe48ee8aadab37a8283a1c3e83ec..254975ae2cf73ee7d7fc81c00cf41969bf098390 100644 (file)
@@ -336,7 +336,7 @@ rb_setup_ssl_server(const char *cert, const char *keyfile, const char *dhfile)
                rb_lib_log("rb_setup_ssl_server: No certificate file");
                return 0;
        }
-       if(!SSL_CTX_use_certificate_chain_file(ssl_server_ctx, cert))
+       if(!SSL_CTX_use_certificate_chain_file(ssl_server_ctx, cert) || !SSL_CTX_use_certificate_chain_file(ssl_client_ctx, cert))
        {
                err = ERR_get_error();
                rb_lib_log("rb_setup_ssl_server: Error loading certificate file [%s]: %s", cert,
@@ -351,7 +351,7 @@ rb_setup_ssl_server(const char *cert, const char *keyfile, const char *dhfile)
        }
 
 
-       if(!SSL_CTX_use_PrivateKey_file(ssl_server_ctx, keyfile, SSL_FILETYPE_PEM))
+       if(!SSL_CTX_use_PrivateKey_file(ssl_server_ctx, keyfile, SSL_FILETYPE_PEM) || !SSL_CTX_use_PrivateKey_file(ssl_client_ctx, keyfile, SSL_FILETYPE_PEM))
        {
                err = ERR_get_error();
                rb_lib_log("rb_setup_ssl_server: Error loading keyfile [%s]: %s", keyfile,