From: Martti Rannanjärvi Date: Mon, 25 Feb 2019 17:51:27 +0000 (+0200) Subject: fts-solr: Use fts_solr_settings struct in solr_connection_init() X-Git-Tag: 2.3.6~53 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=06ee92ece9140119a88d03e7518f4e0f05845dba;p=thirdparty%2Fdovecot%2Fcore.git fts-solr: Use fts_solr_settings struct in solr_connection_init() --- diff --git a/src/plugins/fts-solr/fts-backend-solr-old.c b/src/plugins/fts-solr/fts-backend-solr-old.c index 9b412f4cbd..ee950ee52d 100644 --- a/src/plugins/fts-solr/fts-backend-solr-old.c +++ b/src/plugins/fts-solr/fts-backend-solr-old.c @@ -255,9 +255,8 @@ fts_backend_solr_init(struct fts_backend *_backend, const char **error_r) i_zero(&ssl_set); mail_user_init_ssl_client_settings(_backend->ns->user, &ssl_set); - if (solr_connection_init(fuser->set.url, &ssl_set, - fuser->set.debug, &backend->solr_conn, - error_r) < 0) + if (solr_connection_init(&fuser->set, &ssl_set, + &backend->solr_conn, error_r) < 0) return -1; str = solr_escape_id_str(_backend->ns->user->username); diff --git a/src/plugins/fts-solr/fts-backend-solr.c b/src/plugins/fts-solr/fts-backend-solr.c index 95f41f0867..c0332dad55 100644 --- a/src/plugins/fts-solr/fts-backend-solr.c +++ b/src/plugins/fts-solr/fts-backend-solr.c @@ -197,9 +197,8 @@ fts_backend_solr_init(struct fts_backend *_backend, const char **error_r) i_zero(&ssl_set); mail_user_init_ssl_client_settings(_backend->ns->user, &ssl_set); - return solr_connection_init(fuser->set.url, &ssl_set, - fuser->set.debug, &backend->solr_conn, - error_r); + return solr_connection_init(&fuser->set, &ssl_set, + &backend->solr_conn, error_r); } static void fts_backend_solr_deinit(struct fts_backend *_backend) diff --git a/src/plugins/fts-solr/solr-connection.c b/src/plugins/fts-solr/solr-connection.c index 947ea76af2..1b9d171509 100644 --- a/src/plugins/fts-solr/solr-connection.c +++ b/src/plugins/fts-solr/solr-connection.c @@ -115,18 +115,17 @@ static char *solr_connection_create_http_base_url(struct http_url *http_url) return i_strconcat(http_url->path, http_url->enc_query, NULL); } -int solr_connection_init(const char *url, +int solr_connection_init(const struct fts_solr_settings *solr_set, const struct ssl_iostream_settings *ssl_client_set, - bool debug, struct solr_connection **conn_r, - const char **error_r) + struct solr_connection **conn_r, const char **error_r) { struct http_client_settings http_set; struct solr_connection *conn; struct http_url *http_url; const char *error; - if (http_url_parse(url, NULL, HTTP_URL_ALLOW_USERINFO_PART, pool_datastack_create(), - &http_url, &error) < 0) { + if (http_url_parse(solr_set->url, NULL, HTTP_URL_ALLOW_USERINFO_PART, + pool_datastack_create(), &http_url, &error) < 0) { *error_r = t_strdup_printf( "fts_solr: Failed to parse HTTP url: %s", error); return -1; @@ -143,7 +142,7 @@ int solr_connection_init(const char *url, conn->http_password = i_strdup(http_url->password != NULL ? http_url->password : ""); } - conn->debug = debug; + conn->debug = solr_set->debug; if (solr_http_client == NULL) { i_zero(&http_set); @@ -155,7 +154,7 @@ int solr_connection_init(const char *url, http_set.connect_timeout_msecs = 5*1000; http_set.request_timeout_msecs = 60*1000; http_set.ssl = ssl_client_set; - http_set.debug = debug; + http_set.debug = solr_set->debug; solr_http_client = http_client_init(&http_set); } diff --git a/src/plugins/fts-solr/solr-connection.h b/src/plugins/fts-solr/solr-connection.h index 542194ab96..0c400da1d1 100644 --- a/src/plugins/fts-solr/solr-connection.h +++ b/src/plugins/fts-solr/solr-connection.h @@ -5,6 +5,7 @@ #include "fts-api.h" struct solr_connection; +struct fts_solr_settings; struct solr_result { const char *box_id; @@ -13,9 +14,9 @@ struct solr_result { ARRAY_TYPE(fts_score_map) scores; }; -int solr_connection_init(const char *url, +int solr_connection_init(const struct fts_solr_settings *solr_set, const struct ssl_iostream_settings *ssl_client_set, - bool debug, struct solr_connection **conn_r, + struct solr_connection **conn_r, const char **error_r); void solr_connection_deinit(struct solr_connection **conn);