X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=fuzz%2FCargo.toml;h=5daebb3506681503e197ba92656eb1ddd4eb4c06;hb=refs%2Fheads%2F2024-02-fix-route-ser-117-bindings;hp=96699a7dbe829d27dd8a2ed61c1e9008d8cd8a46;hpb=9501ecce495de2991db68923b6b1fcc69c78bac9;p=rust-lightning diff --git a/fuzz/Cargo.toml b/fuzz/Cargo.toml index 96699a7d..5daebb35 100644 --- a/fuzz/Cargo.toml +++ b/fuzz/Cargo.toml @@ -3,9 +3,10 @@ name = "lightning-fuzz" version = "0.0.1" authors = ["Automatically generated"] publish = false +edition = "2018" # Because the function is unused it gets dropped before we link lightning, so # we have to duplicate build.rs here. Note that this is only required for -# fuzztarget mode. +# fuzzing mode. [package.metadata] cargo-fuzz = true @@ -14,16 +15,18 @@ cargo-fuzz = true afl_fuzz = ["afl"] honggfuzz_fuzz = ["honggfuzz"] libfuzzer_fuzz = ["libfuzzer-sys"] +stdin_fuzz = [] [dependencies] -afl = { version = "0.4", optional = true } -lightning = { path = "../lightning", features = ["fuzztarget"] } -bitcoin = { version = "0.20", features = ["fuzztarget"] } -bitcoin_hashes = { version = "0.7", features = ["fuzztarget"] } +lightning = { path = "../lightning", features = ["regex", "hashbrown", "_test_utils"] } +lightning-rapid-gossip-sync = { path = "../lightning-rapid-gossip-sync" } +bitcoin = { version = "0.29.0", features = ["secp-lowmemory"] } hex = "0.3" -honggfuzz = { version = "0.5", optional = true } -secp256k1 = { version = "0.15", features=["fuzztarget"] } -libfuzzer-sys = { git = "https://github.com/rust-fuzz/libfuzzer-sys.git", optional = true } +hashbrown = "0.8" + +afl = { version = "0.12", optional = true } +honggfuzz = { version = "0.5", optional = true, default-features = false } +libfuzzer-sys = { version = "0.4", optional = true } [build-dependencies] cc = "1.0" @@ -35,124 +38,14 @@ members = ["."] [profile.release] lto = true codegen-units = 1 +debug-assertions = true +overflow-checks = true -[[bin]] -name = "peer_crypt_target" -path = "fuzz_targets/peer_crypt_target.rs" - -[[bin]] -name = "full_stack_target" -path = "fuzz_targets/full_stack_target.rs" - -[[bin]] -name = "chanmon_fail_consistency" -path = "fuzz_targets/chanmon_fail_consistency.rs" - -[[bin]] -name = "router_target" -path = "fuzz_targets/router_target.rs" - -[[bin]] -name = "chanmon_deser_target" -path = "fuzz_targets/chanmon_deser_target.rs" - -# message fuzz targets -[[bin]] -name = "msg_ping_target" -path = "fuzz_targets/msg_targets/msg_ping_target.rs" - -[[bin]] -name = "msg_pong_target" -path = "fuzz_targets/msg_targets/msg_pong_target.rs" - -[[bin]] -name = "msg_error_message_target" -path = "fuzz_targets/msg_targets/msg_error_message_target.rs" - -[[bin]] -name = "msg_update_add_htlc_target" -path = "fuzz_targets/msg_targets/msg_update_add_htlc_target.rs" - -[[bin]] -name = "msg_accept_channel_target" -path = "fuzz_targets/msg_targets/msg_accept_channel_target.rs" - -[[bin]] -name = "msg_closing_signed_target" -path = "fuzz_targets/msg_targets/msg_closing_signed_target.rs" - -[[bin]] -name = "msg_commitment_signed_target" -path = "fuzz_targets/msg_targets/msg_commitment_signed_target.rs" - -[[bin]] -name = "msg_funding_created_target" -path = "fuzz_targets/msg_targets/msg_funding_created_target.rs" - -[[bin]] -name = "msg_funding_locked_target" -path = "fuzz_targets/msg_targets/msg_funding_locked_target.rs" - -[[bin]] -name = "msg_funding_signed_target" -path = "fuzz_targets/msg_targets/msg_funding_signed_target.rs" - -[[bin]] -name = "msg_open_channel_target" -path = "fuzz_targets/msg_targets/msg_open_channel_target.rs" - -[[bin]] -name = "msg_revoke_and_ack_target" -path = "fuzz_targets/msg_targets/msg_revoke_and_ack_target.rs" - -[[bin]] -name = "msg_shutdown_target" -path = "fuzz_targets/msg_targets/msg_shutdown_target.rs" - -[[bin]] -name = "msg_update_fail_malformed_htlc_target" -path = "fuzz_targets/msg_targets/msg_update_fail_malformed_htlc_target.rs" - -[[bin]] -name = "msg_update_fee_target" -path = "fuzz_targets/msg_targets/msg_update_fee_target.rs" - -[[bin]] -name = "msg_update_fulfill_htlc_target" -path = "fuzz_targets/msg_targets/msg_update_fulfill_htlc_target.rs" - -[[bin]] -name = "msg_update_fail_htlc_target" -path = "fuzz_targets/msg_targets/msg_update_fail_htlc_target.rs" - -[[bin]] -name = "msg_channel_reestablish_target" -path = "fuzz_targets/msg_targets/msg_channel_reestablish_target.rs" - -[[bin]] -name = "msg_announcement_signatures_target" -path = "fuzz_targets/msg_targets/msg_announcement_signatures_target.rs" - -[[bin]] -name = "msg_channel_announcement_target" -path = "fuzz_targets/msg_targets/msg_channel_announcement_target.rs" - -[[bin]] -name = "msg_channel_update_target" -path = "fuzz_targets/msg_targets/msg_channel_update_target.rs" - -[[bin]] -name = "msg_decoded_onion_error_packet_target" -path = "fuzz_targets/msg_targets/msg_decoded_onion_error_packet_target.rs" - -[[bin]] -name = "msg_init_target" -path = "fuzz_targets/msg_targets/msg_init_target.rs" - -[[bin]] -name = "msg_node_announcement_target" -path = "fuzz_targets/msg_targets/msg_node_announcement_target.rs" +# When testing a large fuzz corpus, -O1 offers a nice speedup +[profile.dev] +opt-level = 1 -[[bin]] -name = "msg_onion_hop_data_target" -path = "fuzz_targets/msg_targets/msg_onion_hop_data_target.rs" +[lib] +name = "lightning_fuzz" +path = "src/lib.rs" +crate-type = ["rlib", "dylib", "staticlib"]