diff --git a/lib/multi.c b/lib/multi.c index b847f81a7a..99d1adcb51 100644 --- a/lib/multi.c +++ b/lib/multi.c @@ -1327,7 +1327,7 @@ static void reset_socket_fdwrite(curl_socket_t s) int t; int l = (int)sizeof(t); if(!getsockopt(s, SOL_SOCKET, SO_TYPE, (char *)&t, &l) && t == SOCK_STREAM) - send(s, NULL, 0, 0); + swrite(s, NULL, 0); } #endif diff --git a/lib/vquic/vquic.c b/lib/vquic/vquic.c index 5cf4b0f90c..1b7dc1d3aa 100644 --- a/lib/vquic/vquic.c +++ b/lib/vquic/vquic.c @@ -196,8 +196,7 @@ static CURLcode do_sendmsg(struct Curl_cfilter *cf, *psent = 0; - while((rv = send(qctx->sockfd, (const char *)pkt, - (SEND_TYPE_ARG3)pktlen, 0)) == -1 && + while((rv = swrite(qctx->sockfd, pkt, pktlen)) == -1 && SOCKERRNO == SOCKEINTR) ; diff --git a/scripts/checksrc.pl b/scripts/checksrc.pl index 4bc868730b..7dab44353b 100755 --- a/scripts/checksrc.pl +++ b/scripts/checksrc.pl @@ -101,7 +101,9 @@ my %banfunc = ( "open" => 1, "printf" => 1, "realloc" => 1, + "recv" => 1, "rename" => 1, + "send" => 1, "snprintf" => 1, "socket" => 1, "socketpair" => 1, diff --git a/src/tool_cb_rea.c b/src/tool_cb_rea.c index 39d0b4ed14..2343d04a13 100644 --- a/src/tool_cb_rea.c +++ b/src/tool_cb_rea.c @@ -114,7 +114,7 @@ size_t tool_read_cb(char *buffer, size_t sz, size_t nmemb, void *userdata) execute */ if(per->uploadfile && !strcmp(per->uploadfile, ".") && per->infd > 0) { #ifndef CURL_WINDOWS_UWP - rc = recv(per->infd, buffer, curlx_uztosi(sz * nmemb), 0); + rc = sread(per->infd, buffer, curlx_uztosi(sz * nmemb)); if(rc < 0) { if(SOCKERRNO == SOCKEWOULDBLOCK) { errno = 0; diff --git a/src/tool_doswin.c b/src/tool_doswin.c index 27593c6636..eb73f23a41 100644 --- a/src/tool_doswin.c +++ b/src/tool_doswin.c @@ -737,7 +737,7 @@ static DWORD WINAPI win_stdin_thread_func(void *thread_data) break; if(n == 0) break; - nwritten = send(socket_w, buffer, n, 0); + nwritten = swrite(socket_w, buffer, n); if(nwritten == -1) break; if((DWORD)nwritten != n) diff --git a/tests/server/sockfilt.c b/tests/server/sockfilt.c index fb1282df03..2153498929 100644 --- a/tests/server/sockfilt.c +++ b/tests/server/sockfilt.c @@ -703,7 +703,7 @@ static int select_ws(int nfds, fd_set *readfds, fd_set *writefds, wsaevent = WSACreateEvent(); if(wsaevent != WSA_INVALID_EVENT) { if(wsaevents.lNetworkEvents & FD_WRITE) { - send(wsasock, NULL, 0, 0); /* reset FD_WRITE */ + swrite(wsasock, NULL, 0); /* reset FD_WRITE */ } error = WSAEventSelect(wsasock, wsaevent, wsaevents.lNetworkEvents); if(error != SOCKET_ERROR) { diff --git a/tests/server/socksd.c b/tests/server/socksd.c index b9ab49436e..2fa11530c6 100644 --- a/tests/server/socksd.c +++ b/tests/server/socksd.c @@ -306,7 +306,7 @@ static curl_socket_t sockit(curl_socket_t fd) socksd_getconfig(); - rc = recv(fd, (char *)buffer, sizeof(buffer), 0); + rc = sread(fd, buffer, sizeof(buffer)); if(rc <= 0) { logmsg("SOCKS identifier message missing, recv returned %zd", rc); return CURL_SOCKET_BAD; @@ -353,7 +353,7 @@ static curl_socket_t sockit(curl_socket_t fd) loghex(response, rc); /* expect the request or auth */ - rc = recv(fd, (char *)buffer, sizeof(buffer), 0); + rc = sread(fd, buffer, sizeof(buffer)); if(rc <= 0) { logmsg("SOCKS5 request or auth message missing, recv returned %zd", rc); return CURL_SOCKET_BAD; @@ -412,7 +412,7 @@ static curl_socket_t sockit(curl_socket_t fd) return CURL_SOCKET_BAD; /* expect the request */ - rc = recv(fd, (char *)buffer, sizeof(buffer), 0); + rc = sread(fd, buffer, sizeof(buffer)); if(rc <= 0) { logmsg("SOCKS5 request message missing, recv returned %zd", rc); return CURL_SOCKET_BAD; @@ -581,9 +581,9 @@ static int tunnel(struct perclient *cp, fd_set *fds) char buffer[512]; if(FD_ISSET(cp->clientfd, fds)) { /* read from client, send to remote */ - nread = recv(cp->clientfd, buffer, sizeof(buffer), 0); + nread = sread(cp->clientfd, buffer, sizeof(buffer)); if(nread > 0) { - nwrite = send(cp->remotefd, (char *)buffer, (SEND_TYPE_ARG3)nread, 0); + nwrite = swrite(cp->remotefd, buffer, nread); if(nwrite != nread) return 1; cp->fromclient += nwrite; @@ -593,9 +593,9 @@ static int tunnel(struct perclient *cp, fd_set *fds) } if(FD_ISSET(cp->remotefd, fds)) { /* read from remote, send to client */ - nread = recv(cp->remotefd, buffer, sizeof(buffer), 0); + nread = sread(cp->remotefd, buffer, sizeof(buffer)); if(nread > 0) { - nwrite = send(cp->clientfd, (char *)buffer, (SEND_TYPE_ARG3)nread, 0); + nwrite = swrite(cp->clientfd, buffer, nread); if(nwrite != nread) return 1; cp->fromremote += nwrite;