From ece2d10953bc44313e2384358a809ee54eb49c5e Mon Sep 17 00:00:00 2001 From: "Alan T. DeKok" Date: Thu, 16 Sep 2010 21:17:10 +0200 Subject: [PATCH] Fix logic for using udpfromto Notes from bug #110 --- src/lib/radius.c | 2 +- src/lib/vqp.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) 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, -- 2.1.4