]> 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)
committerMartti Rannanjärvi <martti.rannanjarvi@dovecot.fi>
Wed, 27 Feb 2019 11:51:23 +0000 (13:51 +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 9faecfb8effefb5032f4516f7ffe12fd0b56090c..ca98a69ab94ff5296422feffeca85bcd2dbfd588 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 32f762fa418a0e208063d3e684758425166667c7..101a7faae4932e1d46dbe1c124e99339f1ae12d8 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 31a567b6db31ffbcb7d8def9c1c35492ba7eba70..414503371f42bea307a63e2cb61eca4e7c45640c 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);