... to toy with and run curl against it.
This is not advice on how to run anything in production. This is for development and experimenting.
An existing local HTTP/1.1 server that hosts files. Preferably also a few huge ones.
--- ./include/curl/curl.h 2021-12-09 11:01:40.994010630 +0100 | |
+++ ../curl-curl-121.100.3/curl/include/curl/curl.h 2021-10-06 07:13:04.000000000 +0200 | |
@@ -550,6 +550,7 @@ | |
CURLE_SSL_CIPHER, /* 59 - couldn't use specified cipher */ | |
CURLE_PEER_FAILED_VERIFICATION, /* 60 - peer's certificate or fingerprint | |
wasn't verified fine */ | |
+ CURLE_SSL_CACERT = CURLE_PEER_FAILED_VERIFICATION, /* DEPRECATED: 60 - problem with the CA cert (path?) */ | |
CURLE_BAD_CONTENT_ENCODING, /* 61 - Unrecognized/bad encoding */ | |
CURLE_LDAP_INVALID_URL, /* 62 - Invalid LDAP URL */ | |
CURLE_FILESIZE_EXCEEDED, /* 63 - Maximum file size exceeded */ |
Last Tested Stacktrace on revision a5f5687368a5f95415d58d37e8dfb10c6b6d44c5 (113 lines) | |
[Environment] ASAN_OPTIONS=alloc_dealloc_mismatch=0:allocator_may_return_null=1:allocator_release_to_os_interval_ms=500:allow_user_segv_handler=0:check_malloc_usable_size=0:detect_leaks=1:detect_odr_violation=0:detect_stack_use_after_return=1:fast_unwind_on_fatal=0:handle_abort=2:handle_segv=2:handle_sigbus=2:handle_sigfpe=2:handle_sigill=2:max_uar_stack_size_log=16:print_scariness=1:print_summary=1:print_suppressions=0:quarantine_size_mb=64:redzone=64:strict_memcmp=1:strip_path_prefix=/workspace/:symbolize=0:use_sigaltstack=1 | |
+----------------------------------------Release Build Stacktrace----------------------------------------+ | |
Command: /mnt/scratch0/clusterfuzz/resources/platform/linux/unshare -c -n /mnt/scratch0/clusterfuzz/bot/builds/clusterfuzz-builds-afl_curl_d1a7f12cc2e5055727a9c66d5eca203f3c8f5a6c/revisions/curl_fuzzer_sftp /mnt/scratch0/clusterfuzz/bot/inputs/fuzzer-testcases/crash | |
Time ran: 0.027436971664 |
#!/bin/sh | |
sed -i -e "s/hasn't/has not/gi" \ | |
-e "s/haven't/have not/gi" \ | |
-e "s/won't/will not/gi" \ | |
-e "s/wasn't/was not/gi" \ | |
-e "s/don't/do not/g" \ | |
-e "s/Don't/Do not/g" \ | |
-e "s/Doesn't/Does not/g" \ | |
-e "s/doesn't/does not/g" \ | |
-e "s/Didn't/Did not/g" \ |
#include <stdio.h> | |
#include <stdlib.h> | |
#include <string.h> | |
#define OPENSSL_SUPPRESS_DEPRECATED 1 | |
#include <openssl/des.h> | |
# define DESKEYARG(x) *x | |
# define DESKEY(x) &x |
diff --git a/lib/select.c b/lib/select.c | |
index 52dca5a2c..3be32ceb5 100644 | |
--- a/lib/select.c | |
+++ b/lib/select.c | |
@@ -344,10 +344,11 @@ int Curl_poll(struct pollfd ufds[], unsigned int nfds, timediff_t timeout_ms) | |
for(i = 0; i < nfds; i++) { | |
if(ufds[i].fd != CURL_SOCKET_BAD) { | |
fds_none = FALSE; | |
break; | |
} |
Starting [Code-Review] | |
Starting [Contributors] | |
Starting [Fuzzing] | |
Starting [Packaging] | |
Starting [CI-Tests] | |
Starting [CII-Best-Practices] | |
Starting [Frozen-Deps] | |
Starting [Pull-Requests] | |
Starting [Security-Policy] | |
Starting [Signed-Releases] |
$ cd $HOME/src/quiche | |
$ cat mybuild | |
QUICHE_BSSL_PATH=$HOME/src/boringssl cargo build --release --features ffi,pkg-config-meta,qlog --verbose | |
$ cd $HOME/src/boringssl | |
$ cat mybuild | |
#!/bin/sh | |
CXX=g++ CC=gcc cmake -H. -Bbuild -GNinja -DCMAKE_BUILD_TYPE=release -DBUILD_SHARED_LIBS=1 && cmake --build build | |
cp ./build/crypto/libcrypto.so ./lib/ | |
cp ./build/ssl/libssl.so ./lib/ |
HTTP/1.1 200 OK | |
Date: Thu, 21 Jan 2021 13:35:13 GMT | |
Server: Apache/2.4.46 (Debian) | |
Upgrade: h2c | |
Connection: Upgrade | |
Last-Modified: Fri, 20 May 2016 19:39:55 GMT | |
ETag: "20000000-5334b41606420" | |
Accept-Ranges: bytes | |
Content-Length: 536870912 |
diff --git a/tests/valgrind.supp b/tests/valgrind.supp | |
index 10b07314a..4aaeac5b4 100644 | |
--- a/tests/valgrind.supp | |
+++ b/tests/valgrind.supp | |
@@ -1,5 +1,13 @@ | |
+{ | |
+ zstd_decompression-1.3.3 | |
+ Memcheck:cond | |
+ fun:ZSTD_decompressStream | |
+ obj:/usr/lib/x86_64-linux-gnu/libzstd.so.1.3.3 |