From 1d6b72a5ba80b7f56f20b67b92677ffba3994991 Mon Sep 17 00:00:00 2001 From: brain Date: Wed, 2 Aug 2006 11:50:01 +0000 Subject: (1) remove CleanAndResolve. (2) remove feature of being able to bind hostnames in tags (it used CleanAndResolve) :p (3) Fix the stuff in SpanningTree that used CleanAndResolve to validate connecting ip addresses - it now builds an 'allowed ip cache' on rehash/startup instead git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4637 e03df62e-2008-0410-955e-edbf42e46eb7 --- src/socket.cpp | 41 ++++++++--------------------------------- 1 file changed, 8 insertions(+), 33 deletions(-) (limited to 'src/socket.cpp') diff --git a/src/socket.cpp b/src/socket.cpp index ff460c473..e386e8188 100644 --- a/src/socket.cpp +++ b/src/socket.cpp @@ -43,51 +43,26 @@ bool BindSocket(int sockfd, insp_sockaddr client, insp_sockaddr server, int port if (*addr == '*') *addr = 0; - - if (*addr && (insp_aton(addr,&addy) < 1)) - { - /* If they gave a hostname, bind to the IP it resolves to */ - if (CleanAndResolve(resolved_addr, addr, true, 1)) - { - insp_aton(resolved_addr,&addy); - log(DEFAULT,"Resolved binding '%s' -> '%s'",addr,resolved_addr); -#ifdef IPV6 - /* Todo: Deal with resolution of IPV6 */ - server.sin6_addr = addy; -#else - server.sin_addr = addy; -#endif - resolved = true; - } - else - { - log(DEFAULT,"WARNING: Could not resolve '%s' to an IP for binding to on port %d",addr,port); - return false; - } - } #ifdef IPV6 server.sin6_family = AF_FAMILY; #else server.sin_family = AF_FAMILY; #endif - if (!resolved) + if (!*addr) { - if (!*addr) - { #ifdef IPV6 - memcpy(&addy, &server.sin6_addr, sizeof(in6_addr)); + memcpy(&addy, &server.sin6_addr, sizeof(in6_addr)); #else - server.sin_addr.s_addr = htonl(INADDR_ANY); + server.sin_addr.s_addr = htonl(INADDR_ANY); #endif - } - else - { + } + else + { #ifdef IPV6 - memcpy(&addy, &server.sin6_addr, sizeof(in6_addr)); + memcpy(&addy, &server.sin6_addr, sizeof(in6_addr)); #else - server.sin_addr = addy; + server.sin_addr = addy; #endif - } } #ifdef IPV6 server.sin6_port = htons(port); -- cgit v1.3.1-10-gc9f91