]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
fts-solr: Use fts_solr_settings struct in solr_connection_init()
authorMartti Rannanjärvi <martti.rannanjarvi@open-xchange.com>
Mon, 25 Feb 2019 17:51:27 +0000 (19:51 +0200)
committerVille Savolainen <ville.savolainen@dovecot.fi>
Thu, 21 Mar 2019 08:02:58 +0000 (10:02 +0200)
src/plugins/fts-solr/fts-backend-solr-old.c
src/plugins/fts-solr/fts-backend-solr.c
src/plugins/fts-solr/solr-connection.c
src/plugins/fts-solr/solr-connection.h

index 9b412f4cbdbf7e757eaa0c81fe23ac2cbcb6d15f..ee950ee52d0a1ae0ca8d5570583355ce72ff9b82 100644 (file)
@@ -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);
index 95f41f08673b71f38ef764aadd78d4077cb5d497..c0332dad55207280dc0077f2971b3b3dfcd2f591 100644 (file)
@@ -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)
index 947ea76af2067c37b025a02451e85f7a2c97d465..1b9d17150966b45f8d6e8980aa56768a013e1b89 100644 (file)
@@ -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);
        }
 
index 542194ab969466579fd7bc1c5b1a44940913cd3d..0c400da1d1174c23a1161370c47407c3121883cb 100644 (file)
@@ -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);