]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-http: Added ssl_cert|key|key_password settings to be passed to ssl-iostream.
authorTimo Sirainen <tss@iki.fi>
Thu, 23 May 2013 14:36:54 +0000 (17:36 +0300)
committerTimo Sirainen <tss@iki.fi>
Thu, 23 May 2013 14:36:54 +0000 (17:36 +0300)
These are used for sending client's SSL certificate.

src/lib-http/http-client.c
src/lib-http/http-client.h

index b6846f08754346971f5d718455efad53c1d27a5f..f153b514323c660b4a20d67a381a18e55b222ec5 100644 (file)
@@ -86,6 +86,9 @@ struct http_client *http_client_init(const struct http_client_settings *set)
        client->set.ssl_ca = p_strdup(pool, set->ssl_ca);
        client->set.ssl_crypto_device = p_strdup(pool, set->ssl_crypto_device);
        client->set.ssl_allow_invalid_cert = set->ssl_allow_invalid_cert;
+       client->set.ssl_cert = p_strdup(pool, set->ssl_cert);
+       client->set.ssl_key = p_strdup(pool, set->ssl_key);
+       client->set.ssl_key_password = p_strdup(pool, set->ssl_key_password);
        client->set.max_idle_time_msecs = set->max_idle_time_msecs;
        client->set.max_parallel_connections =
                (set->max_parallel_connections > 0 ? set->max_parallel_connections : 1);
@@ -197,6 +200,9 @@ int http_client_init_ssl_ctx(struct http_client *client, const char **error_r)
        ssl_set.ca = client->set.ssl_ca;
        ssl_set.verify_remote_cert = TRUE;
        ssl_set.crypto_device = client->set.ssl_crypto_device;
+       ssl_set.cert = client->set.ssl_cert;
+       ssl_set.key = client->set.ssl_key;
+       ssl_set.key_password = client->set.ssl_key_password;
        ssl_set.verbose = client->set.debug;
        ssl_set.verbose_invalid_cert = client->set.debug;
 
index 69cb44819107f7965e40eedb9c084ef3bee1fbe7..9c8d1319041f771ee9f29d119ed9c43ac60d59a4 100644 (file)
@@ -36,6 +36,8 @@ struct http_client_settings {
        const char *ssl_ca_dir, *ssl_ca_file, *ssl_ca;
        const char *ssl_crypto_device;
        bool ssl_allow_invalid_cert;
+       /* user cert */
+       const char *ssl_cert, *ssl_key, *ssl_key_password;
 
        const char *rawlog_dir;