Преглед изворни кода

* Try to fix memmove issues in io dispatcher

* Remove debug from SURBL module
tags/0.3.1
Vsevolod Stakhov пре 14 година
родитељ
комит
d81433607b
2 измењених фајлова са 11 додато и 11 уклоњено
  1. 11
    5
      src/buffer.c
  2. 0
    6
      src/plugins/surbl.c

+ 11
- 5
src/buffer.c Прегледај датотеку

@@ -337,8 +337,6 @@ read_buffers (int fd, rspamd_io_dispatcher_t * d, gboolean skip_read)
/* Include EOL in reply */
res.len ++;
}
/* Set new begin of line */
b = c + 1;
/* Call callback for a line */
if (d->read_callback) {
if (!d->read_callback (&res, d->user_data)) {
@@ -348,14 +346,22 @@ read_buffers (int fd, rspamd_io_dispatcher_t * d, gboolean skip_read)
/* Drain buffer as policy is changed */
len = &d->in_buf->data->len;
pos = &d->in_buf->pos;
memmove (d->in_buf->data->begin, b, c - b + 1);
*len = c - b + 1;
*pos = d->in_buf->data->begin + *len;
if (c != *pos) {
memmove (d->in_buf->data->begin, c + 1, *len - r - 1);
*len = *len -r - 1;
*pos = d->in_buf->data->begin + *len;
}
else {
*len = 0;
*pos = d->in_buf->data->begin;
}
debug_ip (d->peer_addr, "policy changed during callback, restart buffer's processing");
read_buffers (fd, d, TRUE);
return;
}
}
/* Set new begin of line */
b = c + 1;
}
r++;
c++;

+ 0
- 6
src/plugins/surbl.c Прегледај датотеку

@@ -382,12 +382,6 @@ format_surbl_request (memory_pool_t * pool, f_str_t * hostname, struct suffix_it
r = snprintf (result, len, "%*s",
(int)(hostname->len - (dots[dots_num - 2] - hostname->begin + 1)),
dots[dots_num - 2] + 1);
for (i = 0; i < dots_num; i ++) {
msg_info ("dot: %d, data: %*s", i,
(int)(hostname->len - (dots[i] - hostname->begin + 1)),
dots[i] + 1);
}
}
else {
r = snprintf (result, len, "%*s", (int)hostname->len, hostname->begin);

Loading…
Откажи
Сачувај