diff options
Diffstat (limited to 'tests/server')
-rw-r--r-- | tests/server/Makefile.inc | 4 | ||||
-rw-r--r-- | tests/server/disabled.c | 79 | ||||
-rw-r--r-- | tests/server/socksd.c | 10 | ||||
-rw-r--r-- | tests/server/sws.c | 25 |
4 files changed, 94 insertions, 24 deletions
diff --git a/tests/server/Makefile.inc b/tests/server/Makefile.inc index f14d35d12..6296af7cc 100644 --- a/tests/server/Makefile.inc +++ b/tests/server/Makefile.inc @@ -1,4 +1,4 @@ -noinst_PROGRAMS = getpart resolve rtspd sockfilt sws tftpd fake_ntlm socksd +noinst_PROGRAMS = getpart resolve rtspd sockfilt sws tftpd fake_ntlm socksd disabled CURLX_SRCS = \ ../../lib/mprintf.c \ @@ -74,3 +74,5 @@ fake_ntlm_SOURCES = $(CURLX_SRCS) $(CURLX_HDRS) $(USEFUL) $(UTIL) \ fake_ntlm.c fake_ntlm_LDADD = @CURL_NETWORK_AND_TIME_LIBS@ fake_ntlm_CFLAGS = $(AM_CFLAGS) + +disabled_SOURCES = disabled.c diff --git a/tests/server/disabled.c b/tests/server/disabled.c new file mode 100644 index 000000000..c82847d8e --- /dev/null +++ b/tests/server/disabled.c @@ -0,0 +1,79 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ + +/* + * The purpose of this tool is to figure out which, if any, features that are + * disabled which should otherwise exist and work. These aren't visible in + * regular curl -V output. + * + * Disabled protocols are visible in curl_version_info() and are not included + * in this table. + */ + +#include "curl_setup.h" +#include <stdio.h> + +static const char *disabled[]={ +#ifdef CURL_DISABLE_COOKIES + "cookies", +#endif +#ifdef CURL_DISABLE_CRYPTO_AUTH + "crypto", +#endif +#ifdef CURL_DISABLE_DOH + "DoH", +#endif +#ifdef CURL_DISABLE_HTTP_AUTH + "HTTP-auth", +#endif +#ifdef CURL_DISABLE_MIME + "Mime", +#endif +#ifdef CURL_DISABLE_NETRC + "netrc", +#endif +#ifdef CURL_DISABLE_PARSEDATE + "parsedate", +#endif +#ifdef CURL_DISABLE_PROXY + "proxy", +#endif +#ifdef CURL_DISABLE_SHUFFLE_DNS + "shuffle-dns", +#endif +#ifdef CURL_DISABLE_TYPECHECK + "typecheck", +#endif +#ifdef CURL_DISABLE_VERBOSE_STRINGS + "verbose-strings", +#endif + NULL +}; + +int main(void) +{ + int i; + for(i = 0; disabled[i]; i++) + printf("%s\n", disabled[i]); + + return 0; +} diff --git a/tests/server/socksd.c b/tests/server/socksd.c index df32a49a1..5e32bc904 100644 --- a/tests/server/socksd.c +++ b/tests/server/socksd.c @@ -749,10 +749,6 @@ static bool incoming(curl_socket_t listenfd) fd_set fds_read; fd_set fds_write; fd_set fds_err; - curl_socket_t sockfd = CURL_SOCKET_BAD; - int maxfd = -99; - ssize_t rc; - int error = 0; int clients = 0; /* connected clients */ struct perclient c[2]; @@ -772,15 +768,17 @@ static bool incoming(curl_socket_t listenfd) do { int i; + ssize_t rc; + int error = 0; + curl_socket_t sockfd = listenfd; + int maxfd = (int)sockfd; FD_ZERO(&fds_read); FD_ZERO(&fds_write); FD_ZERO(&fds_err); - sockfd = listenfd; /* there's always a socket to wait for */ FD_SET(sockfd, &fds_read); - maxfd = (int)sockfd; for(i = 0; i < 2; i++) { if(c[i].used) { diff --git a/tests/server/sws.c b/tests/server/sws.c index e5806875c..963357799 100644 --- a/tests/server/sws.c +++ b/tests/server/sws.c @@ -952,28 +952,19 @@ static int get_request(curl_socket_t sock, struct httprequest *req) ssize_t got = 0; int overflow = 0; - char *pipereq = NULL; - size_t pipereq_length = 0; - if(req->offset >= REQBUFSIZ-1) { /* buffer is already full; do nothing */ overflow = 1; } else { - if(pipereq_length && pipereq) { - memmove(reqbuf, pipereq, pipereq_length); - got = curlx_uztosz(pipereq_length); - pipereq_length = 0; - } - else { - if(req->skip) - /* we are instructed to not read the entire thing, so we make sure to - only read what we're supposed to and NOT read the enire thing the - client wants to send! */ - got = sread(sock, reqbuf + req->offset, req->cl); - else - got = sread(sock, reqbuf + req->offset, REQBUFSIZ-1 - req->offset); - } + if(req->skip) + /* we are instructed to not read the entire thing, so we make sure to + only read what we're supposed to and NOT read the enire thing the + client wants to send! */ + got = sread(sock, reqbuf + req->offset, req->cl); + else + got = sread(sock, reqbuf + req->offset, REQBUFSIZ-1 - req->offset); + if(got_exit_signal) return -1; if(got == 0) { |