1macro(fuzzer name) 2 add_executable(${name} ${name}.cc) 3 target_compile_options(${name} PRIVATE "-Wno-missing-prototypes") 4 target_link_libraries(${name} crypto ${ARGN}) 5 if(LIBFUZZER_FROM_DEPS) 6 set_target_properties(${name} PROPERTIES LINK_FLAGS "-fsanitize=fuzzer-no-link") 7 target_link_libraries(${name} Fuzzer) 8 else() 9 set_target_properties(${name} PROPERTIES LINK_FLAGS "-fsanitize=fuzzer") 10 endif() 11 set_target_properties( 12 ${name} 13 PROPERTIES 14 CXX_STANDARD 17 15 CXX_STANDARD_REQUIRED YES 16 COMPILE_FLAGS "-D_BORINGSSL_LIBPKI_") 17endmacro() 18 19fuzzer(arm_cpuinfo) 20fuzzer(bn_div) 21fuzzer(bn_mod_exp) 22fuzzer(cert) 23fuzzer(client ssl) 24fuzzer(conf) 25fuzzer(crl_getcrlstatusforcert_fuzzer pki) 26fuzzer(crl_parse_crl_certificatelist_fuzzer pki) 27fuzzer(crl_parse_crl_tbscertlist_fuzzer pki) 28fuzzer(crl_parse_issuing_distribution_point_fuzzer pki) 29fuzzer(decode_client_hello_inner ssl) 30fuzzer(der_roundtrip) 31fuzzer(dtls_client ssl) 32fuzzer(dtls_server ssl) 33fuzzer(ocsp_parse_ocsp_cert_id_fuzzer pki) 34fuzzer(ocsp_parse_ocsp_response_data_fuzzer pki) 35fuzzer(ocsp_parse_ocsp_response_fuzzer pki) 36fuzzer(ocsp_parse_ocsp_single_response_fuzzer pki) 37fuzzer(parse_authority_key_identifier_fuzzer pki) 38fuzzer(parse_certificate_fuzzer pki) 39fuzzer(parse_crldp_fuzzer pki) 40fuzzer(pkcs12) 41fuzzer(pkcs8) 42fuzzer(privkey) 43fuzzer(read_pem) 44fuzzer(server ssl) 45fuzzer(session ssl) 46fuzzer(spki) 47fuzzer(ssl_ctx_api ssl) 48fuzzer(verify_name_match_fuzzer pki) 49fuzzer(verify_name_match_normalizename_fuzzer pki) 50fuzzer(verify_name_match_verifynameinsubtree_fuzzer pki) 51