X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=fuzz%2FCargo.toml;h=53ff1cbd7a18c64b67063cdccff68ae5b23b557f;hb=d7ac68701f6d169438b0337919fde7c715b2e94c;hp=6b45066e80eaa48bcb42b66ca56329f94482a3a9;hpb=1d2774dd645914fb7a8fa467b098ae347c40242c;p=rust-lightning diff --git a/fuzz/Cargo.toml b/fuzz/Cargo.toml index 6b45066e..53ff1cbd 100644 --- a/fuzz/Cargo.toml +++ b/fuzz/Cargo.toml @@ -3,6 +3,9 @@ name = "lightning-fuzz" version = "0.0.1" authors = ["Automatically generated"] publish = false +# 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. [package.metadata] cargo-fuzz = true @@ -10,26 +13,142 @@ cargo-fuzz = true [features] afl_fuzz = ["afl"] honggfuzz_fuzz = ["honggfuzz"] +libfuzzer_fuzz = ["libfuzzer-sys"] [dependencies] +afl = { version = "0.4", optional = true } lightning = { path = "..", features = ["fuzztarget"] } -bitcoin = { version = "0.12", features = ["fuzztarget"] } -secp256k1 = { version = "0.9", features = ["fuzztarget"] } +bitcoin = { version = "0.16", features = ["fuzztarget"] } +bitcoin_hashes = { version = "0.2", features=["fuzztarget"] } +hex = "0.3" honggfuzz = { version = "0.5", optional = true } -afl = { version = "0.3", optional = true } +secp256k1 = { version = "0.12", features=["fuzztarget"] } +libfuzzer-sys = { git = "https://github.com/rust-fuzz/libfuzzer-sys.git", optional = true } + +[build-dependencies] +cc = "1.0" # Prevent this from interfering with workspaces [workspace] members = ["."] +[profile.release] +lto = true +codegen-units = 1 + [[bin]] name = "peer_crypt_target" path = "fuzz_targets/peer_crypt_target.rs" -[[bin]] -name = "channel_target" -path = "fuzz_targets/channel_target.rs" - [[bin]] name = "full_stack_target" path = "fuzz_targets/full_stack_target.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" + +[[bin]] +name = "msg_onion_hop_data_target" +path = "fuzz_targets/msg_targets/msg_onion_hop_data_target.rs"