dovecot-2.2: login proxy: Removed host DNS lookup code, since au...

dovecot at dovecot.org dovecot at dovecot.org
Sat Feb 25 05:13:46 EET 2012


details:   http://hg.dovecot.org/dovecot-2.2/rev/da36d22ab37a
changeset: 14157:da36d22ab37a
user:      Timo Sirainen <tss at iki.fi>
date:      Sat Feb 25 05:13:27 2012 +0200
description:
login proxy: Removed host DNS lookup code, since auth does it now.

diffstat:

 src/login-common/Makefile.am          |   1 -
 src/login-common/client-common-auth.c |   2 --
 src/login-common/login-proxy.c        |  33 +++------------------------------
 src/login-common/login-proxy.h        |   1 -
 4 files changed, 3 insertions(+), 34 deletions(-)

diffs (111 lines):

diff -r 8e2f395cf86c -r da36d22ab37a src/login-common/Makefile.am
--- a/src/login-common/Makefile.am	Sat Feb 25 05:11:59 2012 +0200
+++ b/src/login-common/Makefile.am	Sat Feb 25 05:13:27 2012 +0200
@@ -4,7 +4,6 @@
 	-I$(top_srcdir)/src/lib \
 	-I$(top_srcdir)/src/lib-settings \
 	-I$(top_srcdir)/src/lib-auth \
-	-I$(top_srcdir)/src/lib-dns \
 	-I$(top_srcdir)/src/lib-master \
 	-I$(top_srcdir)/src/lib-ssl-iostream \
 	-DPKG_STATEDIR=\""$(statedir)"\"
diff -r 8e2f395cf86c -r da36d22ab37a src/login-common/client-common-auth.c
--- a/src/login-common/client-common-auth.c	Sat Feb 25 05:11:59 2012 +0200
+++ b/src/login-common/client-common-auth.c	Sat Feb 25 05:13:27 2012 +0200
@@ -14,7 +14,6 @@
 #include <stdlib.h>
 
 #define PROXY_FAILURE_MSG "Account is temporarily unavailable."
-#define LOGIN_DNS_CLIENT_SOCKET_PATH "dns-client"
 
 /* If we've been waiting auth server to respond for over this many milliseconds,
    send a "waiting" message. */
@@ -297,7 +296,6 @@
 	memset(&proxy_set, 0, sizeof(proxy_set));
 	proxy_set.host = reply->host;
 	proxy_set.port = reply->port;
-	proxy_set.dns_client_socket_path = LOGIN_DNS_CLIENT_SOCKET_PATH;
 	proxy_set.connect_timeout_msecs = reply->proxy_timeout_msecs;
 	proxy_set.notify_refresh_secs = reply->proxy_refresh_secs;
 	proxy_set.ssl_flags = reply->ssl_flags;
diff -r 8e2f395cf86c -r da36d22ab37a src/login-common/login-proxy.c
--- a/src/login-common/login-proxy.c	Sat Feb 25 05:11:59 2012 +0200
+++ b/src/login-common/login-proxy.c	Sat Feb 25 05:13:27 2012 +0200
@@ -10,7 +10,6 @@
 #include "time-util.h"
 #include "master-service.h"
 #include "ipc-server.h"
-#include "dns-lookup.h"
 #include "client-common.h"
 #include "ssl-proxy.h"
 #include "login-proxy-state.h"
@@ -19,7 +18,6 @@
 #define MAX_PROXY_INPUT_SIZE 4096
 #define OUTBUF_THRESHOLD 1024
 #define LOGIN_PROXY_DIE_IDLE_SECS 2
-#define LOGIN_PROXY_DNS_WARN_MSECS 500
 #define LOGIN_PROXY_IPC_PATH "ipc-proxy"
 #define LOGIN_PROXY_IPC_NAME "proxy"
 #define KILLED_BY_ADMIN_REASON "Killed by admin"
@@ -266,32 +264,11 @@
 	return 0;
 }
 
-static void login_proxy_dns_done(const struct dns_lookup_result *result,
-				 struct login_proxy *proxy)
-{
-	if (result->ret != 0) {
-		i_error("proxy(%s): DNS lookup of %s failed: %s",
-			proxy->client->virtual_user, proxy->host,
-			result->error);
-		login_proxy_free(&proxy);
-	} else {
-		if (result->msecs > LOGIN_PROXY_DNS_WARN_MSECS) {
-			i_warning("proxy(%s): DNS lookup for %s took %u.%03u s",
-				  proxy->client->virtual_user, proxy->host,
-				  result->msecs/1000, result->msecs % 1000);
-		}
-
-		proxy->ip = result->ips[0];
-		(void)login_proxy_connect(proxy);
-	}
-}
-
 int login_proxy_new(struct client *client,
 		    const struct login_proxy_settings *set,
 		    proxy_callback_t *callback)
 {
 	struct login_proxy *proxy;
-	struct dns_lookup_settings dns_lookup_set;
 
 	i_assert(client->login_proxy == NULL);
 
@@ -312,14 +289,10 @@
 	proxy->ssl_flags = set->ssl_flags;
 	client_ref(client);
 
-	memset(&dns_lookup_set, 0, sizeof(dns_lookup_set));
-	dns_lookup_set.dns_client_socket_path = set->dns_client_socket_path;
-	dns_lookup_set.timeout_msecs = set->connect_timeout_msecs;
-
 	if (net_addr2ip(set->host, &proxy->ip) < 0) {
-		if (dns_lookup(set->host, &dns_lookup_set,
-			       login_proxy_dns_done, proxy) < 0)
-			return -1;
+		i_error("proxy(%s): BUG: host %s is not an IP "
+			"(auth should have changed it)",
+			client->virtual_user, set->host);
 	} else {
 		if (login_proxy_connect(proxy) < 0)
 			return -1;
diff -r 8e2f395cf86c -r da36d22ab37a src/login-common/login-proxy.h
--- a/src/login-common/login-proxy.h	Sat Feb 25 05:11:59 2012 +0200
+++ b/src/login-common/login-proxy.h	Sat Feb 25 05:13:27 2012 +0200
@@ -15,7 +15,6 @@
 
 struct login_proxy_settings {
 	const char *host;
-	const char *dns_client_socket_path;
 	unsigned int port;
 	unsigned int connect_timeout_msecs;
 	/* send a notification about proxy connection to proxy-notify pipe


More information about the dovecot-cvs mailing list