]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
If the source address is INADDR_ANY, don't use udpfromto
authorAlan T. DeKok <aland@freeradius.org>
Mon, 14 Mar 2011 11:04:56 +0000 (12:04 +0100)
committerAlan T. DeKok <aland@freeradius.org>
Mon, 14 Mar 2011 11:04:56 +0000 (12:04 +0100)
It breaks various systems.  Closes bug #148

src/lib/radius.c

index 809d88b31632f2a1e0c2aea2bae956837a758416..79b4bbf46c7c6803d311ccbdfda25a3fe0c553eb 100644 (file)
@@ -233,7 +233,8 @@ static int rad_sendto(int sockfd, void *data, size_t data_len, int flags,
         *      use udpfromto.
         */
        if (((dst_ipaddr->af == AF_INET) || (dst_ipaddr->af == AF_INET6)) &&
-           (src_ipaddr->af != AF_UNSPEC)) {
+           (src_ipaddr->af != AF_UNSPEC) &&
+           !fr_inaddr_any(src_ipaddr)) {
                rcode = sendfromto(sockfd, data, data_len, flags,
                                   (struct sockaddr *)&src, sizeof_src,
                                   (struct sockaddr *)&dst, sizeof_dst);