]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib: Add connection_streams_changed()
authorTimo Sirainen <timo.sirainen@dovecot.fi>
Thu, 8 Feb 2018 08:52:57 +0000 (10:52 +0200)
committerVille Savolainen <ville.savolainen@dovecot.fi>
Wed, 14 Feb 2018 09:59:55 +0000 (11:59 +0200)
Originally by Stephan Bosch

src/lib/connection.c
src/lib/connection.h

index f2d54efcaacc97539c1c1b23d4e11af62680173c..1a5d6b8bd421d59ac313da2b9ae4330c51127c88 100644 (file)
@@ -165,6 +165,16 @@ static void connection_init_streams(struct connection *conn)
        }
 }
 
+void connection_streams_changed(struct connection *conn)
+{
+       const struct connection_settings *set = &conn->list->set;
+
+       if (set->input_max_size != 0 && conn->io != NULL) {
+               io_remove(&conn->io);
+               conn->io = io_add_istream(conn->input, *conn->list->v.input, conn);
+       }
+}
+
 static void connection_client_connected(struct connection *conn, bool success)
 {
        i_assert(conn->list->set.client);
index 70dc2f24a5172ebc35034da8a434b87a0aa34b21..bdfde1d81a187a8455e06d17e3d8a86c7d2c2d21 100644 (file)
@@ -129,6 +129,8 @@ int connection_client_connect(struct connection *conn);
 void connection_disconnect(struct connection *conn);
 void connection_deinit(struct connection *conn);
 
+void connection_streams_changed(struct connection *conn);
+
 /* Returns -1 = disconnected, 0 = nothing new, 1 = something new.
    If input_full_behavior is ALLOW, may return also -2 = buffer full. */
 int connection_input_read(struct connection *conn);