summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/http_proxy.c3
-rw-r--r--src/libmime/smtp_utils.c2
-rw-r--r--src/libstat/backends/redis.c10
-rw-r--r--src/lua/lua_upstream.c6
-rw-r--r--src/plugins/fuzzy_check.c5
-rw-r--r--src/plugins/surbl.c2
-rw-r--r--src/smtp_proxy.c2
-rw-r--r--test/rspamd_upstream_test.c6
8 files changed, 23 insertions, 13 deletions
diff --git a/src/http_proxy.c b/src/http_proxy.c
index c35c02bd1..43cacae9c 100644
--- a/src/http_proxy.c
+++ b/src/http_proxy.c
@@ -322,7 +322,8 @@ proxy_client_finish_handler (struct rspamd_http_connection *conn,
goto err;
}
else {
- session->up = rspamd_upstream_get (backend->u, RSPAMD_UPSTREAM_ROUND_ROBIN);
+ session->up = rspamd_upstream_get (backend->u,
+ RSPAMD_UPSTREAM_ROUND_ROBIN, NULL, 0);
if (session->up == NULL) {
msg_err ("cannot select upstream for %s", host ? hostbuf : "default");
diff --git a/src/libmime/smtp_utils.c b/src/libmime/smtp_utils.c
index 33750bae5..ce7ac72fa 100644
--- a/src/libmime/smtp_utils.c
+++ b/src/libmime/smtp_utils.c
@@ -64,7 +64,7 @@ create_smtp_upstream_connection (struct smtp_session *session)
/* Try to select upstream */
selected = rspamd_upstream_get (session->ctx->upstreams,
- RSPAMD_UPSTREAM_ROUND_ROBIN);
+ RSPAMD_UPSTREAM_ROUND_ROBIN, NULL, 0);
if (selected == NULL) {
msg_err ("no upstreams suitable found");
return FALSE;
diff --git a/src/libstat/backends/redis.c b/src/libstat/backends/redis.c
index 66bad4471..b5194065a 100644
--- a/src/libstat/backends/redis.c
+++ b/src/libstat/backends/redis.c
@@ -398,10 +398,16 @@ rspamd_redis_runtime (struct rspamd_task *task,
}
if (learn) {
- up = rspamd_upstream_get (elt->write_servers, RSPAMD_UPSTREAM_MASTER_SLAVE);
+ up = rspamd_upstream_get (elt->write_servers,
+ RSPAMD_UPSTREAM_MASTER_SLAVE,
+ NULL,
+ 0);
}
else {
- up = rspamd_upstream_get (elt->read_servers, RSPAMD_UPSTREAM_ROUND_ROBIN);
+ up = rspamd_upstream_get (elt->read_servers,
+ RSPAMD_UPSTREAM_ROUND_ROBIN,
+ NULL,
+ 0);
}
if (up == NULL) {
diff --git a/src/lua/lua_upstream.c b/src/lua/lua_upstream.c
index 8ceadcc8c..18a6069ac 100644
--- a/src/lua/lua_upstream.c
+++ b/src/lua/lua_upstream.c
@@ -274,7 +274,7 @@ lua_upstream_list_get_upstream_round_robin (lua_State *L)
upl = lua_check_upstream_list (L);
if (upl) {
- selected = rspamd_upstream_get (upl, RSPAMD_UPSTREAM_ROUND_ROBIN);
+ selected = rspamd_upstream_get (upl, RSPAMD_UPSTREAM_ROUND_ROBIN, NULL, 0);
if (selected) {
pselected = lua_newuserdata (L, sizeof (struct upstream *));
rspamd_lua_setclass (L, "rspamd{upstream}", -1);
@@ -305,7 +305,9 @@ lua_upstream_list_get_upstream_master_slave (lua_State *L)
upl = lua_check_upstream_list (L);
if (upl) {
- selected = rspamd_upstream_get (upl, RSPAMD_UPSTREAM_MASTER_SLAVE);
+ selected = rspamd_upstream_get (upl, RSPAMD_UPSTREAM_MASTER_SLAVE,
+ NULL,
+ 0);
if (selected) {
pselected = lua_newuserdata (L, sizeof (struct upstream *));
rspamd_lua_setclass (L, "rspamd{upstream}", -1);
diff --git a/src/plugins/fuzzy_check.c b/src/plugins/fuzzy_check.c
index c6db5e016..7e03009f9 100644
--- a/src/plugins/fuzzy_check.c
+++ b/src/plugins/fuzzy_check.c
@@ -1347,7 +1347,8 @@ register_fuzzy_client_call (struct rspamd_task *task,
gint sock;
/* Get upstream */
- selected = rspamd_upstream_get (rule->servers, RSPAMD_UPSTREAM_ROUND_ROBIN);
+ selected = rspamd_upstream_get (rule->servers, RSPAMD_UPSTREAM_ROUND_ROBIN,
+ NULL, 0);
if (selected) {
if ((sock = rspamd_inet_address_connect (rspamd_upstream_addr (selected),
SOCK_DGRAM, TRUE)) == -1) {
@@ -1434,7 +1435,7 @@ register_fuzzy_controller_call (struct rspamd_http_connection_entry *entry,
/* Get upstream */
while ((selected = rspamd_upstream_get (rule->servers,
- RSPAMD_UPSTREAM_SEQUENTIAL))) {
+ RSPAMD_UPSTREAM_SEQUENTIAL, NULL, 0))) {
/* Create UDP socket */
if ((sock = rspamd_inet_address_connect (rspamd_upstream_addr (selected),
SOCK_DGRAM, TRUE)) == -1) {
diff --git a/src/plugins/surbl.c b/src/plugins/surbl.c
index c53fc00bd..e624ce6dd 100644
--- a/src/plugins/surbl.c
+++ b/src/plugins/surbl.c
@@ -1047,7 +1047,7 @@ register_redirector_call (struct rspamd_url *url, struct rspamd_task *task,
struct rspamd_http_message *msg;
selected = rspamd_upstream_get (surbl_module_ctx->redirectors,
- RSPAMD_UPSTREAM_ROUND_ROBIN);
+ RSPAMD_UPSTREAM_ROUND_ROBIN, url->host, url->hostlen);
if (selected) {
s = rspamd_inet_address_connect (rspamd_upstream_addr (selected),
diff --git a/src/smtp_proxy.c b/src/smtp_proxy.c
index 74c1da4c7..9c5364f1e 100644
--- a/src/smtp_proxy.c
+++ b/src/smtp_proxy.c
@@ -427,7 +427,7 @@ create_smtp_proxy_upstream_connection (struct smtp_proxy_session *session)
/* Try to select upstream */
selected = rspamd_upstream_get (session->ctx->upstreams,
- RSPAMD_UPSTREAM_ROUND_ROBIN);
+ RSPAMD_UPSTREAM_ROUND_ROBIN, NULL, 0);
if (selected == NULL) {
msg_err ("no upstreams suitable found");
return FALSE;
diff --git a/test/rspamd_upstream_test.c b/test/rspamd_upstream_test.c
index 6ed14dbf5..a446cc05d 100644
--- a/test/rspamd_upstream_test.c
+++ b/test/rspamd_upstream_test.c
@@ -39,7 +39,7 @@ rspamd_upstream_test_method (struct upstream_list *ls,
struct upstream *up;
if (rot != RSPAMD_UPSTREAM_HASHED) {
- up = rspamd_upstream_get (ls, rot);
+ up = rspamd_upstream_get (ls, rot, NULL, 0);
g_assert (up != NULL);
g_assert (strcmp (rspamd_upstream_name (up), expected) == 0);
}
@@ -133,7 +133,7 @@ rspamd_upstream_test_func (void)
*/
nls = rspamd_upstreams_create (cfg->ups_ctx);
g_assert (rspamd_upstreams_add_upstream (nls, "127.0.0.1", 0, NULL));
- up = rspamd_upstream_get (nls, RSPAMD_UPSTREAM_RANDOM);
+ up = rspamd_upstream_get (nls, RSPAMD_UPSTREAM_RANDOM, NULL, 0);
rspamd_parse_inet_address (&paddr, "127.0.0.2", 0);
g_assert (rspamd_upstream_add_addr (up, paddr));
rspamd_parse_inet_address (&paddr, "::1", 0);
@@ -152,7 +152,7 @@ rspamd_upstream_test_func (void)
evtimer_set (&ev, rspamd_upstream_timeout_handler, resolver);
event_base_set (ev_base, &ev);
- up = rspamd_upstream_get (ls, RSPAMD_UPSTREAM_MASTER_SLAVE);
+ up = rspamd_upstream_get (ls, RSPAMD_UPSTREAM_MASTER_SLAVE, NULL, 0);
for (i = 0; i < 100; i ++) {
rspamd_upstream_fail (up);
}