Loading ares/adig.c +1 −1 Original line number Diff line number Diff line Loading @@ -289,7 +289,7 @@ int main(int argc, char **argv) break; tvp = ares_timeout(channel, NULL, &tv); count = select(nfds, &read_fds, &write_fds, NULL, tvp); if (count < 0 && errno != EINVAL) if (count < 0 && SOCKERRNO != EINVAL) { perror("select"); return 1; Loading ares/ares_init.c +13 −8 Original line number Diff line number Diff line Loading @@ -610,6 +610,7 @@ DhcpNameServer char *p; FILE *fp; int linesize; int error; fp = fopen(PATH_RESOLV_CONF, "r"); if (fp) { Loading @@ -635,13 +636,14 @@ DhcpNameServer fclose(fp); } else { switch(errno) { error = ERRNO; switch(error) { case ENOENT: status = ARES_EOF; break; default: DEBUGF(fprintf(stderr, "fopen() failed with error: %d %s\n", errno, strerror(errno))); error, strerror(error))); DEBUGF(fprintf(stderr, "Error opening file: %s\n", PATH_RESOLV_CONF)); status = ARES_EFILE; } Loading @@ -659,13 +661,14 @@ DhcpNameServer fclose(fp); } else { switch(errno) { error = ERRNO; switch(error) { case ENOENT: status = ARES_EOF; break; default: DEBUGF(fprintf(stderr, "fopen() failed with error: %d %s\n", errno, strerror(errno))); error, strerror(error))); DEBUGF(fprintf(stderr, "Error opening file: %s\n", "/etc/nsswitch.conf")); status = ARES_EFILE; } Loading @@ -684,13 +687,14 @@ DhcpNameServer fclose(fp); } else { switch(errno) { error = ERRNO; switch(error) { case ENOENT: status = ARES_EOF; break; default: DEBUGF(fprintf(stderr, "fopen() failed with error: %d %s\n", errno, strerror(errno))); error, strerror(error))); DEBUGF(fprintf(stderr, "Error opening file: %s\n", "/etc/host.conf")); status = ARES_EFILE; } Loading @@ -709,13 +713,14 @@ DhcpNameServer fclose(fp); } else { switch(errno) { error = ERRNO; switch(error) { case ENOENT: status = ARES_EOF; break; default: DEBUGF(fprintf(stderr, "fopen() failed with error: %d %s\n", errno, strerror(errno))); error, strerror(error))); DEBUGF(fprintf(stderr, "Error opening file: %s\n", "/etc/svc.conf")); status = ARES_EFILE; } Loading ares/ares_process.c +7 −13 Original line number Diff line number Diff line Loading @@ -59,12 +59,6 @@ #define TRUE 1 #endif #ifdef USE_WINSOCK #define GET_ERRNO() WSAGetLastError() #else #define GET_ERRNO() errno #endif static int try_again(int errnum); static void write_tcp_data(ares_channel channel, fd_set *write_fds, time_t now); Loading Loading @@ -97,7 +91,7 @@ void ares_process(ares_channel channel, fd_set *read_fds, fd_set *write_fds) process_timeouts(channel, now); } /* Return 1 if the specified errno describes a readiness error, or 0 /* Return 1 if the specified error number describes a readiness error, or 0 * otherwise. This is mostly for HP-UX, which could return EAGAIN or * EWOULDBLOCK. See this man page * Loading Loading @@ -164,7 +158,7 @@ static void write_tcp_data(ares_channel channel, fd_set *write_fds, time_t now) free(vec); if (wcount < 0) { if (!try_again(GET_ERRNO())) if (!try_again(SOCKERRNO)) handle_error(channel, i, now); continue; } Loading Loading @@ -200,7 +194,7 @@ static void write_tcp_data(ares_channel channel, fd_set *write_fds, time_t now) scount = swrite(server->tcp_socket, sendreq->data, sendreq->len); if (scount < 0) { if (!try_again(GET_ERRNO())) if (!try_again(SOCKERRNO)) handle_error(channel, i, now); continue; } Loading Loading @@ -253,7 +247,7 @@ static void read_tcp_data(ares_channel channel, fd_set *read_fds, time_t now) 2 - server->tcp_lenbuf_pos); if (count <= 0) { if (!(count == -1 && try_again(GET_ERRNO()))) if (!(count == -1 && try_again(SOCKERRNO))) handle_error(channel, i, now); continue; } Loading @@ -280,7 +274,7 @@ static void read_tcp_data(ares_channel channel, fd_set *read_fds, time_t now) server->tcp_length - server->tcp_buffer_pos); if (count <= 0) { if (!(count == -1 && try_again(GET_ERRNO()))) if (!(count == -1 && try_again(SOCKERRNO))) handle_error(channel, i, now); continue; } Loading Loading @@ -322,7 +316,7 @@ static void read_udp_packets(ares_channel channel, fd_set *read_fds, continue; count = sread(server->udp_socket, buf, sizeof(buf)); if (count == -1 && try_again(GET_ERRNO())) if (count == -1 && try_again(SOCKERRNO)) continue; else if (count <= 0) handle_error(channel, i, now); Loading Loading @@ -615,7 +609,7 @@ static int open_tcp_socket(ares_channel channel, struct server_state *server) sockin.sin_addr = server->addr; sockin.sin_port = (unsigned short)(channel->tcp_port & 0xffff); if (connect(s, (struct sockaddr *) &sockin, sizeof(sockin)) == -1) { int err = GET_ERRNO(); int err = SOCKERRNO; if (err != EINPROGRESS && err != EWOULDBLOCK) { closesocket(s); Loading ares/inet_net_pton.c +17 −7 Original line number Diff line number Diff line Loading @@ -66,6 +66,11 @@ * note: * network byte order assumed. this means 192.5.5.240/28 has * 0b11110000 in its fourth octet. * note: * On Windows we store the error in the thread errno, not * in the winsock error code. This is to avoid loosing the * actual last winsock error. So use macro ERRNO to fetch the * errno this funtion sets when returning (-1), not SOCKERRNO. * author: * Paul Vixie (ISC), June 1996 */ Loading Loading @@ -186,11 +191,11 @@ inet_net_pton_ipv4(const char *src, unsigned char *dst, size_t size) return (bits); enoent: errno = ENOENT; SET_ERRNO(ENOENT); return (-1); emsgsize: errno = EMSGSIZE; SET_ERRNO(EMSGSIZE); return (-1); } Loading Loading @@ -381,11 +386,11 @@ inet_net_pton_ipv6(const char *src, unsigned char *dst, size_t size) return (bits); enoent: errno = ENOENT; SET_ERRNO(ENOENT); return (-1); emsgsize: errno = EMSGSIZE; SET_ERRNO(EMSGSIZE); return (-1); } Loading @@ -399,6 +404,11 @@ inet_net_pton_ipv6(const char *src, unsigned char *dst, size_t size) * number of bits, either imputed classfully or specified with /CIDR, * or -1 if some failure occurred (check errno). ENOENT means it was * not a valid network specification. * note: * On Windows we store the error in the thread errno, not * in the winsock error code. This is to avoid loosing the * actual last winsock error. So use macro ERRNO to fetch the * errno this funtion sets when returning (-1), not SOCKERRNO. * author: * Paul Vixie (ISC), June 1996 */ Loading @@ -411,7 +421,7 @@ ares_inet_net_pton(int af, const char *src, void *dst, size_t size) case AF_INET6: return (inet_net_pton_ipv6(src, dst, size)); default: errno = EAFNOSUPPORT; SET_ERRNO(EAFNOSUPPORT); return (-1); } } Loading @@ -429,11 +439,11 @@ int ares_inet_pton(int af, const char *src, void *dst) size = sizeof(struct in6_addr); else { errno = EAFNOSUPPORT; SET_ERRNO(EAFNOSUPPORT); return -1; } result = ares_inet_net_pton(af, src, dst, size); if (result == -1 && errno == ENOENT) if (result == -1 && ERRNO == ENOENT) return 0; return (result > -1 ? 1 : -1); } Loading ares/inet_ntop.c +8 −3 Original line number Diff line number Diff line Loading @@ -68,6 +68,11 @@ static const char *inet_ntop6(const unsigned char *src, char *dst, size_t size); * convert a network format address to presentation format. * return: * pointer to presentation format address (`dst'), or NULL (see errno). * note: * On Windows we store the error in the thread errno, not * in the winsock error code. This is to avoid loosing the * actual last winsock error. So use macro ERRNO to fetch the * errno this funtion sets when returning NULL, not SOCKERRNO. * author: * Paul Vixie, 1996. */ Loading @@ -81,7 +86,7 @@ ares_inet_ntop(int af, const void *src, char *dst, size_t size) case AF_INET6: return (inet_ntop6(src, dst, size)); default: errno = EAFNOSUPPORT; SET_ERRNO(EAFNOSUPPORT); return (NULL); } /* NOTREACHED */ Loading @@ -106,7 +111,7 @@ inet_ntop4(const unsigned char *src, char *dst, size_t size) if (SPRINTF((tmp, fmt, src[0], src[1], src[2], src[3])) > size) { errno = ENOSPC; SET_ERRNO(ENOSPC); return (NULL); } strcpy(dst, tmp); Loading Loading @@ -218,7 +223,7 @@ inet_ntop6(const unsigned char *src, char *dst, size_t size) */ if ((size_t)(tp - tmp) > size) { errno = ENOSPC; SET_ERRNO(ENOSPC); return (NULL); } strcpy(dst, tmp); Loading Loading
ares/adig.c +1 −1 Original line number Diff line number Diff line Loading @@ -289,7 +289,7 @@ int main(int argc, char **argv) break; tvp = ares_timeout(channel, NULL, &tv); count = select(nfds, &read_fds, &write_fds, NULL, tvp); if (count < 0 && errno != EINVAL) if (count < 0 && SOCKERRNO != EINVAL) { perror("select"); return 1; Loading
ares/ares_init.c +13 −8 Original line number Diff line number Diff line Loading @@ -610,6 +610,7 @@ DhcpNameServer char *p; FILE *fp; int linesize; int error; fp = fopen(PATH_RESOLV_CONF, "r"); if (fp) { Loading @@ -635,13 +636,14 @@ DhcpNameServer fclose(fp); } else { switch(errno) { error = ERRNO; switch(error) { case ENOENT: status = ARES_EOF; break; default: DEBUGF(fprintf(stderr, "fopen() failed with error: %d %s\n", errno, strerror(errno))); error, strerror(error))); DEBUGF(fprintf(stderr, "Error opening file: %s\n", PATH_RESOLV_CONF)); status = ARES_EFILE; } Loading @@ -659,13 +661,14 @@ DhcpNameServer fclose(fp); } else { switch(errno) { error = ERRNO; switch(error) { case ENOENT: status = ARES_EOF; break; default: DEBUGF(fprintf(stderr, "fopen() failed with error: %d %s\n", errno, strerror(errno))); error, strerror(error))); DEBUGF(fprintf(stderr, "Error opening file: %s\n", "/etc/nsswitch.conf")); status = ARES_EFILE; } Loading @@ -684,13 +687,14 @@ DhcpNameServer fclose(fp); } else { switch(errno) { error = ERRNO; switch(error) { case ENOENT: status = ARES_EOF; break; default: DEBUGF(fprintf(stderr, "fopen() failed with error: %d %s\n", errno, strerror(errno))); error, strerror(error))); DEBUGF(fprintf(stderr, "Error opening file: %s\n", "/etc/host.conf")); status = ARES_EFILE; } Loading @@ -709,13 +713,14 @@ DhcpNameServer fclose(fp); } else { switch(errno) { error = ERRNO; switch(error) { case ENOENT: status = ARES_EOF; break; default: DEBUGF(fprintf(stderr, "fopen() failed with error: %d %s\n", errno, strerror(errno))); error, strerror(error))); DEBUGF(fprintf(stderr, "Error opening file: %s\n", "/etc/svc.conf")); status = ARES_EFILE; } Loading
ares/ares_process.c +7 −13 Original line number Diff line number Diff line Loading @@ -59,12 +59,6 @@ #define TRUE 1 #endif #ifdef USE_WINSOCK #define GET_ERRNO() WSAGetLastError() #else #define GET_ERRNO() errno #endif static int try_again(int errnum); static void write_tcp_data(ares_channel channel, fd_set *write_fds, time_t now); Loading Loading @@ -97,7 +91,7 @@ void ares_process(ares_channel channel, fd_set *read_fds, fd_set *write_fds) process_timeouts(channel, now); } /* Return 1 if the specified errno describes a readiness error, or 0 /* Return 1 if the specified error number describes a readiness error, or 0 * otherwise. This is mostly for HP-UX, which could return EAGAIN or * EWOULDBLOCK. See this man page * Loading Loading @@ -164,7 +158,7 @@ static void write_tcp_data(ares_channel channel, fd_set *write_fds, time_t now) free(vec); if (wcount < 0) { if (!try_again(GET_ERRNO())) if (!try_again(SOCKERRNO)) handle_error(channel, i, now); continue; } Loading Loading @@ -200,7 +194,7 @@ static void write_tcp_data(ares_channel channel, fd_set *write_fds, time_t now) scount = swrite(server->tcp_socket, sendreq->data, sendreq->len); if (scount < 0) { if (!try_again(GET_ERRNO())) if (!try_again(SOCKERRNO)) handle_error(channel, i, now); continue; } Loading Loading @@ -253,7 +247,7 @@ static void read_tcp_data(ares_channel channel, fd_set *read_fds, time_t now) 2 - server->tcp_lenbuf_pos); if (count <= 0) { if (!(count == -1 && try_again(GET_ERRNO()))) if (!(count == -1 && try_again(SOCKERRNO))) handle_error(channel, i, now); continue; } Loading @@ -280,7 +274,7 @@ static void read_tcp_data(ares_channel channel, fd_set *read_fds, time_t now) server->tcp_length - server->tcp_buffer_pos); if (count <= 0) { if (!(count == -1 && try_again(GET_ERRNO()))) if (!(count == -1 && try_again(SOCKERRNO))) handle_error(channel, i, now); continue; } Loading Loading @@ -322,7 +316,7 @@ static void read_udp_packets(ares_channel channel, fd_set *read_fds, continue; count = sread(server->udp_socket, buf, sizeof(buf)); if (count == -1 && try_again(GET_ERRNO())) if (count == -1 && try_again(SOCKERRNO)) continue; else if (count <= 0) handle_error(channel, i, now); Loading Loading @@ -615,7 +609,7 @@ static int open_tcp_socket(ares_channel channel, struct server_state *server) sockin.sin_addr = server->addr; sockin.sin_port = (unsigned short)(channel->tcp_port & 0xffff); if (connect(s, (struct sockaddr *) &sockin, sizeof(sockin)) == -1) { int err = GET_ERRNO(); int err = SOCKERRNO; if (err != EINPROGRESS && err != EWOULDBLOCK) { closesocket(s); Loading
ares/inet_net_pton.c +17 −7 Original line number Diff line number Diff line Loading @@ -66,6 +66,11 @@ * note: * network byte order assumed. this means 192.5.5.240/28 has * 0b11110000 in its fourth octet. * note: * On Windows we store the error in the thread errno, not * in the winsock error code. This is to avoid loosing the * actual last winsock error. So use macro ERRNO to fetch the * errno this funtion sets when returning (-1), not SOCKERRNO. * author: * Paul Vixie (ISC), June 1996 */ Loading Loading @@ -186,11 +191,11 @@ inet_net_pton_ipv4(const char *src, unsigned char *dst, size_t size) return (bits); enoent: errno = ENOENT; SET_ERRNO(ENOENT); return (-1); emsgsize: errno = EMSGSIZE; SET_ERRNO(EMSGSIZE); return (-1); } Loading Loading @@ -381,11 +386,11 @@ inet_net_pton_ipv6(const char *src, unsigned char *dst, size_t size) return (bits); enoent: errno = ENOENT; SET_ERRNO(ENOENT); return (-1); emsgsize: errno = EMSGSIZE; SET_ERRNO(EMSGSIZE); return (-1); } Loading @@ -399,6 +404,11 @@ inet_net_pton_ipv6(const char *src, unsigned char *dst, size_t size) * number of bits, either imputed classfully or specified with /CIDR, * or -1 if some failure occurred (check errno). ENOENT means it was * not a valid network specification. * note: * On Windows we store the error in the thread errno, not * in the winsock error code. This is to avoid loosing the * actual last winsock error. So use macro ERRNO to fetch the * errno this funtion sets when returning (-1), not SOCKERRNO. * author: * Paul Vixie (ISC), June 1996 */ Loading @@ -411,7 +421,7 @@ ares_inet_net_pton(int af, const char *src, void *dst, size_t size) case AF_INET6: return (inet_net_pton_ipv6(src, dst, size)); default: errno = EAFNOSUPPORT; SET_ERRNO(EAFNOSUPPORT); return (-1); } } Loading @@ -429,11 +439,11 @@ int ares_inet_pton(int af, const char *src, void *dst) size = sizeof(struct in6_addr); else { errno = EAFNOSUPPORT; SET_ERRNO(EAFNOSUPPORT); return -1; } result = ares_inet_net_pton(af, src, dst, size); if (result == -1 && errno == ENOENT) if (result == -1 && ERRNO == ENOENT) return 0; return (result > -1 ? 1 : -1); } Loading
ares/inet_ntop.c +8 −3 Original line number Diff line number Diff line Loading @@ -68,6 +68,11 @@ static const char *inet_ntop6(const unsigned char *src, char *dst, size_t size); * convert a network format address to presentation format. * return: * pointer to presentation format address (`dst'), or NULL (see errno). * note: * On Windows we store the error in the thread errno, not * in the winsock error code. This is to avoid loosing the * actual last winsock error. So use macro ERRNO to fetch the * errno this funtion sets when returning NULL, not SOCKERRNO. * author: * Paul Vixie, 1996. */ Loading @@ -81,7 +86,7 @@ ares_inet_ntop(int af, const void *src, char *dst, size_t size) case AF_INET6: return (inet_ntop6(src, dst, size)); default: errno = EAFNOSUPPORT; SET_ERRNO(EAFNOSUPPORT); return (NULL); } /* NOTREACHED */ Loading @@ -106,7 +111,7 @@ inet_ntop4(const unsigned char *src, char *dst, size_t size) if (SPRINTF((tmp, fmt, src[0], src[1], src[2], src[3])) > size) { errno = ENOSPC; SET_ERRNO(ENOSPC); return (NULL); } strcpy(dst, tmp); Loading Loading @@ -218,7 +223,7 @@ inet_ntop6(const unsigned char *src, char *dst, size_t size) */ if ((size_t)(tp - tmp) > size) { errno = ENOSPC; SET_ERRNO(ENOSPC); return (NULL); } strcpy(dst, tmp); Loading