[dovecot-cvs] dovecot/src/imap client.c, 1.58, 1.59 client.h, 1.30, 1.31 cmd-append.c, 1.68, 1.69

cras at dovecot.org cras at dovecot.org
Wed Jan 4 23:05:32 EET 2006


Update of /var/lib/cvs/dovecot/src/imap
In directory talvi:/tmp/cvs-serv1273

Modified Files:
	client.c client.h cmd-append.c 
Log Message:
If append command failed because input line was too long (highly unlikely),
we didn't properly reset flush callback.



Index: client.c
===================================================================
RCS file: /var/lib/cvs/dovecot/src/imap/client.c,v
retrieving revision 1.58
retrieving revision 1.59
diff -u -d -r1.58 -r1.59
--- client.c	25 Dec 2005 10:51:25 -0000	1.58
+++ client.c	4 Jan 2006 21:05:30 -0000	1.59
@@ -15,6 +15,8 @@
 static struct client *my_client; /* we don't need more than one currently */
 static struct timeout *to_idle;
 
+static int _client_output(void *context);
+
 struct client *client_create(int hin, int hout, struct namespace *namespaces)
 {
 	struct client *client;
@@ -250,6 +252,7 @@
 		client->io = io_add(i_stream_get_fd(client->input),
 				    IO_READ, _client_input, client);
 	}
+	o_stream_set_flush_callback(client->output, _client_output, client);
 
 	pool = client->cmd.pool;
 	memset(&client->cmd, 0, sizeof(client->cmd));
@@ -407,7 +410,7 @@
 		client_destroy(client);
 }
 
-int _client_output(void *context)
+static int _client_output(void *context)
 {
 	struct client *client = context;
 	struct client_command_context *cmd = &client->cmd;

Index: client.h
===================================================================
RCS file: /var/lib/cvs/dovecot/src/imap/client.h,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -d -r1.30 -r1.31
--- client.h	7 Aug 2005 11:41:20 -0000	1.30
+++ client.h	4 Jan 2006 21:05:30 -0000	1.31
@@ -87,6 +87,5 @@
 
 void _client_reset_command(struct client *client);
 void _client_input(void *context);
-int _client_output(void *context);
 
 #endif

Index: cmd-append.c
===================================================================
RCS file: /var/lib/cvs/dovecot/src/imap/cmd-append.c,v
retrieving revision 1.68
retrieving revision 1.69
diff -u -d -r1.68 -r1.69
--- cmd-append.c	25 Dec 2005 11:24:45 -0000	1.68
+++ cmd-append.c	4 Jan 2006 21:05:30 -0000	1.69
@@ -61,8 +61,6 @@
 		/* command execution was finished */
 		client->bad_counter = 0;
 		_client_reset_command(client);
-		o_stream_set_flush_callback(client->output,
-					    _client_output, client);
 
 		if (client->input_pending)
 			_client_input(client);



More information about the dovecot-cvs mailing list