From: Alan T. DeKok Date: Sun, 20 Feb 2011 08:39:57 +0000 (+0100) Subject: Print error if we can't send a packet in rad_send() X-Git-Tag: release_2_1_11~114 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=153acdfcdd5130037389735cb759f0eacb17db55;p=thirdparty%2Ffreeradius-server.git Print error if we can't send a packet in rad_send() --- diff --git a/src/lib/radius.c b/src/lib/radius.c index cf3785dd8f3..826270f4781 100644 --- a/src/lib/radius.c +++ b/src/lib/radius.c @@ -210,6 +210,7 @@ static int rad_sendto(int sockfd, void *data, size_t data_len, int flags, fr_ipaddr_t *src_ipaddr, int src_port, fr_ipaddr_t *dst_ipaddr, int dst_port) { + int rcode; struct sockaddr_storage dst; socklen_t sizeof_dst; @@ -233,9 +234,10 @@ static int rad_sendto(int sockfd, void *data, size_t data_len, int flags, */ if (((dst_ipaddr->af == AF_INET) || (dst_ipaddr->af == AF_INET6)) && (src_ipaddr->af != AF_UNSPEC)) { - return sendfromto(sockfd, data, data_len, flags, - (struct sockaddr *)&src, sizeof_src, - (struct sockaddr *)&dst, sizeof_dst); + rcode = sendfromto(sockfd, data, data_len, flags, + (struct sockaddr *)&src, sizeof_src, + (struct sockaddr *)&dst, sizeof_dst); + goto done; } #else src_ipaddr = src_ipaddr; /* -Wunused */ @@ -244,8 +246,14 @@ static int rad_sendto(int sockfd, void *data, size_t data_len, int flags, /* * No udpfromto, fail gracefully. */ - return sendto(sockfd, data, data_len, flags, - (struct sockaddr *) &dst, sizeof_dst); + rcode = sendto(sockfd, data, data_len, flags, + (struct sockaddr *) &dst, sizeof_dst); +done: + if (rcode < 0) { + DEBUG("rad_send() failed: %s\n", strerror(errno)); + } + + return rcode; }