]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
- Refactor to use sock_strerr shorthand function.
authorW.C.A. Wijngaards <wouter@nlnetlabs.nl>
Mon, 31 Aug 2020 07:12:01 +0000 (09:12 +0200)
committerW.C.A. Wijngaards <wouter@nlnetlabs.nl>
Mon, 31 Aug 2020 07:12:01 +0000 (09:12 +0200)
daemon/remote.c
dnstap/dtstream.c
dnstap/unbound-dnstap-socket.c
doc/Changelog
services/listen_dnsport.c
services/outside_network.c
smallapp/unbound-control.c
testcode/delayer.c
testcode/perf.c
util/netevent.c

index 94bc2c57e23277b58acb78d92b10eb5d851305d7..bd1039d06ba1db86cc7490e1def0874ee9bf21a8 100644 (file)
@@ -566,11 +566,8 @@ ssl_print_text(RES* res, const char* text)
                        if(r == -1) {
                                if(errno == EAGAIN || errno == EINTR)
                                        continue;
-#ifndef USE_WINSOCK
-                               log_err("could not send: %s", strerror(errno));
-#else
-                               log_err("could not send: %s", wsa_strerror(WSAGetLastError()));
-#endif
+                               log_err("could not send: %s",
+                                       sock_strerror(errno));
                                return 0;
                        }
                        at += r;
@@ -627,11 +624,8 @@ ssl_read_line(RES* res, char* buf, size_t max)
                                        }
                                        if(errno == EINTR || errno == EAGAIN)
                                                continue;
-#ifndef USE_WINSOCK
-                                       log_err("could not recv: %s", strerror(errno));
-#else
-                                       log_err("could not recv: %s", wsa_strerror(WSAGetLastError()));
-#endif
+                                       log_err("could not recv: %s",
+                                               sock_strerror(errno));
                                        return 0;
                                }
                                break;
@@ -3108,11 +3102,7 @@ handle_req(struct daemon_remote* rc, struct rc_state* s, RES* res)
                                if(rr == 0) return;
                                if(errno == EINTR || errno == EAGAIN)
                                        continue;
-#ifndef USE_WINSOCK
-                               log_err("could not recv: %s", strerror(errno));
-#else
-                               log_err("could not recv: %s", wsa_strerror(WSAGetLastError()));
-#endif
+                               log_err("could not recv: %s", sock_strerror(errno));
                                return;
                        }
                        r = (int)rr;
index 26eac063a505dd649672dd5d5403e751389dff18..a778bb64b8ddb2bd4f06a9a003c848ec23bf098e 100644 (file)
@@ -149,15 +149,14 @@ static void dtio_wakeup(struct dt_io_thread* dtio)
 #ifndef USE_WINSOCK
                        if(errno == EINTR || errno == EAGAIN)
                                continue;
-                       log_err("dnstap io wakeup: write: %s", strerror(errno));
 #else
                        if(WSAGetLastError() == WSAEINPROGRESS)
                                continue;
                        if(WSAGetLastError() == WSAEWOULDBLOCK)
                                continue;
-                       log_err("dnstap io stop: write: %s",
-                               wsa_strerror(WSAGetLastError()));
 #endif
+                       log_err("dnstap io wakeup: write: %s",
+                               sock_strerror(errno));
                        break;
                }
                break;
@@ -656,13 +655,8 @@ static int dtio_check_nb_connect(struct dt_io_thread* dtio)
                char* to = dtio->socket_path;
                if(!to) to = dtio->ip_str;
                if(!to) to = "";
-#ifndef USE_WINSOCK
-               log_err("dnstap io: failed to connect to \"%s\": %s",
-                       to, strerror(error));
-#else
                log_err("dnstap io: failed to connect to \"%s\": %s",
-                       to, wsa_strerror(error));
-#endif
+                       to, sock_strerror(error));
                return -1; /* error, close it */
        }
 
@@ -739,7 +733,6 @@ static int dtio_write_buf(struct dt_io_thread* dtio, uint8_t* buf,
 #ifndef USE_WINSOCK
                if(errno == EINTR || errno == EAGAIN)
                        return 0;
-               log_err("dnstap io: failed send: %s", strerror(errno));
 #else
                if(WSAGetLastError() == WSAEINPROGRESS)
                        return 0;
@@ -749,9 +742,8 @@ static int dtio_write_buf(struct dt_io_thread* dtio, uint8_t* buf,
                                UB_EV_WRITE);
                        return 0;
                }
-               log_err("dnstap io: failed send: %s",
-                       wsa_strerror(WSAGetLastError()));
 #endif
+               log_err("dnstap io: failed send: %s", sock_strerror(errno));
                return -1;
        }
        return ret;
@@ -775,7 +767,6 @@ static int dtio_write_with_writev(struct dt_io_thread* dtio)
 #ifndef USE_WINSOCK
                if(errno == EINTR || errno == EAGAIN)
                        return 0;
-               log_err("dnstap io: failed writev: %s", strerror(errno));
 #else
                if(WSAGetLastError() == WSAEINPROGRESS)
                        return 0;
@@ -785,9 +776,8 @@ static int dtio_write_with_writev(struct dt_io_thread* dtio)
                                UB_EV_WRITE);
                        return 0;
                }
-               log_err("dnstap io: failed writev: %s",
-                       wsa_strerror(WSAGetLastError()));
 #endif
+               log_err("dnstap io: failed writev: %s", sock_strerror(errno));
                /* close the channel */
                dtio_del_output_event(dtio);
                dtio_close_output(dtio);
@@ -1479,15 +1469,13 @@ void dtio_cmd_cb(int fd, short ATTR_UNUSED(bits), void* arg)
 #ifndef USE_WINSOCK
                if(errno == EINTR || errno == EAGAIN)
                        return; /* ignore this */
-               log_err("dnstap io: failed to read: %s", strerror(errno));
 #else
                if(WSAGetLastError() == WSAEINPROGRESS)
                        return;
                if(WSAGetLastError() == WSAEWOULDBLOCK)
                        return;
-               log_err("dnstap io: failed to read: %s",
-                       wsa_strerror(WSAGetLastError()));
 #endif
+               log_err("dnstap io: failed to read: %s", sock_strerror(errno));
                /* and then fall through to quit the thread */
        } else if(r == 0) {
                verbose(VERB_ALGO, "dnstap io: cmd channel closed");
@@ -1849,13 +1837,8 @@ static int dtio_open_output_local(struct dt_io_thread* dtio)
        struct sockaddr_un s;
        dtio->fd = socket(AF_LOCAL, SOCK_STREAM, 0);
        if(dtio->fd == -1) {
-#ifndef USE_WINSOCK
-               log_err("dnstap io: failed to create socket: %s",
-                       strerror(errno));
-#else
                log_err("dnstap io: failed to create socket: %s",
-                       wsa_strerror(WSAGetLastError()));
-#endif
+                       sock_strerror(errno));
                return 0;
        }
        memset(&s, 0, sizeof(s));
@@ -1875,13 +1858,8 @@ static int dtio_open_output_local(struct dt_io_thread* dtio)
                        dtio_close_fd(dtio);
                        return 0; /* no log retries on low verbosity */
                }
-#ifndef USE_WINSOCK
                log_err("dnstap io: failed to connect to \"%s\": %s",
-                       to, strerror(errno));
-#else
-               log_err("dnstap io: failed to connect to \"%s\": %s",
-                       to, wsa_strerror(WSAGetLastError()));
-#endif
+                       to, sock_strerror(errno));
                dtio_close_fd(dtio);
                return 0;
        }
@@ -1906,12 +1884,7 @@ static int dtio_open_output_tcp(struct dt_io_thread* dtio)
        }
        dtio->fd = socket(addr.ss_family, SOCK_STREAM, 0);
        if(dtio->fd == -1) {
-#ifndef USE_WINSOCK
-               log_err("can't create socket: %s", strerror(errno));
-#else
-               log_err("can't create socket: %s",
-                       wsa_strerror(WSAGetLastError()));
-#endif
+               log_err("can't create socket: %s", sock_strerror(errno));
                return 0;
        }
        fd_set_nonblock(dtio->fd);
@@ -2104,15 +2077,14 @@ void dt_io_thread_stop(struct dt_io_thread* dtio)
 #ifndef USE_WINSOCK
                        if(errno == EINTR || errno == EAGAIN)
                                continue;
-                       log_err("dnstap io stop: write: %s", strerror(errno));
 #else
                        if(WSAGetLastError() == WSAEINPROGRESS)
                                continue;
                        if(WSAGetLastError() == WSAEWOULDBLOCK)
                                continue;
-                       log_err("dnstap io stop: write: %s",
-                               wsa_strerror(WSAGetLastError()));
 #endif
+                       log_err("dnstap io stop: write: %s",
+                               sock_strerror(errno));
                        break;
                }
                break;
index 80a117617ad55008a271d3721f127c695c25e2a4..ca950c8bfeb29e2f13873d94139f359890b1f019 100644 (file)
@@ -278,36 +278,21 @@ static int make_tcp_accept(char* ip)
        }
 
        if((s = socket(addr.ss_family, SOCK_STREAM, 0)) == -1) {
-#ifndef USE_WINSOCK
-               log_err("can't create socket: %s", strerror(errno));
-#else
-               log_err("can't create socket: %s",
-                       wsa_strerror(WSAGetLastError()));
-#endif
+               log_err("can't create socket: %s", sock_strerror(errno));
                return -1;
        }
 #ifdef SO_REUSEADDR
        if(setsockopt(s, SOL_SOCKET, SO_REUSEADDR, (void*)&on,
                (socklen_t)sizeof(on)) < 0) {
-#ifndef USE_WINSOCK
-               log_err("setsockopt(.. SO_REUSEADDR ..) failed: %s",
-                       strerror(errno));
-#else
                log_err("setsockopt(.. SO_REUSEADDR ..) failed: %s",
-                       wsa_strerror(WSAGetLastError()));
-#endif
+                       sock_strerror(errno));
                sock_close(s);
                return -1;
        }
 #endif /* SO_REUSEADDR */
        if(bind(s, (struct sockaddr*)&addr, len) != 0) {
-#ifndef USE_WINSOCK
-               log_err_addr("can't bind socket", strerror(errno),
+               log_err_addr("can't bind socket", sock_strerror(errno),
                        &addr, len);
-#else
-               log_err_addr("can't bind socket",
-                       wsa_strerror(WSAGetLastError()), &addr, len);
-#endif
                sock_close(s);
                return -1;
        }
@@ -316,11 +301,7 @@ static int make_tcp_accept(char* ip)
                return -1;
        }
        if(listen(s, LISTEN_BACKLOG) == -1) {
-#ifndef USE_WINSOCK
-               log_err("can't listen: %s", strerror(errno));
-#else
-               log_err("can't listen: %s", wsa_strerror(WSAGetLastError()));
-#endif
+               log_err("can't listen: %s", sock_strerror(errno));
                sock_close(s);
                return -1;
        }
@@ -647,7 +628,6 @@ static ssize_t receive_bytes(struct tap_data* data, int fd, void* buf,
 #ifndef USE_WINSOCK
                if(errno == EINTR || errno == EAGAIN)
                        return -1;
-               log_err("could not recv: %s", strerror(errno));
 #else /* USE_WINSOCK */
                if(WSAGetLastError() == WSAEINPROGRESS)
                        return -1;
@@ -655,9 +635,8 @@ static ssize_t receive_bytes(struct tap_data* data, int fd, void* buf,
                        ub_winsock_tcp_wouldblock(data->ev, UB_EV_READ);
                        return -1;
                }
-               log_err("could not recv: %s",
-                       wsa_strerror(WSAGetLastError()));
 #endif
+               log_err("could not recv: %s", sock_strerror(errno));
                if(verbosity) log_info("dnstap client stream closed from %s",
                        (data->id?data->id:""));
                return 0;
@@ -789,12 +768,7 @@ static int reply_with_accept(struct tap_data* data)
                }
        } else {
                if(send(data->fd, acceptframe, len, 0) == -1) {
-#ifndef USE_WINSOCK
-                       log_err("send failed: %s", strerror(errno));
-#else
-                       log_err("send failed: %s",
-                               wsa_strerror(WSAGetLastError()));
-#endif
+                       log_err("send failed: %s", sock_strerror(errno));
                        fd_set_nonblock(data->fd);
                        free(acceptframe);
                        return 0;
@@ -827,11 +801,7 @@ static int reply_with_finish(int fd)
 
        fd_set_block(fd);
        if(send(fd, finishframe, len, 0) == -1) {
-#ifndef USE_WINSOCK
-               log_err("send failed: %s", strerror(errno));
-#else
-               log_err("send failed: %s", wsa_strerror(WSAGetLastError()));
-#endif
+               log_err("send failed: %s", sock_strerror(errno));
                fd_set_nonblock(fd);
                free(finishframe);
                return 0;
@@ -1087,7 +1057,6 @@ void dtio_mainfdcallback(int fd, short ATTR_UNUSED(bits), void* arg)
 #endif /* EPROTO */
                        )
                        return;
-               log_err_addr("accept failed", strerror(errno), &addr, addrlen);
 #else /* USE_WINSOCK */
                if(WSAGetLastError() == WSAEINPROGRESS ||
                        WSAGetLastError() == WSAECONNRESET)
@@ -1096,9 +1065,9 @@ void dtio_mainfdcallback(int fd, short ATTR_UNUSED(bits), void* arg)
                        ub_winsock_tcp_wouldblock(maindata->ev, UB_EV_READ);
                        return;
                }
-               log_err_addr("accept failed", wsa_strerror(WSAGetLastError()),
-                       &addr, addrlen);
 #endif
+               log_err_addr("accept failed", sock_strerror(errno), &addr,
+                       addrlen);
                return;
        }
        fd_set_nonblock(s);
index a7a95464a9fcbcb47a42680a0279f688a5ef1ab6..5a327a23ffb65b3c8353c93df08edd3a7426e2de 100644 (file)
@@ -1,6 +1,7 @@
 31 August 2020: Wouter
        - Merge PR #293: Add missing prototype.  Also refactor to use the new
          shorthand function to clean up the code.
+       - Refactor to use sock_strerr shorthand function.
 
 27 August 2020: Wouter
        - Similar to NSD PR#113, implement that interface names can be used,
index e749147e5761efd55a6201c1454533c14e262bd3..5a7370bf639ff1fca116dce44cfe3607e9c2d1f5 100644 (file)
@@ -228,16 +228,14 @@ create_udp_sock(int family, int socktype, struct sockaddr* addr,
                        *noproto = 1;
                        return -1;
                }
-               log_err("can't create socket: %s", strerror(errno));
 #else
                if(WSAGetLastError() == WSAEAFNOSUPPORT || 
                        WSAGetLastError() == WSAEPROTONOSUPPORT) {
                        *noproto = 1;
                        return -1;
                }
-               log_err("can't create socket: %s", 
-                       wsa_strerror(WSAGetLastError()));
 #endif
+               log_err("can't create socket: %s", sock_strerror(errno));
                *noproto = 0;
                return -1;
        }
@@ -250,9 +248,9 @@ create_udp_sock(int family, int socktype, struct sockaddr* addr,
 #ifdef SO_REUSEADDR
                if(setsockopt(s, SOL_SOCKET, SO_REUSEADDR, (void*)&on, 
                        (socklen_t)sizeof(on)) < 0) {
-#ifndef USE_WINSOCK
                        log_err("setsockopt(.. SO_REUSEADDR ..) failed: %s",
-                               strerror(errno));
+                               sock_strerror(errno));
+#ifndef USE_WINSOCK
                        if(errno != ENOSYS) {
                                close(s);
                                *noproto = 0;
@@ -260,8 +258,6 @@ create_udp_sock(int family, int socktype, struct sockaddr* addr,
                                return -1;
                        }
 #else
-                       log_err("setsockopt(.. SO_REUSEADDR ..) failed: %s",
-                               wsa_strerror(WSAGetLastError()));
                        closesocket(s);
                        *noproto = 0;
                        *inuse = 0;
@@ -353,14 +349,8 @@ create_udp_sock(int family, int socktype, struct sockaddr* addr,
                if(setsockopt(s, SOL_SOCKET, SO_RCVBUFFORCE, (void*)&rcv, 
                        (socklen_t)sizeof(rcv)) < 0) {
                        if(errno != EPERM) {
-#    ifndef USE_WINSOCK
-                               log_err("setsockopt(..., SO_RCVBUFFORCE, "
-                                       "...) failed: %s", strerror(errno));
-#    else
                                log_err("setsockopt(..., SO_RCVBUFFORCE, "
-                                       "...) failed: %s", 
-                                       wsa_strerror(WSAGetLastError()));
-#    endif
+                                       "...) failed: %s", sock_strerror(errno));
                                sock_close(s);
                                *noproto = 0;
                                *inuse = 0;
@@ -369,14 +359,8 @@ create_udp_sock(int family, int socktype, struct sockaddr* addr,
 #  endif /* SO_RCVBUFFORCE */
                        if(setsockopt(s, SOL_SOCKET, SO_RCVBUF, (void*)&rcv, 
                                (socklen_t)sizeof(rcv)) < 0) {
-#  ifndef USE_WINSOCK
                                log_err("setsockopt(..., SO_RCVBUF, "
-                                       "...) failed: %s", strerror(errno));
-#  else
-                               log_err("setsockopt(..., SO_RCVBUF, "
-                                       "...) failed: %s", 
-                                       wsa_strerror(WSAGetLastError()));
-#  endif
+                                       "...) failed: %s", sock_strerror(errno));
                                sock_close(s);
                                *noproto = 0;
                                *inuse = 0;
@@ -410,14 +394,8 @@ create_udp_sock(int family, int socktype, struct sockaddr* addr,
                if(setsockopt(s, SOL_SOCKET, SO_SNDBUFFORCE, (void*)&snd, 
                        (socklen_t)sizeof(snd)) < 0) {
                        if(errno != EPERM) {
-#    ifndef USE_WINSOCK
                                log_err("setsockopt(..., SO_SNDBUFFORCE, "
-                                       "...) failed: %s", strerror(errno));
-#    else
-                               log_err("setsockopt(..., SO_SNDBUFFORCE, "
-                                       "...) failed: %s", 
-                                       wsa_strerror(WSAGetLastError()));
-#    endif
+                                       "...) failed: %s", sock_strerror(errno));
                                sock_close(s);
                                *noproto = 0;
                                *inuse = 0;
@@ -426,14 +404,8 @@ create_udp_sock(int family, int socktype, struct sockaddr* addr,
 #  endif /* SO_SNDBUFFORCE */
                        if(setsockopt(s, SOL_SOCKET, SO_SNDBUF, (void*)&snd, 
                                (socklen_t)sizeof(snd)) < 0) {
-#  ifndef USE_WINSOCK
-                               log_err("setsockopt(..., SO_SNDBUF, "
-                                       "...) failed: %s", strerror(errno));
-#  else
                                log_err("setsockopt(..., SO_SNDBUF, "
-                                       "...) failed: %s", 
-                                       wsa_strerror(WSAGetLastError()));
-#  endif
+                                       "...) failed: %s", sock_strerror(errno));
                                sock_close(s);
                                *noproto = 0;
                                *inuse = 0;
@@ -464,14 +436,8 @@ create_udp_sock(int family, int socktype, struct sockaddr* addr,
                        int val=(v6only==2)?0:1;
                        if (setsockopt(s, IPPROTO_IPV6, IPV6_V6ONLY, 
                                (void*)&val, (socklen_t)sizeof(val)) < 0) {
-#ifndef USE_WINSOCK
                                log_err("setsockopt(..., IPV6_V6ONLY"
-                                       ", ...) failed: %s", strerror(errno));
-#else
-                               log_err("setsockopt(..., IPV6_V6ONLY"
-                                       ", ...) failed: %s", 
-                                       wsa_strerror(WSAGetLastError()));
-#endif
+                                       ", ...) failed: %s", sock_strerror(errno));
                                sock_close(s);
                                *noproto = 0;
                                *inuse = 0;
@@ -490,14 +456,8 @@ create_udp_sock(int family, int socktype, struct sockaddr* addr,
                 */
                if (setsockopt(s, IPPROTO_IPV6, IPV6_USE_MIN_MTU,
                        (void*)&on, (socklen_t)sizeof(on)) < 0) {
-#  ifndef USE_WINSOCK
                        log_err("setsockopt(..., IPV6_USE_MIN_MTU, "
-                               "...) failed: %s", strerror(errno));
-#  else
-                       log_err("setsockopt(..., IPV6_USE_MIN_MTU, "
-                               "...) failed: %s", 
-                               wsa_strerror(WSAGetLastError()));
-#  endif
+                               "...) failed: %s", sock_strerror(errno));
                        sock_close(s);
                        *noproto = 0;
                        *inuse = 0;
@@ -511,13 +471,8 @@ create_udp_sock(int family, int socktype, struct sockaddr* addr,
                 */
                if (setsockopt(s, IPPROTO_IPV6, IPV6_MTU,
                        (void*)&mtu, (socklen_t)sizeof(mtu)) < 0) {
-#  ifndef USE_WINSOCK
-                       log_err("setsockopt(..., IPV6_MTU, ...) failed: %s", 
-                               strerror(errno));
-#  else
                        log_err("setsockopt(..., IPV6_MTU, ...) failed: %s", 
-                               wsa_strerror(WSAGetLastError()));
-#  endif
+                               sock_strerror(errno));
                        sock_close(s);
                        *noproto = 0;
                        *inuse = 0;
@@ -660,29 +615,22 @@ create_tcp_accept_sock(struct addrinfo *addr, int v6only, int* noproto,
                        *noproto = 1;
                        return -1;
                }
-               log_err("can't create socket: %s", strerror(errno));
 #else
                if(WSAGetLastError() == WSAEAFNOSUPPORT ||
                        WSAGetLastError() == WSAEPROTONOSUPPORT) {
                        *noproto = 1;
                        return -1;
                }
-               log_err("can't create socket: %s", 
-                       wsa_strerror(WSAGetLastError()));
 #endif
+               log_err("can't create socket: %s", sock_strerror(errno));
                return -1;
        }
        if (mss > 0) {
 #if defined(IPPROTO_TCP) && defined(TCP_MAXSEG)
                if(setsockopt(s, IPPROTO_TCP, TCP_MAXSEG, (void*)&mss,
                        (socklen_t)sizeof(mss)) < 0) {
-                       #ifndef USE_WINSOCK
-                       log_err(" setsockopt(.. TCP_MAXSEG ..) failed: %s",
-                               strerror(errno));
-                       #else
                        log_err(" setsockopt(.. TCP_MAXSEG ..) failed: %s",
-                               wsa_strerror(WSAGetLastError()));
-                       #endif
+                               sock_strerror(errno));
                } else {
                        verbose(VERB_ALGO,
                                " tcp socket mss set to %d", mss);
@@ -699,13 +647,8 @@ create_tcp_accept_sock(struct addrinfo *addr, int v6only, int* noproto,
 #ifdef SO_REUSEADDR
        if(setsockopt(s, SOL_SOCKET, SO_REUSEADDR, (void*)&on, 
                (socklen_t)sizeof(on)) < 0) {
-#ifndef USE_WINSOCK
                log_err("setsockopt(.. SO_REUSEADDR ..) failed: %s",
-                       strerror(errno));
-#else
-               log_err("setsockopt(.. SO_REUSEADDR ..) failed: %s",
-                       wsa_strerror(WSAGetLastError()));
-#endif
+                       sock_strerror(errno));
                sock_close(s);
                return -1;
        }
@@ -741,13 +684,8 @@ create_tcp_accept_sock(struct addrinfo *addr, int v6only, int* noproto,
        if(addr->ai_family == AF_INET6 && v6only) {
                if(setsockopt(s, IPPROTO_IPV6, IPV6_V6ONLY, 
                        (void*)&on, (socklen_t)sizeof(on)) < 0) {
-#ifndef USE_WINSOCK
                        log_err("setsockopt(..., IPV6_V6ONLY, ...) failed: %s",
-                               strerror(errno));
-#else
-                       log_err("setsockopt(..., IPV6_V6ONLY, ...) failed: %s",
-                               wsa_strerror(WSAGetLastError()));
-#endif
+                               sock_strerror(errno));
                        sock_close(s);
                        return -1;
                }
@@ -809,11 +747,7 @@ create_tcp_accept_sock(struct addrinfo *addr, int v6only, int* noproto,
                return -1;
        }
        if(listen(s, TCP_BACKLOG) == -1) {
-#ifndef USE_WINSOCK
-               log_err("can't listen: %s", strerror(errno));
-#else
-               log_err("can't listen: %s", wsa_strerror(WSAGetLastError()));
-#endif
+               log_err("can't listen: %s", sock_strerror(errno));
                sock_close(s);
                return -1;
        }
index ba07444dfa9b3091324d9d7f1acabf9402f85249..085d0e6ae31b6cdb5e8ef83605d5a2d04139ba14 100644 (file)
@@ -185,12 +185,7 @@ pick_outgoing_tcp(struct waiting_tcp* w, int s)
                ((struct sockaddr_in6*)&pi->addr)->sin6_port = 0;
        else    ((struct sockaddr_in*)&pi->addr)->sin_port = 0;
        if(bind(s, (struct sockaddr*)&pi->addr, pi->addrlen) != 0) {
-#ifndef USE_WINSOCK
-               log_err("outgoing tcp: bind: %s", strerror(errno));
-#else
-               log_err("outgoing tcp: bind: %s", 
-                       wsa_strerror(WSAGetLastError()));
-#endif
+               log_err("outgoing tcp: bind: %s", sock_strerror(errno));
                sock_close(s);
                return 0;
        }
@@ -221,13 +216,8 @@ outnet_get_tcp_fd(struct sockaddr_storage* addr, socklen_t addrlen, int tcp_mss,
                s = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
        }
        if(s == -1) {
-#ifndef USE_WINSOCK
-               log_err_addr("outgoing tcp: socket", strerror(errno),
+               log_err_addr("outgoing tcp: socket", sock_strerror(errno),
                        addr, addrlen);
-#else
-               log_err_addr("outgoing tcp: socket", 
-                       wsa_strerror(WSAGetLastError()), addr, addrlen);
-#endif
                return -1;
        }
 
index 5936679e69b7b353b02d73d0ae03da4df75039f8..9ec137635da53f62fa47bad5d65a983ac3077af0 100644 (file)
@@ -593,11 +593,7 @@ contact_server(const char* svr, struct config_file* cfg, int statuscmd)
                addrfamily = addr_is_ip6(&addr, addrlen)?PF_INET6:PF_INET;
        fd = socket(addrfamily, SOCK_STREAM, proto);
        if(fd == -1) {
-#ifndef USE_WINSOCK
-               fatal_exit("socket: %s", strerror(errno));
-#else
-               fatal_exit("socket: %s", wsa_strerror(WSAGetLastError()));
-#endif
+               fatal_exit("socket: %s", sock_strerror(errno));
        }
        if(connect(fd, (struct sockaddr*)&addr, addrlen) < 0) {
 #ifndef USE_WINSOCK
@@ -681,11 +677,7 @@ remote_read(SSL* ssl, int fd, char* buf, size_t len)
                                /* EOF */
                                return 0;
                        }
-#ifndef USE_WINSOCK
-                       fatal_exit("could not recv: %s", strerror(errno));
-#else
-                       fatal_exit("could not recv: %s", wsa_strerror(WSAGetLastError()));
-#endif
+                       fatal_exit("could not recv: %s", sock_strerror(errno));
                }
                buf[rr] = 0;
        }
@@ -701,11 +693,7 @@ remote_write(SSL* ssl, int fd, const char* buf, size_t len)
                        ssl_err("could not SSL_write");
        } else {
                if(send(fd, buf, len, 0) < (ssize_t)len) {
-#ifndef USE_WINSOCK
-                       fatal_exit("could not send: %s", strerror(errno));
-#else
-                       fatal_exit("could not send: %s", wsa_strerror(WSAGetLastError()));
-#endif
+                       fatal_exit("could not send: %s", sock_strerror(errno));
                }
        }
 }
index 6562f80e6a9550ab760284e14369d3c309ed5144..54175dbe3ecc7a4f9d509a282d1f214caa3a476f 100644 (file)
@@ -372,11 +372,7 @@ service_send(struct ringbuf* ring, struct timeval* now, sldns_buffer* pkt,
                        sldns_buffer_limit(pkt), 0, 
                        (struct sockaddr*)srv_addr, srv_len);
                if(sent == -1) {
-#ifndef USE_WINSOCK
-                       log_err("sendto: %s", strerror(errno));
-#else
-                       log_err("sendto: %s", wsa_strerror(WSAGetLastError()));
-#endif
+                       log_err("sendto: %s", sock_strerror(errno));
                } else if(sent != (ssize_t)sldns_buffer_limit(pkt)) {
                        log_err("sendto: partial send");
                }
@@ -398,13 +394,12 @@ do_proxy(struct proxy* p, int retsock, sldns_buffer* pkt)
 #ifndef USE_WINSOCK
                        if(errno == EAGAIN || errno == EINTR)
                                return;
-                       log_err("recv: %s", strerror(errno));
 #else
                        if(WSAGetLastError() == WSAEINPROGRESS ||
                                WSAGetLastError() == WSAEWOULDBLOCK)
                                return;
-                       log_err("recv: %s", wsa_strerror(WSAGetLastError()));
 #endif
+                       log_err("recv: %s", sock_strerror(errno));
                        return;
                }
                sldns_buffer_set_limit(pkt, (size_t)r);
@@ -414,11 +409,7 @@ do_proxy(struct proxy* p, int retsock, sldns_buffer* pkt)
                r = sendto(retsock, (void*)sldns_buffer_begin(pkt), (size_t)r, 
                        0, (struct sockaddr*)&p->addr, p->addr_len);
                if(r == -1) {
-#ifndef USE_WINSOCK
-                       log_err("sendto: %s", strerror(errno));
-#else
-                       log_err("sendto: %s", wsa_strerror(WSAGetLastError()));
-#endif
+                       log_err("sendto: %s", sock_strerror(errno));
                }
        }
 }
@@ -469,11 +460,7 @@ find_create_proxy(struct sockaddr_storage* from, socklen_t from_len,
        if(!p) fatal_exit("out of memory");
        p->s = socket(serv_ip6?AF_INET6:AF_INET, SOCK_DGRAM, 0);
        if(p->s == -1) {
-#ifndef USE_WINSOCK
-               fatal_exit("socket: %s", strerror(errno));
-#else
-               fatal_exit("socket: %s", wsa_strerror(WSAGetLastError()));
-#endif
+               fatal_exit("socket: %s", sock_strerror(errno));
        }
        fd_set_nonblock(p->s);
        memmove(&p->addr, from, from_len);
@@ -507,14 +494,12 @@ service_recv(int s, struct ringbuf* ring, sldns_buffer* pkt,
 #ifndef USE_WINSOCK
                        if(errno == EAGAIN || errno == EINTR)
                                return;
-                       fatal_exit("recvfrom: %s", strerror(errno));
 #else
                        if(WSAGetLastError() == WSAEWOULDBLOCK || 
                                WSAGetLastError() == WSAEINPROGRESS)
                                return;
-                       fatal_exit("recvfrom: %s", 
-                               wsa_strerror(WSAGetLastError()));
 #endif
+                       fatal_exit("recvfrom: %s", sock_strerror(errno));
                }
                sldns_buffer_set_limit(pkt, (size_t)len);
                /* find its proxy element */
@@ -571,14 +556,13 @@ service_tcp_listen(int s, fd_set* rorig, int* max, struct tcp_proxy** proxies,
 #ifndef USE_WINSOCK
                if(errno == EAGAIN || errno == EINTR)
                        return;
-               fatal_exit("accept: %s", strerror(errno));
 #else
                if(WSAGetLastError() == WSAEWOULDBLOCK || 
                        WSAGetLastError() == WSAEINPROGRESS ||
                        WSAGetLastError() == WSAECONNRESET)
                        return;
-               fatal_exit("accept: %s", wsa_strerror(WSAGetLastError()));
 #endif
+               fatal_exit("accept: %s", sock_strerror(errno));
        }
        p = (struct tcp_proxy*)calloc(1, sizeof(*p));
        if(!p) fatal_exit("out of memory");
@@ -589,11 +573,7 @@ service_tcp_listen(int s, fd_set* rorig, int* max, struct tcp_proxy** proxies,
        p->server_s = socket(addr_is_ip6(srv_addr, srv_len)?AF_INET6:AF_INET,
                SOCK_STREAM, 0);
        if(p->server_s == -1) {
-#ifndef USE_WINSOCK
-               fatal_exit("tcp socket: %s", strerror(errno));
-#else
-               fatal_exit("tcp socket: %s", wsa_strerror(WSAGetLastError()));
-#endif
+               fatal_exit("tcp socket: %s", sock_strerror(errno));
        }
        fd_set_nonblock(p->client_s);
        fd_set_nonblock(p->server_s);
@@ -642,13 +622,12 @@ tcp_relay_read(int s, struct tcp_send_list** first,
 #ifndef USE_WINSOCK
                if(errno == EINTR || errno == EAGAIN)
                        return 1;
-               log_err("tcp read: %s", strerror(errno));
 #else
                if(WSAGetLastError() == WSAEINPROGRESS || 
                        WSAGetLastError() == WSAEWOULDBLOCK)
                        return 1;
-               log_err("tcp read: %s", wsa_strerror(WSAGetLastError()));
 #endif
+               log_err("tcp read: %s", sock_strerror(errno));
                return 0;
        } else if(r == 0) {
                /* connection closed */
@@ -700,14 +679,12 @@ tcp_relay_write(int s, struct tcp_send_list** first,
 #ifndef USE_WINSOCK
                        if(errno == EAGAIN || errno == EINTR)
                                return 1;
-                       log_err("tcp write: %s", strerror(errno));
 #else
                        if(WSAGetLastError() == WSAEWOULDBLOCK || 
                                WSAGetLastError() == WSAEINPROGRESS)
                                return 1;
-                       log_err("tcp write: %s", 
-                               wsa_strerror(WSAGetLastError()));
 #endif
+                       log_err("tcp write: %s", sock_strerror(errno));
                        return 0;
                } else if(r == 0) {
                        /* closed */
@@ -1018,11 +995,7 @@ service(const char* bind_str, int bindport, const char* serv_str,
        /* bind UDP port */
        if((s = socket(str_is_ip6(bind_str)?AF_INET6:AF_INET,
                SOCK_DGRAM, 0)) == -1) {
-#ifndef USE_WINSOCK
-               fatal_exit("socket: %s", strerror(errno));
-#else
-               fatal_exit("socket: %s", wsa_strerror(WSAGetLastError()));
-#endif
+               fatal_exit("socket: %s", sock_strerror(errno));
        }
        i=0;
        if(bindport == 0) {
@@ -1035,11 +1008,7 @@ service(const char* bind_str, int bindport, const char* serv_str,
                        exit(1);
                }
                if(bind(s, (struct sockaddr*)&bind_addr, bind_len) == -1) {
-#ifndef USE_WINSOCK
-                       log_err("bind: %s", strerror(errno));
-#else
-                       log_err("bind: %s", wsa_strerror(WSAGetLastError()));
-#endif
+                       log_err("bind: %s", sock_strerror(errno));
                        if(i--==0)
                                fatal_exit("cannot bind any port");
                        bindport = 1024 + ((int)arc4random())%64000;
@@ -1049,39 +1018,22 @@ service(const char* bind_str, int bindport, const char* serv_str,
        /* and TCP port */
        if((listen_s = socket(str_is_ip6(bind_str)?AF_INET6:AF_INET,
                SOCK_STREAM, 0)) == -1) {
-#ifndef USE_WINSOCK
-               fatal_exit("tcp socket: %s", strerror(errno));
-#else
-               fatal_exit("tcp socket: %s", wsa_strerror(WSAGetLastError()));
-#endif
+               fatal_exit("tcp socket: %s", sock_strerror(errno));
        }
 #ifdef SO_REUSEADDR
        if(1) {
                int on = 1;
                if(setsockopt(listen_s, SOL_SOCKET, SO_REUSEADDR, (void*)&on,
                        (socklen_t)sizeof(on)) < 0)
-#ifndef USE_WINSOCK
-                       fatal_exit("setsockopt(.. SO_REUSEADDR ..) failed: %s",
-                               strerror(errno));
-#else
                        fatal_exit("setsockopt(.. SO_REUSEADDR ..) failed: %s",
-                               wsa_strerror(WSAGetLastError()));
-#endif
+                               sock_strerror(errno));
        }
 #endif
        if(bind(listen_s, (struct sockaddr*)&bind_addr, bind_len) == -1) {
-#ifndef USE_WINSOCK
-               fatal_exit("tcp bind: %s", strerror(errno));
-#else
-               fatal_exit("tcp bind: %s", wsa_strerror(WSAGetLastError()));
-#endif
+               fatal_exit("tcp bind: %s", sock_strerror(errno));
        }
        if(listen(listen_s, 5) == -1) {
-#ifndef USE_WINSOCK
-               fatal_exit("tcp listen: %s", strerror(errno));
-#else
-               fatal_exit("tcp listen: %s", wsa_strerror(WSAGetLastError()));
-#endif
+               fatal_exit("tcp listen: %s", sock_strerror(errno));
        }
        fd_set_nonblock(listen_s);
        printf("listening on port: %d\n", bindport);
index aef69045fc34c41ad3a15770d566361a5ddc64a0..b13eca6d3946b3ab9184f3020714a0fb8b1a1b3f 100644 (file)
@@ -233,12 +233,7 @@ perfsetup(struct perfinfo* info)
                        addr_is_ip6(&info->dest, info->destlen)?
                        AF_INET6:AF_INET, SOCK_DGRAM, 0);
                if(info->io[i].fd == -1) {
-#ifndef USE_WINSOCK
-                       fatal_exit("socket: %s", strerror(errno));
-#else
-                       fatal_exit("socket: %s", 
-                               wsa_strerror(WSAGetLastError()));
-#endif
+                       fatal_exit("socket: %s", sock_strerror(errno));
                }
                if(info->io[i].fd > info->maxfd)
                        info->maxfd = info->io[i].fd;
@@ -281,11 +276,7 @@ perfsend(struct perfinfo* info, size_t n, struct timeval* now)
        /*log_hex("send", info->qlist_data[info->qlist_idx],
                info->qlist_len[info->qlist_idx]);*/
        if(r == -1) {
-#ifndef USE_WINSOCK
-               log_err("sendto: %s", strerror(errno));
-#else
-               log_err("sendto: %s", wsa_strerror(WSAGetLastError()));
-#endif
+               log_err("sendto: %s", sock_strerror(errno));
        } else if(r != (ssize_t)info->qlist_len[info->qlist_idx]) {
                log_err("partial sendto");
        }
@@ -305,11 +296,7 @@ perfreply(struct perfinfo* info, size_t n, struct timeval* now)
        r = recv(info->io[n].fd, (void*)sldns_buffer_begin(info->buf),
                sldns_buffer_capacity(info->buf), 0);
        if(r == -1) {
-#ifndef USE_WINSOCK
-               log_err("recv: %s", strerror(errno));
-#else
-               log_err("recv: %s", wsa_strerror(WSAGetLastError()));
-#endif
+               log_err("recv: %s", sock_strerror(errno));
        } else {
                info->by_rcode[LDNS_RCODE_WIRE(sldns_buffer_begin(
                        info->buf))]++;
index 6172adb1f7e11b4434cdabd7c2e861a7e91bb619..d6b9d87a223ac3049db701d3b3d5bcce4b32c459 100644 (file)
@@ -373,12 +373,7 @@ comm_point_send_udp_msg(struct comm_point *c, sldns_buffer* packet,
        if(sent == -1) {
                if(!udp_send_errno_needs_log(addr, addrlen))
                        return 0;
-#ifndef USE_WINSOCK
-               verbose(VERB_OPS, "sendto failed: %s", strerror(errno));
-#else
-               verbose(VERB_OPS, "sendto failed: %s", 
-                       wsa_strerror(WSAGetLastError()));
-#endif
+               verbose(VERB_OPS, "sendto failed: %s", sock_strerror(errno));
                log_addr(VERB_OPS, "remote address is", 
                        (struct sockaddr_storage*)addr, addrlen);
                return 0;
@@ -845,7 +840,6 @@ int comm_point_perform_accept(struct comm_point* c,
                        return -1;
                }
 #endif
-               log_err_addr("accept failed", strerror(errno), addr, *addrlen);
 #else /* USE_WINSOCK */
                if(WSAGetLastError() == WSAEINPROGRESS ||
                        WSAGetLastError() == WSAECONNRESET)
@@ -854,9 +848,9 @@ int comm_point_perform_accept(struct comm_point* c,
                        ub_winsock_tcp_wouldblock(c->ev->ev, UB_EV_READ);
                        return -1;
                }
-               log_err_addr("accept failed", wsa_strerror(WSAGetLastError()),
-                       addr, *addrlen);
 #endif
+               log_err_addr("accept failed", sock_strerror(errno), addr,
+                       *addrlen);
                return -1;
        }
        if(c->tcp_conn_limit && c->type == comm_tcp_accept) {
@@ -1435,8 +1429,6 @@ comm_point_tcp_handle_read(int fd, struct comm_point* c, int short_ok)
                        if(errno == ECONNRESET && verbosity < 2)
                                return 0; /* silence reset by peer */
 #endif
-                       log_err_addr("read (in tcp s)", strerror(errno),
-                               &c->repinfo.addr, c->repinfo.addrlen);
 #else /* USE_WINSOCK */
                        if(WSAGetLastError() == WSAECONNRESET)
                                return 0;
@@ -1447,10 +1439,9 @@ comm_point_tcp_handle_read(int fd, struct comm_point* c, int short_ok)
                                        UB_EV_READ);
                                return 1;
                        }
-                       log_err_addr("read (in tcp s)", 
-                               wsa_strerror(WSAGetLastError()),
-                               &c->repinfo.addr, c->repinfo.addrlen);
 #endif
+                       log_err_addr("read (in tcp s)", sock_strerror(errno),
+                               &c->repinfo.addr, c->repinfo.addrlen);
                        return 0;
                } 
                c->tcp_byte_count += r;
@@ -1483,8 +1474,6 @@ comm_point_tcp_handle_read(int fd, struct comm_point* c, int short_ok)
 #ifndef USE_WINSOCK
                if(errno == EINTR || errno == EAGAIN)
                        return 1;
-               log_err_addr("read (in tcp r)", strerror(errno),
-                       &c->repinfo.addr, c->repinfo.addrlen);
 #else /* USE_WINSOCK */
                if(WSAGetLastError() == WSAECONNRESET)
                        return 0;
@@ -1494,10 +1483,9 @@ comm_point_tcp_handle_read(int fd, struct comm_point* c, int short_ok)
                        ub_winsock_tcp_wouldblock(c->ev->ev, UB_EV_READ);
                        return 1;
                }
-               log_err_addr("read (in tcp r)",
-                       wsa_strerror(WSAGetLastError()),
-                       &c->repinfo.addr, c->repinfo.addrlen);
 #endif
+               log_err_addr("read (in tcp r)", sock_strerror(errno),
+                       &c->repinfo.addr, c->repinfo.addrlen);
                return 0;
        }
        sldns_buffer_skip(c->buffer, r);
@@ -1716,8 +1704,6 @@ comm_point_tcp_handle_write(int fd, struct comm_point* c)
                if(errno == ECONNRESET && verbosity < 2)
                        return 0; /* silence reset by peer */
 #endif
-               log_err_addr("tcp send r", strerror(errno),
-                       &c->repinfo.addr, c->repinfo.addrlen);
 #else
                if(WSAGetLastError() == WSAEINPROGRESS)
                        return 1;
@@ -1727,9 +1713,9 @@ comm_point_tcp_handle_write(int fd, struct comm_point* c)
                }
                if(WSAGetLastError() == WSAECONNRESET && verbosity < 2)
                        return 0; /* silence reset by peer */
-               log_err_addr("tcp send r", wsa_strerror(WSAGetLastError()),
-                       &c->repinfo.addr, c->repinfo.addrlen);
 #endif
+               log_err_addr("tcp send r", sock_strerror(errno),
+                       &c->repinfo.addr, c->repinfo.addrlen);
                return 0;
        }
        sldns_buffer_skip(buffer, r);
@@ -1914,8 +1900,6 @@ http_read_more(int fd, struct comm_point* c)
 #ifndef USE_WINSOCK
                if(errno == EINTR || errno == EAGAIN)
                        return 1;
-               log_err_addr("read (in http r)", strerror(errno),
-                       &c->repinfo.addr, c->repinfo.addrlen);
 #else /* USE_WINSOCK */
                if(WSAGetLastError() == WSAECONNRESET)
                        return 0;
@@ -1925,10 +1909,9 @@ http_read_more(int fd, struct comm_point* c)
                        ub_winsock_tcp_wouldblock(c->ev->ev, UB_EV_READ);
                        return 1;
                }
-               log_err_addr("read (in http r)",
-                       wsa_strerror(WSAGetLastError()),
-                       &c->repinfo.addr, c->repinfo.addrlen);
 #endif
+               log_err_addr("read (in http r)", sock_strerror(errno),
+                       &c->repinfo.addr, c->repinfo.addrlen);
                return 0;
        }
        sldns_buffer_skip(c->buffer, r);
@@ -2364,8 +2347,6 @@ http_write_more(int fd, struct comm_point* c)
 #ifndef USE_WINSOCK
                if(errno == EINTR || errno == EAGAIN)
                        return 1;
-               log_err_addr("http send r", strerror(errno),
-                       &c->repinfo.addr, c->repinfo.addrlen);
 #else
                if(WSAGetLastError() == WSAEINPROGRESS)
                        return 1;
@@ -2373,9 +2354,9 @@ http_write_more(int fd, struct comm_point* c)
                        ub_winsock_tcp_wouldblock(c->ev->ev, UB_EV_WRITE);
                        return 1; 
                }
-               log_err_addr("http send r", wsa_strerror(WSAGetLastError()),
-                       &c->repinfo.addr, c->repinfo.addrlen);
 #endif
+               log_err_addr("http send r", sock_strerror(errno),
+                       &c->repinfo.addr, c->repinfo.addrlen);
                return 0;
        }
        sldns_buffer_skip(c->buffer, r);