From: Alan T. DeKok Date: Thu, 16 Sep 2010 19:17:10 +0000 (+0200) Subject: Fix logic for using udpfromto X-Git-Tag: release_3_0_0_beta0~1244 X-Git-Url: http://www.project-moonshot.org/gitweb/?p=freeradius.git;a=commitdiff_plain;h=ece2d10953bc44313e2384358a809ee54eb49c5e Fix logic for using udpfromto Notes from bug #110 --- diff --git a/src/lib/radius.c b/src/lib/radius.c index 62751df..37757a8 100644 --- a/src/lib/radius.c +++ b/src/lib/radius.c @@ -233,7 +233,7 @@ static int rad_sendto(int sockfd, void *data, size_t data_len, int flags, * And if they don't specify a source IP address, don't * use udpfromto. */ - if ((dst_ipaddr->af == AF_INET) || + if ((dst_ipaddr->af == AF_INET) && (src_ipaddr->af != AF_UNSPEC)) { return sendfromto(sockfd, data, data_len, flags, (struct sockaddr *)&src, sizeof_src, diff --git a/src/lib/vqp.c b/src/lib/vqp.c index 8dec957..bb1d21f 100644 --- a/src/lib/vqp.c +++ b/src/lib/vqp.c @@ -102,7 +102,7 @@ static int vqp_sendto(int sockfd, void *data, size_t data_len, int flags, * And if they don't specify a source IP address, don't * use udpfromto. */ - if ((dst_ipaddr->af == AF_INET) || + if ((dst_ipaddr->af == AF_INET) && (src_ipaddr->af != AF_UNSPEC)) { return sendfromto(sockfd, data, data_len, flags, (struct sockaddr *)&src, sizeof_src,