dovecot-2.2: lib-master: Fix to previous commit.
dovecot at dovecot.org
dovecot at dovecot.org
Wed Oct 23 16:33:51 EEST 2013
details: http://hg.dovecot.org/dovecot-2.2/rev/487afab10a4b
changeset: 16875:487afab10a4b
user: Timo Sirainen <tss at iki.fi>
date: Wed Oct 23 16:33:43 2013 +0300
description:
lib-master: Fix to previous commit.
It broke doveadm-server's "does client need authentication?" check.
diffstat:
src/lib-master/master-service.c | 19 ++++++++++---------
1 files changed, 10 insertions(+), 9 deletions(-)
diffs (36 lines):
diff -r 25f6fbeff5d9 -r 487afab10a4b src/lib-master/master-service.c
--- a/src/lib-master/master-service.c Wed Oct 23 16:23:23 2013 +0300
+++ b/src/lib-master/master-service.c Wed Oct 23 16:33:43 2013 +0300
@@ -638,15 +638,6 @@
i_assert(service->master_status.available_count > 0);
service->master_status.available_count--;
master_status_update(service);
-
- if (service->master_status.available_count == 0 &&
- service->service_count_left == 1) {
- /* we're not going to accept any more connections after this.
- go ahead and close the connection early. */
- i_assert(service->listeners != NULL);
- master_service_io_listeners_remove(service);
- master_service_io_listeners_close(service);
- }
}
void master_service_client_connection_accept(struct master_service_connection *conn)
@@ -849,6 +840,16 @@
as real clients */
master_service_client_connection_destroyed(service);
}
+ if (service->master_status.available_count == 0 &&
+ service->service_count_left == 1) {
+ /* we're not going to accept any more connections after this.
+ go ahead and close the connection early. don't do this
+ before calling callback, because it may want to access
+ the listen_fd (e.g. to check socket permissions). */
+ i_assert(service->listeners != NULL);
+ master_service_io_listeners_remove(service);
+ master_service_io_listeners_close(service);
+ }
}
static void io_listeners_init(struct master_service *service)
More information about the dovecot-cvs
mailing list