Matt Corallo
1e118743bd
Merge pull request #111 from TheBlueMatt/2018-08-full-stack-target-upstream-1
...
Expand full_stack_target somewhat
2018-08-20 14:43:33 -04:00
Matt Corallo
06d3b4babe
Add a full_stack_target sample test to avoid unintentional breakage
2018-08-20 13:58:31 -04:00
Matt Corallo
87aabff8ab
Disable push_msat in full_stack_target temporarily
2018-08-20 13:58:31 -04:00
Matt Corallo
1b8f4acb27
Upgrade AFL to 0.4 with persistent mode fuzzing
2018-08-20 13:58:31 -04:00
Matt Corallo
9f2c67ae60
Expand full_stack_target somewhat
2018-08-20 13:58:31 -04:00
Matt Corallo
f476a19bde
Add simple utility to ChannelManager to force close all channels
2018-08-20 13:58:31 -04:00
Matt Corallo
7a04595269
Only enforce no-dup-payment_hash precondition on non-removed HTLCs
...
This fixes a panic found by fuzzer.
2018-08-20 13:58:31 -04:00
Matt Corallo
7318a97b15
Merge pull request #122 from TheBlueMatt/2018-08-doc-usability-fixes
...
Simple log usability fix, add some missing docs
2018-08-20 13:57:35 -04:00
Matt Corallo
42086c94a0
Remove implicit Record import requirement in logging macros
2018-08-20 13:33:09 -04:00
Matt Corallo
7743cbdf14
Add APIError docs
2018-08-17 17:36:50 -04:00
Matt Corallo
0f24a67c82
Merge pull request #118 from TheBlueMatt/2018-08-103-rebased
...
Rebase of #103
2018-08-17 14:00:50 -04:00
Matt Corallo
93b470dbb4
Merge pull request #117 from TheBlueMatt/2018-08-no-claim-fuzz-bug
...
Don't HTLC claim with no-possible-preimage in full_stack_target
2018-08-17 13:25:57 -04:00
Matt Corallo
1360fccd71
Ignore unknown channel flags as required in BOLT 2
2018-08-17 13:22:44 -04:00
Yuntai Kyong
69624a8556
add 1% chnnel reserve while keeping min value
...
if 1000 is always used it will almost always fail test reserve < dust_limit check
2018-08-17 13:18:29 -04:00
Yuntai Kyong
1c839ff103
Add checking locally derived reserve and dust limit
2018-08-17 13:18:28 -04:00
Yuntai Kyong
716b37863a
document optional channel constraints per spec
2018-08-17 13:18:28 -04:00
Yuntai Kyong
0fece38b19
Add various checking when handling open and accept
...
Add `derive_minimum_depth()` and `derive_maximum_minimum_depth()` and hide
CONF_TARGET constant behind these functions.
Replace `DisconnectPeer` error with `HandleError` with `ErrorAction::SendErrorMessage`
2018-08-17 13:18:28 -04:00
Yuntai Kyong
ada2154b40
Add push_msat to new outbound API
...
Also add APIMisuseError to be thrown to the API client
2018-08-17 13:18:28 -04:00
Yuntai Kyong
4553369d20
Add APIError enum
...
`APIMisuse` when paramters passed from the client is invalid
`FeeRateTooHigh` when a channel cannot be opened due to high feerate
2018-08-17 13:09:30 -04:00
Matt Corallo
faf9864d9d
Don't HTLC claim with no-possible-preimage in full_stack_target
2018-08-17 12:34:09 -04:00
Matt Corallo
03c6f84aa8
Merge pull request #116 from TheBlueMatt/2018-08-peer_handler-trace
...
Add some trace logging in peer_handler
2018-08-16 23:35:09 -04:00
Matt Corallo
4291cb99d4
Add some trace logging in peer_handler
2018-08-16 23:11:22 -04:00
Matt Corallo
7ee8ec70ac
Default test logger to Trace to make error debugging easier
2018-08-16 23:11:22 -04:00
Matt Corallo
dc4af28759
Add some useful delayed-formatting formatters to macro_logger
2018-08-16 23:11:22 -04:00
Matt Corallo
ebd3bbba0f
Remove some dead Logger code
2018-08-16 23:11:15 -04:00
Matt Corallo
50668644cf
Merge pull request #115 from TheBlueMatt/2018-08-channel-fuzz-fixes
...
Fixes from channelmanager fuzzing work
2018-08-16 23:04:12 -04:00
Matt Corallo
09583f3116
Fix PaymentReceived/sha256 handling in full_stack_target
...
Sha256 in fuzztarget was updated some time ago to use XOR instead
of the first byte of a real SHA256 run and somehow received and
sent payments got crossed in full_stack_target.
2018-08-16 22:37:44 -04:00
Matt Corallo
609054eae0
Handle duplicate funding transaction gracefully.
...
This can otherwise cause strange behavior, including a panic on
force_close_all_channels found by full_stack_target fuzzing.
2018-08-16 22:37:44 -04:00
Matt Corallo
b4078d992d
Fix handle_funding_created bug/TODO
...
The fuzzer was able to tickle this
2018-08-16 22:37:41 -04:00
Matt Corallo
0f965d319f
Fix bug in early-HTLC-fulfill handling
...
Caught by fuzzer. See new comments for more
2018-08-16 22:31:14 -04:00
Matt Corallo
b46878740c
Merge pull request #110 from TheBlueMatt/2018-08-router-crashes-2
...
Fix several fuzzer-found bugs
2018-08-16 22:07:47 -04:00
Matt Corallo
9362450c61
[Router] Remove channels from nodes when the channel is failed
...
Found by fuzzer
2018-08-16 20:51:50 -04:00
Matt Corallo
7c24fea4fe
Handle only-path-overflows-fee in get_route and avoid PubKey::new()
...
Found by fuzzer
2018-08-16 20:51:50 -04:00
Matt Corallo
dde0ac4c29
Fix fee_base_msat overflowing entire fee range in RouteHint
2018-08-16 20:51:50 -04:00
Matt Corallo
0e6f028c3b
Err from get_route if the requested value is more than 21m BTC
...
This fixes a potential overflow panic.
2018-08-16 20:51:50 -04:00
Matt Corallo
2a0ae96fdf
Correct lowest_inbound_proportional_fee deduction in route finding
...
Found cause fuzzer was able to crash us if we don't
2018-08-16 20:51:50 -04:00
Matt Corallo
feb3db5ac8
Fix multiply-with-overflow panic in router
...
Found by fuzzer
2018-08-16 20:51:50 -04:00
Matt Corallo
1a9ef40203
Merge pull request #91 from ariard/logging_interface
...
Logging interface
2018-08-16 20:24:49 -04:00
Antoine Riard
0029f04fce
Logging interface
...
Implement error, warn, info, debug and trace macros, internally calling
an instance of Logger, and passing it to every main structures
Build-time or client-side filtering.
Issue #54
2018-08-17 00:01:15 +00:00
Matt Corallo
587f2b39fc
Merge pull request #107 from ariard/event_handle_error
...
Implement HandleError event with ErrorAction field
2018-08-16 16:26:00 -04:00
Antoine Riard
e752611247
Implement HandleError event with ErrorAction field
2018-08-12 00:36:48 +00:00
Matt Corallo
b9d1024951
Merge pull request #108 from TheBlueMatt/2018-08-fuzz-fixes
...
Asorted Fixes from full_stack_target work
2018-08-05 23:04:18 -04:00
Matt Corallo
c52825d5f1
Fix UpdateAddHTLC serialize vec capacity default
2018-08-02 22:37:28 -04:00
Matt Corallo
3db5798246
Stub out ChaCha20 non-HMAC encryption/decryption in fuzztarget
2018-08-02 22:37:28 -04:00
Matt Corallo
482648bbf0
Fix fuzztarget insert_combine hash-collision panic
2018-08-02 22:26:44 -04:00
Matt Corallo
a6161210e2
Fix panic on reorg through the funding_locked-generating block
...
We had a TODO to handle "lost confirmation" in block_connected,
which we recently did in block_disconnected (calling force_shutdown
in case we get too many blocks disconnected) but didn't handle the
case where we had a simple reorg through the block that resulted in
us generating a funding_locked.
2018-08-02 22:26:44 -04:00
Matt Corallo
bd01f4e0c3
Fix fuzztarget ChannelKeys generation
2018-08-02 22:26:44 -04:00
Matt Corallo
2470812077
Fix types in Channel::funding_tx_confirmed_in
...
This should have no effect in a real system but was causing the
full_stack_target fuzz test to fail due to a block with a null hash
being disconnected.
2018-08-02 22:26:44 -04:00
Matt Corallo
cfc3fe3148
Fix panic!() in block_connected on unfunded channels ( fixes #42 )
...
The new full_stack_target fuzzing stuff was able to find this bug,
which gives me a bit of hope for full_stack_target's utility.
2018-08-02 22:26:44 -04:00
Matt Corallo
830343f129
Merge pull request #100 from TheBlueMatt/2018-07-htlc-balance-calc
...
Fix non-HTLC-inclusion balance calculation (mark II)
2018-07-31 00:59:31 -04:00