int http_client_init_ssl_ctx(struct http_client *client, const char **error_r) { struct ssl_iostream_settings ssl_set; const char *error; if (client->ssl_ctx != NULL) return 0; memset(&ssl_set, 0, sizeof(ssl_set)); ssl_set.ca_dir = client->set.ssl_ca_dir; ssl_set.ca_file = client->set.ssl_ca_file; 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; if (ssl_iostream_context_init_client(&ssl_set, &client->ssl_ctx, &error) < 0) { *error_r = t_strdup_printf("Couldn't initialize SSL context: %s", error); return -1; } return 0; }
struct pop3c_client * pop3c_client_init(const struct pop3c_client_settings *set) { struct pop3c_client *client; struct ssl_iostream_settings ssl_set; const char *error; pool_t pool; // CLEANUP: Remove Warning i_warning("pop3c_client_init called"); pool = pool_alloconly_create("pop3c client", 1024); client = p_new(pool, struct pop3c_client, 1); client->pool = pool; client->fd = -1; client->set.debug = set->debug; client->set.host = p_strdup(pool, set->host); client->set.port = set->port; client->set.master_user = p_strdup_empty(pool, set->master_user); client->set.username = p_strdup(pool, set->username); // CLEANUP: remove warning i_warning("pop3c_client_init: username %s", client->set.username); env_put(t_strconcat("POP3C_USERNAME="******"pop3c(%s:%u): Couldn't initialize SSL context: %s", set->host, set->port, error); } } return client; }
static int dsync_init_ssl_ctx(struct dsync_cmd_context *ctx, const struct mail_storage_settings *mail_set, const char **error_r) { struct ssl_iostream_settings ssl_set; if (ctx->ssl_ctx != NULL) return 0; memset(&ssl_set, 0, sizeof(ssl_set)); ssl_set.ca_dir = mail_set->ssl_client_ca_dir; ssl_set.ca_file = mail_set->ssl_client_ca_file; ssl_set.verify_remote_cert = TRUE; ssl_set.crypto_device = mail_set->ssl_crypto_device; return ssl_iostream_context_init_client(&ssl_set, &ctx->ssl_ctx, error_r); }
int http_client_init_ssl_ctx(struct http_client *client, const char **error_r) { const char *error; if (client->ssl_ctx != NULL) return 0; if (client->set.ssl == NULL) { *error_r = "Requested https connection, but no SSL settings given"; return -1; } if (ssl_iostream_context_init_client(client->set.ssl, &client->ssl_ctx, &error) < 0) { *error_r = t_strdup_printf("Couldn't initialize SSL context: %s", error); return -1; } return 0; }