summaryrefslogtreecommitdiffstats
path: root/src/smtp_proto.c
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@rambler-co.ru>2010-06-18 22:07:28 +0400
committerVsevolod Stakhov <vsevolod@rambler-co.ru>2010-06-18 22:07:28 +0400
commit9759175c6dcb897101db3528dc4f36e8c20639c1 (patch)
tree0452c2167c33c71990fc2713925d395e14651635 /src/smtp_proto.c
parente4eb49311b06fc0f820fb64d800d15a295d190a6 (diff)
downloadrspamd-9759175c6dcb897101db3528dc4f36e8c20639c1.tar.gz
rspamd-9759175c6dcb897101db3528dc4f36e8c20639c1.zip
* New logic of SURBL module:
- remove completely 2tld - add option "exception" - for domains from exception list check (level + 1) parts of url: If we have url mail.some.com.ru and have com.ru in exception list then we would check some.com.ru. If we have some.com.ru in exceptions list them mail.some.com.ru would be checked and so on. - optimized parsing of surbl requests * Use system mkstemp(3) on systems where it is available as glib implementation has poor security and generate rather predictable temporary file names.
Diffstat (limited to 'src/smtp_proto.c')
-rw-r--r--src/smtp_proto.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/smtp_proto.c b/src/smtp_proto.c
index e372cec55..f499efd7a 100644
--- a/src/smtp_proto.c
+++ b/src/smtp_proto.c
@@ -554,7 +554,12 @@ smtp_upstream_read_socket (f_str_t * in, void *arg)
r = strlen (session->cfg->temp_dir) + sizeof ("/rspamd-XXXXXX.tmp");
session->temp_name = memory_pool_alloc (session->pool, r);
snprintf (session->temp_name, r, "%s%crspamd-XXXXXX.tmp", session->cfg->temp_dir, G_DIR_SEPARATOR);
+#ifdef HAVE_MKSTEMP
+ /* Umask is set before */
+ session->temp_fd = mkstemp (session->temp_name);
+#else
session->temp_fd = g_mkstemp_full (session->temp_name, O_RDWR, S_IWUSR | S_IRUSR);
+#endif
if (session->temp_fd == -1) {
session->error = SMTP_ERROR_FILE;
session->state = SMTP_STATE_CRITICAL_ERROR;