Skip to content

Commit

Permalink
disable unused protocols
Browse files Browse the repository at this point in the history
Disable the protocols that need 3rd party dependencies to get added to
the build and therefore do not work in the current build.

Fixes #96
Closes #100
  • Loading branch information
bagder committed Jan 15, 2024
1 parent b94de48 commit 36b380e
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 23 deletions.
4 changes: 0 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
35 changes: 19 additions & 16 deletions Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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)
Expand All @@ -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)
Expand Down
4 changes: 2 additions & 2 deletions curl_fuzzer.cc
Original file line number Diff line number Diff line change
Expand Up @@ -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";
Expand Down
2 changes: 1 addition & 1 deletion scripts/fuzz_targets
Original file line number Diff line number Diff line change
@@ -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"

0 comments on commit 36b380e

Please sign in to comment.