]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
show errors that occur
authorAlan T. DeKok <aland@freeradius.org>
Thu, 9 Nov 2017 16:09:02 +0000 (11:09 -0500)
committerAlan T. DeKok <aland@freeradius.org>
Thu, 9 Nov 2017 16:09:02 +0000 (11:09 -0500)
src/lib/util/udp.c

index 91a0320016d6594d6fad5d7d010a715139328e8f..e04ab359e429a7085a3d6d2d06eedf55dd4bf4e7 100644 (file)
@@ -218,14 +218,23 @@ ssize_t udp_recv(int sockfd, void *data, size_t data_len, int flags,
        /*
         *      Get the destination address, if requested.
         */
-       if (dst_ipaddr && (getsockname(sockfd, (struct sockaddr *)&dst, &sizeof_dst) < 0)) return -1;
+       if (dst_ipaddr && (getsockname(sockfd, (struct sockaddr *)&dst, &sizeof_dst) < 0)) {
+               return -1;
+       }
 
        if (if_index) *if_index = 0;
 #endif
 
-       if (received < 0) return received;
+       if (received < 0) {
+               fr_strerror_printf("Failed reading socket: %s", fr_syserr(errno));
+               return received;
+       }
+
+       if (fr_ipaddr_from_sockaddr(&src, sizeof_src, src_ipaddr, &port) < 0) {
+               fr_strerror_printf("Failed converting sockaddr to ipaddr");
+               return -1;
+       }
 
-       if (fr_ipaddr_from_sockaddr(&src, sizeof_src, src_ipaddr, &port) < 0) return -1;
        *src_port = port;
 
        if (when && !when->tv_sec) gettimeofday(when, NULL);