"tests/data/test**",
"tests/valgrind.supp",
# checksrc control files
+ "docs/examples/.checksrc",
"lib/.checksrc",
"lib/curlx/.checksrc",
"lib/vauth/.checksrc",
--- /dev/null
+allowfunc gmtime
+allowfunc localtime
+allowfunc socket
AUTOMAKE_OPTIONS = foreign nostdinc
-EXTRA_DIST = CMakeLists.txt README.md Makefile.example $(COMPLICATED_EXAMPLES)
+EXTRA_DIST = CMakeLists.txt .checksrc README.md Makefile.example $(COMPLICATED_EXAMPLES)
# Specify our include paths here, and do it relative to $(top_srcdir) and
# $(top_builddir), to ensure that these paths which belong to the library
known_offset = 1;
}
secs = epoch_offset + tv.tv_sec;
- /* !checksrc! disable BANNEDFUNC 1 */
now = localtime(&secs); /* not thread safe but we do not care */
curl_msnprintf(timebuf, sizeof(timebuf), "%02d:%02d:%02d.%06ld",
now->tm_hour, now->tm_min, now->tm_sec, (long)tv.tv_usec);
/* Calculating time diff between GMT and localtime */
tt = time(0);
- /* !checksrc! disable BANNEDFUNC 1 */
lt = localtime(&tt);
tt_local = mktime(lt);
- /* !checksrc! disable BANNEDFUNC 1 */
gmt = gmtime(&tt);
tt_gmt = mktime(gmt);
tzonediffFloat = difftime(tt_local, tt_gmt);
}
else {
/* opensocket callback not set, so simply create the socket now */
- *sockfd = socket(addr->family, addr->socktype, addr->protocol);
+ *sockfd = CURL_SOCKET(addr->family, addr->socktype, addr->protocol);
}
if(*sockfd == CURL_SOCKET_BAD)
if(!getsockname(ctx->sock, (struct sockaddr *) &add, &size)) {
size = sizeof(add);
#ifdef HAVE_ACCEPT4
- s_accepted = accept4(ctx->sock, (struct sockaddr *) &add, &size,
- SOCK_NONBLOCK | SOCK_CLOEXEC);
+ s_accepted = CURL_ACCEPT4(ctx->sock, (struct sockaddr *) &add, &size,
+ SOCK_NONBLOCK | SOCK_CLOEXEC);
#else
s_accepted = CURL_ACCEPT(ctx->sock, (struct sockaddr *) &add, &size);
#endif
if(env)
r_freeaddrinfo(freethis);
else
+ /* !checksrc! disable BANNEDFUNC 1 */
freeaddrinfo(freethis);
}
#else
+ /* !checksrc! disable BANNEDFUNC 1 */
freeaddrinfo(freethis);
#endif
}
if(env)
res = r_getaddrinfo(hostname, service, hints, result);
else
+ /* !checksrc! disable BANNEDFUNC 1 */
res = getaddrinfo(hostname, service, hints, result);
#else
+ /* !checksrc! disable BANNEDFUNC 1 */
int res = getaddrinfo(hostname, service, hints, result);
#endif
if(res == 0)
#ifdef CURLDEBUG
-#undef send
-#undef recv
-
-#undef socket
-#ifdef HAVE_ACCEPT4
-#undef accept4
-#endif
-#ifdef HAVE_SOCKETPAIR
-#undef socketpair
-#endif
-
#undef fopen
#ifdef CURL_FOPEN
#define fopen(fname, mode) CURL_FOPEN(fname, mode)
curl_dbg_getaddrinfo(host, serv, hint, res, __LINE__, __FILE__)
#define CURL_FREEADDRINFO(data) \
curl_dbg_freeaddrinfo(data, __LINE__, __FILE__)
-
+#define CURL_SOCKET(domain,type,protocol) \
+ curl_dbg_socket((int)domain, type, protocol, __LINE__, __FILE__)
+#ifdef HAVE_SOCKETPAIR
+#define CURL_SOCKETPAIR(domain,type,protocol,socket_vector) \
+ curl_dbg_socketpair((int)domain, type, protocol, socket_vector, \
+ __LINE__, __FILE__)
+#endif
#define CURL_ACCEPT(sock,addr,len) \
curl_dbg_accept(sock, addr, len, __LINE__, __FILE__)
+#ifdef HAVE_ACCEPT4
+#define CURL_ACCEPT4(sock,addr,len,flags) \
+ curl_dbg_accept4(sock, addr, len, flags, __LINE__, __FILE__)
+#endif
+#define CURL_SEND(a,b,c,d) curl_dbg_send(a,b,c,d, __LINE__, __FILE__)
+#define CURL_RECV(a,b,c,d) curl_dbg_recv(a,b,c,d, __LINE__, __FILE__)
#else /* !CURLDEBUG */
#define CURL_GETADDRINFO getaddrinfo
#define CURL_FREEADDRINFO freeaddrinfo
-
+#define CURL_SOCKET socket
+#ifdef HAVE_SOCKETPAIR
+#define CURL_SOCKETPAIR socketpair
+#endif
#define CURL_ACCEPT accept
+#ifdef HAVE_ACCEPT4
+#define CURL_ACCEPT4 accept4
+#endif
+#define CURL_SEND send
+#define CURL_RECV recv
#endif /* CURLDEBUG */
else {
int ipv6_works = -1;
/* probe to see if we have a working IPv6 stack */
- curl_socket_t s = socket(PF_INET6, SOCK_DGRAM, 0);
+ curl_socket_t s = CURL_SOCKET(PF_INET6, SOCK_DGRAM, 0);
if(s == CURL_SOCKET_BAD)
/* an IPv6 address was requested but we cannot get/use one */
ipv6_works = 0;
if(len >= sizeof(req.ifr_name))
return IF2IP_NOT_FOUND;
- dummy = socket(AF_INET, SOCK_STREAM, 0);
+ dummy = CURL_SOCKET(AF_INET, SOCK_STREAM, 0);
if(CURL_SOCKET_BAD == dummy)
return IF2IP_NOT_FOUND;
if(countcheck("socket", line, source))
return CURL_SOCKET_BAD;
- sockfd = (socket)(domain, type, protocol);
+ /* !checksrc! disable BANNEDFUNC 1 */
+ sockfd = socket(domain, type, protocol);
if(source && (sockfd != CURL_SOCKET_BAD))
curl_dbg_log("FD %s:%d socket() = %" FMT_SOCKET_T "\n",
SEND_TYPE_RETV rc;
if(countcheck("send", line, source))
return -1;
- rc = (send)(sockfd, buf, len, flags);
+ /* !checksrc! disable BANNEDFUNC 1 */
+ rc = send(sockfd, buf, len, flags);
if(source)
curl_dbg_log("SEND %s:%d send(%lu) = %ld\n",
source, line, (unsigned long)len, (long)rc);
RECV_TYPE_RETV rc;
if(countcheck("recv", line, source))
return -1;
- rc = (recv)(sockfd, buf, len, flags);
+ /* !checksrc! disable BANNEDFUNC 1 */
+ rc = recv(sockfd, buf, len, flags);
if(source)
curl_dbg_log("RECV %s:%d recv(%lu) = %ld\n",
source, line, (unsigned long)len, (long)rc);
curl_socket_t socket_vector[2],
int line, const char *source)
{
- int res = (socketpair)(domain, type, protocol, socket_vector);
+ /* !checksrc! disable BANNEDFUNC 1 */
+ int res = socketpair(domain, type, protocol, socket_vector);
if(source && (res == 0))
curl_dbg_log("FD %s:%d socketpair() = "
struct sockaddr *addr = (struct sockaddr *)saddr;
curl_socklen_t *addrlen = (curl_socklen_t *)saddrlen;
+ /* !checksrc! disable BANNEDFUNC 1 */
curl_socket_t sockfd = accept(s, addr, addrlen);
if(source && (sockfd != CURL_SOCKET_BAD))
struct sockaddr *addr = (struct sockaddr *)saddr;
curl_socklen_t *addrlen = (curl_socklen_t *)saddrlen;
- curl_socket_t sockfd = (accept4)(s, addr, addrlen, flags);
+ /* !checksrc! disable BANNEDFUNC 1 */
+ curl_socket_t sockfd = accept4(s, addr, addrlen, flags);
if(source && (sockfd != CURL_SOCKET_BAD))
curl_dbg_log("FD %s:%d accept() = %" FMT_SOCKET_T "\n",
#define realloc(ptr,size) curl_dbg_realloc(ptr, size, __LINE__, __FILE__)
#undef free
#define free(ptr) curl_dbg_free(ptr, __LINE__, __FILE__)
-#undef send
-#define send(a,b,c,d) curl_dbg_send(a,b,c,d, __LINE__, __FILE__)
-#undef recv
-#define recv(a,b,c,d) curl_dbg_recv(a,b,c,d, __LINE__, __FILE__)
#ifdef _WIN32
#undef Curl_tcsdup
#endif
#endif /* _WIN32 */
-#undef socket
-#define socket(domain,type,protocol) \
- curl_dbg_socket((int)domain, type, protocol, __LINE__, __FILE__)
-#ifdef HAVE_ACCEPT4
-#undef accept4 /* for those with accept4 as a macro */
-#define accept4(sock,addr,len,flags) \
- curl_dbg_accept4(sock, addr, len, flags, __LINE__, __FILE__)
-#endif
-#ifdef HAVE_SOCKETPAIR
-#define socketpair(domain,type,protocol,socket_vector) \
- curl_dbg_socketpair((int)domain, type, protocol, socket_vector, \
- __LINE__, __FILE__)
-#endif
-
#undef fopen
#define fopen(file,mode) curl_dbg_fopen(file,mode,__LINE__,__FILE__)
#undef fdopen
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);
+ CURL_SEND(s, NULL, 0, 0);
}
#endif
#ifdef SOCK_NONBLOCK
type = nonblocking ? type | SOCK_NONBLOCK : type;
#endif
- if(socketpair(domain, type, protocol, socks))
+ if(CURL_SOCKETPAIR(domain, type, protocol, socks))
return -1;
#ifndef SOCK_NONBLOCK
if(nonblocking) {
(void)type;
(void)protocol;
- listener = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
+ listener = CURL_SOCKET(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if(listener == CURL_SOCKET_BAD)
return -1;
goto error;
if(listen(listener, 1) == -1)
goto error;
- socks[0] = socket(AF_INET, SOCK_STREAM, 0);
+ socks[0] = CURL_SOCKET(AF_INET, SOCK_STREAM, 0);
if(socks[0] == CURL_SOCKET_BAD)
goto error;
if(connect(socks[0], &a.addr, sizeof(a.inaddr)) == -1)
*psent = 0;
- while((sent = send(qctx->sockfd,
- (const char *)pkt, (SEND_TYPE_ARG3)pktlen, 0)) == -1 &&
+ while((sent = CURL_SEND(qctx->sockfd, (const char *)pkt,
+ (SEND_TYPE_ARG3)pktlen, 0)) == -1 &&
SOCKERRNO == SOCKEINTR)
;
eservname[i] = '\0';
}
+ /* !checksrc! disable BANNEDFUNC 1 */
status = getaddrinfo(enodename, eservname, hints, res);
free(enodename);
free(eservname);
"_waccess" => 1,
"_access" => 1,
"access" => 1,
+ "accept" => 1,
+ "accept4" => 1,
+ "freeaddrinfo" => 1,
+ "getaddrinfo" => 1,
+ "recv" => 1,
+ "send" => 1,
+ "socket" => 1,
+ "socketpair" => 1,
);
my %warnings_extended = (
execute */
if(per->uploadfile && !strcmp(per->uploadfile, ".") && per->infd > 0) {
#if defined(_WIN32) && !defined(CURL_WINDOWS_UWP) && !defined(UNDER_CE)
- rc = recv(per->infd, buffer, curlx_uztosi(sz * nmemb), 0);
+ rc = CURL_RECV(per->infd, buffer, curlx_uztosi(sz * nmemb), 0);
if(rc < 0) {
if(SOCKERRNO == SOCKEWOULDBLOCK) {
CURL_SETERRNO(0);
return CURL_SOCKET_BAD;
#endif
- return socket(addr->family, addr->socktype, protocol);
+ return CURL_SOCKET(addr->family, addr->socktype, protocol);
}
break;
if(n == 0)
break;
- nwritten = send(socket_w, buffer, n, 0);
+ nwritten = CURL_SEND(socket_w, buffer, n, 0);
if(nwritten == SOCKET_ERROR)
break;
if((DWORD)nwritten != n)
}
/* Connect to the thread and rearrange our own STDIN handles */
- socket_r = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
+ socket_r = CURL_SOCKET(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if(socket_r == CURL_SOCKET_BAD) {
errorf("socket error: %08lx", GetLastError());
break;
* over this socket as "already connected" to libcurl and make sure that
* this works.
*/
- client_fd = socket(AF_INET, SOCK_STREAM, 0);
+ client_fd = CURL_SOCKET(AF_INET, SOCK_STREAM, 0);
if(client_fd == CURL_SOCKET_BAD) {
curl_mfprintf(stderr, "socket creation error\n");
goto test_cleanup;
(void)clientp;
(void)purpose;
curl_mprintf("[OPEN] counter: %d\n", ++testcounter);
- return socket(addr->family, addr->socktype, addr->protocol);
+ return CURL_SOCKET(addr->family, addr->socktype, addr->protocol);
}
static int tst_closesocket(void *clientp, curl_socket_t sock)
+allowfunc accept
+allowfunc freeaddrinfo
+allowfunc getaddrinfo
+allowfunc recv
+allowfunc send
+allowfunc socket
allowfunc strtoul