dovecot-2.0: director: Fixed director_doveadm_port setting to ac...

dovecot at dovecot.org dovecot at dovecot.org
Fri Jul 23 22:47:34 EEST 2010


details:   http://hg.dovecot.org/dovecot-2.0/rev/3ef50adb7abf
changeset: 11898:3ef50adb7abf
user:      Timo Sirainen <tss at iki.fi>
date:      Fri Jul 23 20:47:29 2010 +0100
description:
director: Fixed director_doveadm_port setting to actually work.

diffstat:

 src/director/main.c |  7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diffs (26 lines):

diff -r b60e225386bf -r 3ef50adb7abf src/director/main.c
--- a/src/director/main.c	Fri Jul 23 20:37:35 2010 +0100
+++ b/src/director/main.c	Fri Jul 23 20:47:29 2010 +0100
@@ -44,7 +44,7 @@
 	struct auth_connection *auth;
 	const char *path, *name, *socket_path;
 	struct ip_addr ip;
-	unsigned int port, len;
+	unsigned int local_port, len;
 	bool userdb;
 
 	if (conn->fifo) {
@@ -57,10 +57,11 @@
 		return;
 	}
 
-	if (net_getpeername(conn->fd, &ip, &port) == 0 &&
+	if (net_getpeername(conn->fd, &ip, NULL) == 0 &&
+	    net_getsockname(conn->fd, NULL, &local_port) == 0 &&
 	    (IPADDR_IS_V4(&ip) || IPADDR_IS_V6(&ip))) {
 		/* TCP/IP connection */
-		if (port == director->set->director_doveadm_port) {
+		if (local_port == director->set->director_doveadm_port) {
 			master_service_client_connection_accept(conn);
 			(void)doveadm_connection_init(director, conn->fd);
 		} else {


More information about the dovecot-cvs mailing list