dovecot: Always keep a usable value in stream->max_buffer_size.
dovecot at dovecot.org
dovecot at dovecot.org
Sat Oct 20 19:17:05 EEST 2007
details: http://hg.dovecot.org/dovecot/rev/15a9ce2cc0ab
changeset: 6559:15a9ce2cc0ab
user: Timo Sirainen <tss at iki.fi>
date: Sat Oct 20 19:15:10 2007 +0300
description:
Always keep a usable value in stream->max_buffer_size.
diffstat:
6 files changed, 15 insertions(+), 5 deletions(-)
src/lib-mail/istream-header-filter.c | 2 ++
src/lib-storage/index/mbox/istream-raw-mbox.c | 2 ++
src/lib/istream-crlf.c | 2 ++
src/lib/istream-limit.c | 2 ++
src/lib/istream-seekable.c | 9 ++++-----
src/lib/istream-tee.c | 3 +++
diffs (143 lines):
diff -r 4a1caf69ca14 -r 15a9ce2cc0ab src/lib-mail/istream-header-filter.c
--- a/src/lib-mail/istream-header-filter.c Sat Oct 20 19:12:32 2007 +0300
+++ b/src/lib-mail/istream-header-filter.c Sat Oct 20 19:15:10 2007 +0300
@@ -55,6 +55,7 @@ i_stream_header_filter_set_max_buffer_si
struct header_filter_istream *mstream =
(struct header_filter_istream *)stream;
+ mstream->istream.max_buffer_size = max_size;
i_stream_set_max_buffer_size(mstream->input, max_size);
}
@@ -333,6 +334,7 @@ i_stream_create_header_filter(struct ist
mstream = i_new(struct header_filter_istream, 1);
mstream->pool = pool_alloconly_create("header filter stream", 4096);
+ mstream->istream.max_buffer_size = input->real_stream->max_buffer_size;
mstream->input = input;
i_stream_ref(mstream->input);
diff -r 4a1caf69ca14 -r 15a9ce2cc0ab src/lib-storage/index/mbox/istream-raw-mbox.c
--- a/src/lib-storage/index/mbox/istream-raw-mbox.c Sat Oct 20 19:12:32 2007 +0300
+++ b/src/lib-storage/index/mbox/istream-raw-mbox.c Sat Oct 20 19:15:10 2007 +0300
@@ -39,6 +39,7 @@ i_stream_raw_mbox_set_max_buffer_size(st
{
struct raw_mbox_istream *rstream = (struct raw_mbox_istream *)stream;
+ rstream->istream.max_buffer_size = max_size;
i_stream_set_max_buffer_size(rstream->input, max_size);
}
@@ -360,6 +361,7 @@ struct istream *i_stream_create_raw_mbox
rstream->received_time = (time_t)-1;
rstream->next_received_time = (time_t)-1;
+ rstream->istream.max_buffer_size = input->real_stream->max_buffer_size;
rstream->istream.iostream.destroy = i_stream_raw_mbox_destroy;
rstream->istream.iostream.set_max_buffer_size =
i_stream_raw_mbox_set_max_buffer_size;
diff -r 4a1caf69ca14 -r 15a9ce2cc0ab src/lib/istream-crlf.c
--- a/src/lib/istream-crlf.c Sat Oct 20 19:12:32 2007 +0300
+++ b/src/lib/istream-crlf.c Sat Oct 20 19:15:10 2007 +0300
@@ -25,6 +25,7 @@ i_stream_crlf_set_max_buffer_size(struct
{
struct crlf_istream *cstream = (struct crlf_istream *)stream;
+ cstream->istream.max_buffer_size = max_size;
i_stream_set_max_buffer_size(cstream->input, max_size);
}
@@ -129,6 +130,7 @@ i_stream_create_crlf_full(struct istream
cstream = i_new(struct crlf_istream, 1);
cstream->input = input;
cstream->crlf = crlf;
+ cstream->istream.max_buffer_size = input->real_stream->max_buffer_size;
cstream->istream.iostream.destroy = i_stream_crlf_destroy;
cstream->istream.iostream.set_max_buffer_size =
diff -r 4a1caf69ca14 -r 15a9ce2cc0ab src/lib/istream-limit.c
--- a/src/lib/istream-limit.c Sat Oct 20 19:12:32 2007 +0300
+++ b/src/lib/istream-limit.c Sat Oct 20 19:15:10 2007 +0300
@@ -26,6 +26,7 @@ i_stream_limit_set_max_buffer_size(struc
{
struct limit_istream *lstream = (struct limit_istream *) stream;
+ lstream->istream.max_buffer_size = max_size;
i_stream_set_max_buffer_size(lstream->input, max_size);
}
@@ -117,6 +118,7 @@ struct istream *i_stream_create_limit(st
lstream->input = input;
lstream->v_start_offset = v_start_offset;
lstream->v_size = v_size;
+ lstream->istream.max_buffer_size = input->real_stream->max_buffer_size;
lstream->istream.istream.v_offset =
input->v_offset < v_start_offset ? 0 :
diff -r 4a1caf69ca14 -r 15a9ce2cc0ab src/lib/istream-seekable.c
--- a/src/lib/istream-seekable.c Sat Oct 20 19:12:32 2007 +0300
+++ b/src/lib/istream-seekable.c Sat Oct 20 19:15:10 2007 +0300
@@ -18,7 +18,6 @@ struct seekable_istream {
struct seekable_istream {
struct istream_private istream;
- size_t max_buffer_size;
char *temp_prefix;
uoff_t write_peak;
@@ -63,7 +62,7 @@ i_stream_seekable_set_max_buffer_size(st
struct seekable_istream *sstream = (struct seekable_istream *)stream;
unsigned int i;
- sstream->max_buffer_size = max_size;
+ sstream->istream.max_buffer_size = max_size;
if (sstream->fd_input != NULL)
i_stream_set_max_buffer_size(sstream->fd_input, max_size);
for (i = 0; sstream->input[i] != NULL; i++)
@@ -123,7 +122,7 @@ static int copy_to_temp_file(struct seek
sstream->fd = fd;
sstream->fd_input =
- i_stream_create_fd(fd, sstream->max_buffer_size, TRUE);
+ i_stream_create_fd(fd, sstream->istream.max_buffer_size, TRUE);
return 0;
}
@@ -170,7 +169,7 @@ static bool read_from_buffer(struct seek
if (stream->istream.v_offset +
(stream->pos - stream->skip) >= sstream->buffer->used) {
/* need to read more */
- if (sstream->buffer->used >= sstream->max_buffer_size)
+ if (sstream->buffer->used >= stream->max_buffer_size)
return FALSE;
/* read more to buffer */
@@ -310,7 +309,7 @@ i_stream_create_seekable(struct istream
sstream = i_new(struct seekable_istream, 1);
sstream->temp_prefix = i_strdup(temp_prefix);
sstream->buffer = buffer_create_dynamic(default_pool, BUF_INITIAL_SIZE);
- sstream->max_buffer_size = max_buffer_size;
+ sstream->istream.max_buffer_size = max_buffer_size;
sstream->input = i_new(struct istream *, count + 1);
memcpy(sstream->input, input, sizeof(*input) * count);
diff -r 4a1caf69ca14 -r 15a9ce2cc0ab src/lib/istream-tee.c
--- a/src/lib/istream-tee.c Sat Oct 20 19:12:32 2007 +0300
+++ b/src/lib/istream-tee.c Sat Oct 20 19:15:10 2007 +0300
@@ -99,6 +99,7 @@ i_stream_tee_set_max_buffer_size(struct
{
struct tee_child_istream *tstream = (struct tee_child_istream *)stream;
+ tstream->istream.max_buffer_size = max_size;
i_stream_set_max_buffer_size(tstream->tee->input, max_size);
}
@@ -190,6 +191,8 @@ struct istream *tee_i_stream_create_chil
tstream = i_new(struct tee_child_istream, 1);
tstream->tee = tee;
+ tstream->istream.max_buffer_size =
+ tee->input->real_stream->max_buffer_size;
tstream->istream.iostream.close = i_stream_tee_close;
tstream->istream.iostream.destroy = i_stream_tee_destroy;
tstream->istream.iostream.set_max_buffer_size =
More information about the dovecot-cvs
mailing list