From: Alan T. DeKok Date: Tue, 14 Sep 2010 00:37:36 +0000 (+0200) Subject: Be more forgiving when starting proxy sockets. X-Git-Tag: release_3_0_0_beta0~1253 X-Git-Url: http://www.project-moonshot.org/gitweb/?p=freeradius.git;a=commitdiff_plain;h=d912e4a79e9a74aa9e2d3ae4b8f0ed6012fec9fa Be more forgiving when starting proxy sockets. Manual merge of 92beaf4f00ef --- diff --git a/src/main/listen.c b/src/main/listen.c index 6effff6..9143fa2 100644 --- a/src/main/listen.c +++ b/src/main/listen.c @@ -2713,6 +2713,18 @@ add_sockets: * and use it */ for (this = *head; this != NULL; this = this->next) { + /* + * We shouldn't proxy on loopback. + */ + if ((sock->my_ipaddr.af == AF_INET) && + (sock->my_ipaddr.ipaddr.ip4addr.s_addr == htonl(INADDR_LOOPBACK))) continue; + + +#ifdef HAVE_STRUCT_SOCKADDR_IN6 + if ((sock->my_ipaddr.af == AF_INET6) && + (IN6_IS_ADDR_LINKLOCAL(&sock->my_ipaddr.ipaddr.ip6addr))) continue; +#endif + if (this->type == RAD_LISTEN_AUTH) { sock = this->data; if (home.src_ipaddr.af == AF_UNSPEC) {