Matt Corallo
3f229052ea
Bump dependencies to bitcoin 0.27 and bech32 0.8
2021-07-31 18:29:07 +00:00
Matt Corallo
95f9523097
Drop rust-bitcoin crate patches in fuzz now that they're merged
...
These patches have been merged upstream and are in releases now so
we don't need to patch them locally.
2021-06-23 01:35:26 +00:00
Matt Corallo
2ef384db2d
Fix fuzz secp patch by bumping the rust-secp version number in patch
2021-04-28 15:17:59 -04:00
Matt Corallo
33da665647
Use lowmemory mode for secp256k1 fuzzing, reducing memcpy time
2021-02-26 23:47:03 -05:00
Matt Corallo
4594f6eee5
Use rust-secp256k1 PR 282 and bitcoin_hashes PR 111 in fuzzing
2021-02-26 23:47:03 -05:00
Matt Corallo
a51d5cef58
Update rust-bitcoin
2021-02-26 15:15:18 -05:00
Matt Corallo
b9707da138
Update to latest upstream rust-bitcoin
2020-09-10 16:20:01 -04:00
Dr. Maxim Orlovsky
27079e04d7
Adopting new bitcoin hash types and crate version
2020-04-29 12:37:46 +02:00
Matt Corallo
6745aff9b6
Thread fuzz test cases
...
Adds threading (with logger capture) to fuzz targets so that we can
more effeciently test a failing fuzz corpus on new code changes.
2020-04-24 16:06:34 -04:00
Matt Corallo
6fc775da45
Bump bitcoin dep to 0.21
2019-12-11 18:17:54 -05:00
Matt Corallo
e28fd78e67
Refactor fuzzing to be a C-callable library plus rust binaries
...
This should help us avoid rust's at-load syscalls by calling the
tests from a C program.
2019-12-11 15:13:14 -05:00
Matt Corallo
9501ecce49
Move fuzz to top level.
2019-11-25 15:42:07 -05:00
RJ Rybarczyk
88fef649b1
Use workspaces to separate crates
2019-11-15 02:44:30 +00:00
Elichai Turkel
20302064a8
Update the fuzz and net-tokio crates
2019-08-24 11:05:38 -04:00
Matt Corallo
882f7307c8
Bump rust-bitcoin dep to 0.18
2019-06-01 07:40:21 -04:00
Tamas Blummer
02b541607b
migration to rust-bitcoin 0.17
...
typedef Sha256dHash with bitcoin_hashes::sha256d::Hash
SecretKey -> PrivateKey.key
assume compressed public keys
2019-03-07 18:50:02 +01:00
Matt Corallo
49d63302c3
Add a fuzz target to test monitor update failure handling
...
Sadly this requires reducing the honggfuzz iterations to fit within
Travis' runtime limits.
2019-01-24 13:17:00 -05:00
Matt Corallo
12d25576c1
Upgrade to secp256k1 v12, bitcoin v16, and crates bitcoin_hashes
2019-01-22 13:49:15 -05:00
Matt Corallo
cdf9b4f8ba
Add option to use libfuzzer sys in full_stack_target
...
Note that there doesn't appear to be a way to conditionally set
#[no_main] so that has to happen manually at compile-time.
2019-01-08 14:04:06 -05:00
Matt Corallo
7ea39a13b2
Use bitcoin_hashes' fixed_time_eq, removing the rust-crypto dep
2018-12-19 20:02:36 -05:00
Matt Corallo
f1e400f142
Switch Sha256 to using bitcoin_hashes and our own HKDF
2018-12-19 17:13:25 -05:00
Matt Corallo
3a066ccbf2
Ensure fuzz release builds use codegen-units=1 and LTO
2018-11-18 16:17:06 -05:00
Steven Roose
7ff7561f2d
Update to rust-bitcoin v0.15
2018-11-14 11:43:54 +00:00
Matt Corallo
da6171d50d
Remove fuzz channel_target.
...
It has bitrotted a lot and doesn't really make sense given all the
precondition enforcement that is in channelmanager, sadly.
2018-09-19 22:47:07 -04:00
Yuntai Kyong
63cb37d346
Add fuzz targets for Writeable messages/migrate fuzz test
2018-09-12 10:19:36 -04:00
Matt Corallo
335012640a
Update msg_targets with new, must-roundtrip, and hole messages
2018-08-29 18:04:55 -04:00
Matt Corallo
42e908883f
Return a malformed HTLC message when ephemeral pubkey is garbage
...
This resolves a spec-compliance bug with BOLT 4 where we simply
failed to deserialize the message and thus could never return an
HTLC failure message. However, note that BOLT 4 incorrectly hints
that a non-malformed message should be used ("...MUST report a
route failure to the origin node") which we cannot do as we cannot
derive a SharedSecret to encrypt a regular update_fail_htlc message
2018-08-27 11:47:11 -04:00
Matt Corallo
755b76bf83
Update error deserialization in compliance with BOLT #1
2018-08-25 17:21:09 -04:00
Matt Corallo
11e5975523
Update to rust-secp256k1 v0.11 and rust-bitcoin v0.14
2018-08-23 14:52:43 -04:00
Matt Corallo
1b8f4acb27
Upgrade AFL to 0.4 with persistent mode fuzzing
2018-08-20 13:58:31 -04:00
Savil Srivastava
07d7b395e6
change hex version to 0.3, and leave out the minor bumps
2018-07-30 17:01:57 -07:00
Savil Srivastava
4c44b787f1
use hex::decode instead of extend_vec_from_hex
2018-07-28 10:09:29 -07:00
Matt Corallo
0ce6e397a7
Add router_target to fuzzing which fuzzes router msgs + get_route
2018-07-25 16:25:12 -04:00
Antoine Riard
1c12e83941
Implement ErrorMessage msg and ErrorAction::SendErrorMessage + fuzz test
2018-07-23 14:31:44 -04:00
Savil Srivastava
0c1f47807a
[msgs::ChannelReestablish] implement encoding and decoding
...
Summary:
Implementing these, taking inspiration from the surrounding code since i'm a rust n00b.
Test Plan:
```
cargo build
cargo test channel_reestablish
```
output:
```
running 3 tests
test ln::msgs::tests::encoding_channel_reestablish_with_secret ... ok
test ln::msgs::tests::decode_channel_reestablish_bad_length ... ok
test ln::msgs::tests::encoding_channel_reestablish_no_secret ... ok
test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 14 filtered out
```
2018-07-22 23:26:47 -04:00
Matt Corallo
84cb40f859
Bump version for API overhauls, update deps and docs
2018-07-19 23:06:36 -04:00
Matt Corallo
77a96366ba
Shorten channelmonitor_deserialize_target's name for AFL
2018-07-18 14:36:48 -04:00
Matt Corallo
0b82f5584f
Test channelmonitor serialization roundtrip doesn't mutate state
2018-07-17 14:59:29 -04:00
Matt Corallo
a73dea7722
Add ping/pong fuzz targets
2018-06-16 23:26:56 -04:00
Matt Corallo
f462d8ac70
fuzztarget sha -> XOR, crates secp256k1
2018-06-04 20:02:07 -04:00
Yuntai Kyong
913ea887fe
add fuzz target for messages
...
[[bin]] section for each new target in Cargo.toml
glob chanbes in travis-fuzz.sh
2018-05-13 05:22:55 +09:00
Yuntai Kyong
7822af8bd1
Update dependency on secp256k1 pointing to https://github.com/rust-bitcoin/rust-secp256k1
2018-05-12 14:30:26 +09:00
Matt Corallo
1ec9c3aa4b
Provide fallback for crypto's fixed_time_eq on non-x86/arm targets
2018-04-16 20:35:21 -04:00
Matt Corallo
1ae603cc3d
Switch back to crates.io rust-bitcoin for 0.13 release
2018-04-16 20:35:03 -04:00
Matt Corallo
8938cd7d78
Expand full_stack_target from uselessly-large to laughably-large
2018-04-02 18:07:03 -04:00
Matt Corallo
890e3cb165
Update for new rust-bitcoin API, avoid some duplicate hashing
2018-04-02 18:06:59 -04:00
Matt Corallo
1d2774dd64
Add some fuzz targets.
...
Sadly none of them are really any good without some hand-holding to
generate good input data, and unless sha256 gets stubbed out I'm
not sure they're gonna get good without a symbolic execution fuzzer
2018-03-23 13:16:24 -04:00