bool seen_eof;
};
+static void i_stream_ssl_close(struct iostream_private *stream)
+{
+ struct ssl_istream *sstream = (struct ssl_istream *)stream;
+
+ i_stream_close(sstream->ssl_io->plain_input);
+}
+
static void i_stream_ssl_destroy(struct iostream_private *stream)
{
struct ssl_istream *sstream = (struct ssl_istream *)stream;
sstream = i_new(struct ssl_istream, 1);
sstream->ssl_io = ssl_io;
+ sstream->istream.iostream.close = i_stream_ssl_close;
sstream->istream.iostream.destroy = i_stream_ssl_destroy;
sstream->istream.max_buffer_size =
ssl_io->plain_input->real_stream->max_buffer_size;
buffer_t *buffer;
};
-static void i_stream_ssl_destroy(struct iostream_private *stream)
+static void o_stream_ssl_close(struct iostream_private *stream)
+{
+ struct ssl_ostream *sstream = (struct ssl_ostream *)stream;
+
+ o_stream_close(sstream->ssl_io->plain_output);
+}
+
+static void o_stream_ssl_destroy(struct iostream_private *stream)
{
struct ssl_ostream *sstream = (struct ssl_ostream *)stream;
sstream->ssl_io = ssl_io;
sstream->ostream.max_buffer_size =
ssl_io->plain_output->real_stream->max_buffer_size;
- sstream->ostream.iostream.destroy = i_stream_ssl_destroy;
+ sstream->ostream.iostream.close = o_stream_ssl_close;
+ sstream->ostream.iostream.destroy = o_stream_ssl_destroy;
sstream->ostream.sendv = o_stream_ssl_sendv;
sstream->ostream.flush = o_stream_ssl_flush;