diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index eb1420f1..e632fc66 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -52,13 +52,9 @@ jobs: - curl_fuzzer_http - curl_fuzzer_https - curl_fuzzer_imap - - curl_fuzzer_ldap - curl_fuzzer_mqtt - curl_fuzzer_pop3 - - curl_fuzzer_rtmp - curl_fuzzer_rtsp - - curl_fuzzer_scp - - curl_fuzzer_sftp - curl_fuzzer_smb - curl_fuzzer_smtp - curl_fuzzer_tftp diff --git a/Makefile.am b/Makefile.am index 12b29cba..7cbadd2b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -43,19 +43,21 @@ FUZZPROGS = curl_fuzzer \ curl_fuzzer_http \ curl_fuzzer_https \ curl_fuzzer_imap \ - curl_fuzzer_ldap \ curl_fuzzer_mqtt \ curl_fuzzer_pop3 \ - curl_fuzzer_rtmp \ curl_fuzzer_rtsp \ - curl_fuzzer_scp \ - curl_fuzzer_sftp \ curl_fuzzer_smb \ curl_fuzzer_smtp \ curl_fuzzer_ws \ curl_fuzzer_tftp \ fuzz_url +# need external libs: +# curl_fuzzer_ldap +# curl_fuzzer_rtmp +# curl_fuzzer_scp +# curl_fuzzer_sftp + FUZZLIBS = libstandaloneengine.a COMMON_SOURCES = curl_fuzzer.cc curl_fuzzer_tlv.cc curl_fuzzer_callback.cc @@ -92,27 +94,15 @@ curl_fuzzer_https_LDADD = $(COMMON_LDADD) curl_fuzzer_imap_SOURCES = $(COMMON_SOURCES) curl_fuzzer_imap_CXXFLAGS = $(COMMON_FLAGS) -DFUZZ_PROTOCOLS_IMAP curl_fuzzer_imap_LDADD = $(COMMON_LDADD) -curl_fuzzer_ldap_SOURCES = $(COMMON_SOURCES) -curl_fuzzer_ldap_CXXFLAGS = $(COMMON_FLAGS) -DFUZZ_PROTOCOLS_LDAP -curl_fuzzer_ldap_LDADD = $(COMMON_LDADD) curl_fuzzer_mqtt_SOURCES = $(COMMON_SOURCES) curl_fuzzer_mqtt_CXXFLAGS = $(COMMON_FLAGS) -DFUZZ_PROTOCOLS_MQTT curl_fuzzer_mqtt_LDADD = $(COMMON_LDADD) curl_fuzzer_pop3_SOURCES = $(COMMON_SOURCES) curl_fuzzer_pop3_CXXFLAGS = $(COMMON_FLAGS) -DFUZZ_PROTOCOLS_POP3 curl_fuzzer_pop3_LDADD = $(COMMON_LDADD) -curl_fuzzer_rtmp_SOURCES = $(COMMON_SOURCES) -curl_fuzzer_rtmp_CXXFLAGS = $(COMMON_FLAGS) -DFUZZ_PROTOCOLS_RTMP -curl_fuzzer_rtmp_LDADD = $(COMMON_LDADD) curl_fuzzer_rtsp_SOURCES = $(COMMON_SOURCES) curl_fuzzer_rtsp_CXXFLAGS = $(COMMON_FLAGS) -DFUZZ_PROTOCOLS_RTSP curl_fuzzer_rtsp_LDADD = $(COMMON_LDADD) -curl_fuzzer_scp_SOURCES = $(COMMON_SOURCES) -curl_fuzzer_scp_CXXFLAGS = $(COMMON_FLAGS) -DFUZZ_PROTOCOLS_SCP -curl_fuzzer_scp_LDADD = $(COMMON_LDADD) -curl_fuzzer_sftp_SOURCES = $(COMMON_SOURCES) -curl_fuzzer_sftp_CXXFLAGS = $(COMMON_FLAGS) -DFUZZ_PROTOCOLS_SFTP -curl_fuzzer_sftp_LDADD = $(COMMON_LDADD) curl_fuzzer_smb_SOURCES = $(COMMON_SOURCES) curl_fuzzer_smb_CXXFLAGS = $(COMMON_FLAGS) -DFUZZ_PROTOCOLS_SMB curl_fuzzer_smb_LDADD = $(COMMON_LDADD) @@ -126,6 +116,19 @@ curl_fuzzer_ws_SOURCES = $(COMMON_SOURCES) curl_fuzzer_ws_CXXFLAGS = $(COMMON_FLAGS) -DFUZZ_PROTOCOLS_WS curl_fuzzer_ws_LDADD = $(COMMON_LDADD) +#curl_fuzzer_rtmp_SOURCES = $(COMMON_SOURCES) +#curl_fuzzer_rtmp_CXXFLAGS = $(COMMON_FLAGS) -DFUZZ_PROTOCOLS_RTMP +#curl_fuzzer_rtmp_LDADD = $(COMMON_LDADD) +#curl_fuzzer_ldap_SOURCES = $(COMMON_SOURCES) +#curl_fuzzer_ldap_CXXFLAGS = $(COMMON_FLAGS) -DFUZZ_PROTOCOLS_LDAP +#curl_fuzzer_ldap_LDADD = $(COMMON_LDADD) +#curl_fuzzer_scp_SOURCES = $(COMMON_SOURCES) +#curl_fuzzer_scp_CXXFLAGS = $(COMMON_FLAGS) -DFUZZ_PROTOCOLS_SCP +#curl_fuzzer_scp_LDADD = $(COMMON_LDADD) +#curl_fuzzer_sftp_SOURCES = $(COMMON_SOURCES) +#curl_fuzzer_sftp_CXXFLAGS = $(COMMON_FLAGS) -DFUZZ_PROTOCOLS_SFTP +#curl_fuzzer_sftp_LDADD = $(COMMON_LDADD) + fuzz_url_SOURCES = fuzz_url.cc fuzz_url_CXXFLAGS = $(COMMON_FLAGS) fuzz_url_LDADD = $(COMMON_LDADD) diff --git a/curl_fuzzer.cc b/curl_fuzzer.cc index 44f0a239..4a7b03b9 100644 --- a/curl_fuzzer.cc +++ b/curl_fuzzer.cc @@ -511,8 +511,8 @@ int fuzz_set_allowed_protocols(FUZZ_DATA *fuzz) /* Do not allow telnet currently as it accepts input from stdin. */ allowed_protocols = "dict,file,ftp,ftps,gopher,gophers,http,https,imap,imaps," - "ldap,ldaps,mqtt,pop3,pop3s,rtmp,rtmpe,rtmps,rtmpt,rtmpte,rtmpts," - "rtsp,scp,sftp,smb,smbs,smtp,smtps,tftp"; + "mqtt,pop3,pop3s," + "rtsp,smb,smbs,smtp,smtps,tftp"; #endif #ifdef FUZZ_PROTOCOLS_DICT allowed_protocols = "dict"; diff --git a/scripts/fuzz_targets b/scripts/fuzz_targets index 907a163a..39670d6c 100644 --- a/scripts/fuzz_targets +++ b/scripts/fuzz_targets @@ -1,3 +1,3 @@ #!/bin/bash -export FUZZ_TARGETS="curl_fuzzer_dict curl_fuzzer_file curl_fuzzer_ftp curl_fuzzer_gopher curl_fuzzer_http curl_fuzzer_https curl_fuzzer_imap curl_fuzzer_ldap curl_fuzzer_mqtt curl_fuzzer_pop3 curl_fuzzer_rtmp curl_fuzzer_rtsp curl_fuzzer_scp curl_fuzzer_sftp curl_fuzzer_smb curl_fuzzer_smtp curl_fuzzer_tftp curl_fuzzer_ws curl_fuzzer fuzz_url" +export FUZZ_TARGETS="curl_fuzzer_dict curl_fuzzer_file curl_fuzzer_ftp curl_fuzzer_gopher curl_fuzzer_http curl_fuzzer_https curl_fuzzer_imap curl_fuzzer_mqtt curl_fuzzer_pop3 curl_fuzzer_rtsp curl_fuzzer_smb curl_fuzzer_smtp curl_fuzzer_tftp curl_fuzzer_ws curl_fuzzer fuzz_url"