dovecot-2.1: imapc: If imapc_host is IP, don't look it up via dn...

dovecot at dovecot.org dovecot at dovecot.org
Fri Jan 27 14:46:46 EET 2012


details:   http://hg.dovecot.org/dovecot-2.1/rev/6e6c20ab1ed1
changeset: 14008:6e6c20ab1ed1
user:      Timo Sirainen <tss at iki.fi>
date:      Fri Jan 27 14:46:38 2012 +0200
description:
imapc: If imapc_host is IP, don't look it up via dns-client service.

diffstat:

 src/lib-imap-client/imapc-connection.c |  8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diffs (25 lines):

diff -r c330960e6bcb -r 6e6c20ab1ed1 src/lib-imap-client/imapc-connection.c
--- a/src/lib-imap-client/imapc-connection.c	Fri Jan 27 14:35:38 2012 +0200
+++ b/src/lib-imap-client/imapc-connection.c	Fri Jan 27 14:46:38 2012 +0200
@@ -1340,6 +1340,7 @@
 			      void *login_context)
 {
 	struct dns_lookup_settings dns_set;
+	struct ip_addr ip;
 
 	if (conn->fd != -1) {
 		i_assert(login_callback == NULL);
@@ -1360,6 +1361,13 @@
 	dns_set.timeout_msecs = IMAPC_DNS_LOOKUP_TIMEOUT_MSECS;
 
 	imapc_connection_set_state(conn, IMAPC_CONNECTION_STATE_CONNECTING);
+	if (conn->ips_count == 0 &&
+	    net_addr2ip(conn->client->set.host, &ip) == 0) {
+		conn->ips_count = 1;
+		conn->ips = i_new(struct ip_addr, conn->ips_count);
+		conn->ips[0] = ip;
+	}
+
 	if (conn->ips_count == 0) {
 		(void)dns_lookup(conn->client->set.host, &dns_set,
 				 imapc_connection_dns_callback, conn);


More information about the dovecot-cvs mailing list