From: Timo Sirainen Date: Mon, 7 Sep 2015 19:35:30 +0000 (+0300) Subject: Various passthrough istreams didn't preserve readable_fd. X-Git-Tag: 2.2.19.rc1~79 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=25fb397382c6f7d39bfeee85774e7675f02bfb3c;p=thirdparty%2Fdovecot%2Fcore.git Various passthrough istreams didn't preserve readable_fd. --- diff --git a/src/lib-storage/index/istream-mail.c b/src/lib-storage/index/istream-mail.c index 8262cc08a9..6b77fd443f 100644 --- a/src/lib-storage/index/istream-mail.c +++ b/src/lib-storage/index/istream-mail.c @@ -146,6 +146,7 @@ struct istream *i_stream_create_mail(struct mail *mail, struct istream *input, mstream->istream.read = i_stream_mail_read; + mstream->istream.istream.readable_fd = input->readable_fd; mstream->istream.istream.blocking = input->blocking; mstream->istream.istream.seekable = input->seekable; return i_stream_create(&mstream->istream, input, diff --git a/src/lib/istream-failure-at.c b/src/lib/istream-failure-at.c index f87909e032..5942a24e35 100644 --- a/src/lib/istream-failure-at.c +++ b/src/lib/istream-failure-at.c @@ -72,6 +72,7 @@ i_stream_create_failure_at(struct istream *input, uoff_t failure_offset, fstream->istream.read = i_stream_failure_at_read; fstream->istream.iostream.destroy = i_stream_failure_at_destroy; + fstream->istream.istream.readable_fd = input->readable_fd; fstream->istream.istream.blocking = input->blocking; fstream->istream.istream.seekable = input->seekable; diff --git a/src/lib/istream-hash.c b/src/lib/istream-hash.c index d60b847979..e25abdaa64 100644 --- a/src/lib/istream-hash.c +++ b/src/lib/istream-hash.c @@ -74,6 +74,7 @@ i_stream_create_hash(struct istream *input, const struct hash_method *method, hstream->istream.read = i_stream_hash_read; hstream->istream.seek = i_stream_hash_seek; + hstream->istream.istream.readable_fd = input->readable_fd; hstream->istream.istream.blocking = input->blocking; hstream->istream.istream.seekable = input->seekable; diff --git a/src/lib/istream-timeout.c b/src/lib/istream-timeout.c index b4dce85a6e..dca30986ec 100644 --- a/src/lib/istream-timeout.c +++ b/src/lib/istream-timeout.c @@ -135,6 +135,7 @@ i_stream_create_timeout(struct istream *input, unsigned int timeout_msecs) tstream->istream.switch_ioloop = i_stream_timeout_switch_ioloop; tstream->istream.iostream.close = i_stream_timeout_close; + tstream->istream.istream.readable_fd = input->readable_fd; tstream->istream.istream.blocking = input->blocking; tstream->istream.istream.seekable = input->seekable; return i_stream_create(&tstream->istream, input,