aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2014-11-11 17:27:14 +0000
committerVsevolod Stakhov <vsevolod@highsecure.ru>2014-11-11 17:27:14 +0000
commitf15cf65c6ae417e7744492b3e3961749637b123d (patch)
treef20de1d55c17c7466bfc209d20bdbe7d7539c719 /src
parentc09c7caa5f04bd0da62ebcabe9243dd0f9ed99f1 (diff)
downloadrspamd-f15cf65c6ae417e7744492b3e3961749637b123d.tar.gz
rspamd-f15cf65c6ae417e7744492b3e3961749637b123d.zip
Fix timeouts in redirector.
Diffstat (limited to 'src')
-rw-r--r--src/plugins/surbl.c9
-rw-r--r--src/plugins/surbl.h8
2 files changed, 6 insertions, 11 deletions
diff --git a/src/plugins/surbl.c b/src/plugins/surbl.c
index 931eb844c..8e4c41205 100644
--- a/src/plugins/surbl.c
+++ b/src/plugins/surbl.c
@@ -879,10 +879,7 @@ redirector_callback (gint fd, short what, void *arg)
timeout =
rspamd_mempool_alloc (param->task->task_pool,
sizeof (struct timeval));
- timeout->tv_sec = surbl_module_ctx->read_timeout / 1000;
- timeout->tv_usec =
- (surbl_module_ctx->read_timeout - timeout->tv_sec *
- 1000) * 1000;
+ double_to_tv (surbl_module_ctx->read_timeout, timeout);
event_del (&param->ev);
event_set (&param->ev,
param->sock,
@@ -1021,9 +1018,7 @@ register_redirector_call (struct uri *url, struct rspamd_task *task,
param->buf = g_string_sized_new (1024);
param->tree = tree;
timeout = rspamd_mempool_alloc (task->task_pool, sizeof (struct timeval));
- timeout->tv_sec = surbl_module_ctx->connect_timeout / 1000;
- timeout->tv_usec =
- (surbl_module_ctx->connect_timeout - timeout->tv_sec * 1000) * 1000;
+ double_to_tv (surbl_module_ctx->connect_timeout, timeout);
event_set (&param->ev, s, EV_WRITE, redirector_callback, (void *)param);
event_add (&param->ev, timeout);
register_async_event (task->s,
diff --git a/src/plugins/surbl.h b/src/plugins/surbl.h
index a224e895a..7701c8304 100644
--- a/src/plugins/surbl.h
+++ b/src/plugins/surbl.h
@@ -7,8 +7,8 @@
#define DEFAULT_REDIRECTOR_PORT 8080
#define DEFAULT_SURBL_WEIGHT 10
-#define DEFAULT_REDIRECTOR_CONNECT_TIMEOUT 1000
-#define DEFAULT_REDIRECTOR_READ_TIMEOUT 5000
+#define DEFAULT_REDIRECTOR_CONNECT_TIMEOUT 1.0
+#define DEFAULT_REDIRECTOR_READ_TIMEOUT 5.0
#define DEFAULT_SURBL_MAX_URLS 1000
#define DEFAULT_SURBL_URL_EXPIRE 86400
#define DEFAULT_SURBL_SYMBOL "SURBL_DNS"
@@ -19,8 +19,8 @@
struct surbl_ctx {
gint (*filter)(struct rspamd_task *task);
guint16 weight;
- guint connect_timeout;
- guint read_timeout;
+ gdouble connect_timeout;
+ gdouble read_timeout;
guint max_urls;
guint url_expire;
GList *suffixes;