Skip to content

Commit f20cbf1

Browse files
committed
Merge branch 'main' into track_should_broadcast
2 parents bec767b + 5023ff0 commit f20cbf1

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

65 files changed

+1608
-635
lines changed

.github/dependabot.yml

Lines changed: 0 additions & 36 deletions
This file was deleted.

CHANGELOG.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# 0.0.109 - 2022-06-30
1+
# 0.0.109 - 2022-07-01
22

33
## API Updates
44
* `ChannelManager::update_channel_config` has been added to allow the fields
@@ -14,6 +14,9 @@
1414
option to prefer channels which afford better privacy when routing (#1555).
1515
* `ProbabilisticScorer` now provides access to its estimated liquidity range
1616
for a given channel via `estimated_channel_liquidity_range` (#1549).
17+
* `ChannelManager::force_close_channel` has been renamed
18+
`force_close_broadcasting_latest_txn` and
19+
`force_close_without_broadcasting_txn` has been added (#1564).
1720
* Options which cannot be changed at runtime have been moved from
1821
`ChannelConfig` to `ChannelHandshakeConfig` (#1529).
1922
* `find_route` takes `&NetworkGraph` instead of `ReadOnlyNetworkGraph (#1583).

SECURITY.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Security Policy
2+
3+
## Reporting a Vulnerability
4+
5+
Please report security vulnerabilities, including denial-of-service
6+
vulnerabilities such as spurious panics, via email to
7+
security@lightningdevkit.org.
8+
9+
If possible, please PGP-encrypt such emails to the following keys (available on
10+
keyservers and WKD via `gpg --auto-key-locate wkd --locate-external-keys
11+
ldk-security-1@mattcorallo.com ldk-security-2@mattcorallo.com`). Please include
12+
your own public key as an attachment or inline for replies.
13+
14+
* 07DF3E57A548CCFB7530709189BBB8663E2E65CE (Matt Corallo)
15+
* 5DBC576CCCF546CA72AB06CE912EF12EA67705F5 (Jeffrey Czyz)
16+
* 729E9D9D92C75A5FBFEEE057B5DD717BEF7CA5B1 (Wilmer Paulino)
17+
* BD6EED4D339EDBF7E7CE7F8836153082BDF676FD (Elias Rohrer)
18+
* 6E0287D8849AE741E47CC586FD3E106A2CE099B4 (Valentine Wallace)
19+
* 69CFEA635D0E6E6F13FD9D9136D932FCAC0305F0 (Arik Sosman)
20+
* A5A6868D7AA91DD00AC1A67F817FFA028EF61C94 (Antoine Riard)

fuzz/src/bin/gen_target.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,3 +47,5 @@ GEN_TEST msg_channel_update msg_targets::
4747
GEN_TEST msg_onion_hop_data msg_targets::
4848
GEN_TEST msg_ping msg_targets::
4949
GEN_TEST msg_pong msg_targets::
50+
51+
GEN_TEST msg_channel_details msg_targets::

fuzz/src/chanmon_consistency.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -850,6 +850,12 @@ pub fn do_test<Out: Output>(data: &[u8], underlying_out: Out) {
850850
events::Event::PaymentClaimed { .. } => {},
851851
events::Event::PaymentPathSuccessful { .. } => {},
852852
events::Event::PaymentPathFailed { .. } => {},
853+
events::Event::ProbeSuccessful { .. } | events::Event::ProbeFailed { .. } => {
854+
// Even though we don't explicitly send probes, because probes are
855+
// detected based on hashing the payment hash+preimage, its rather
856+
// trivial for the fuzzer to build payments that accidentally end up
857+
// looking like probes.
858+
},
853859
events::Event::PaymentForwarded { .. } if $node == 1 => {},
854860
events::Event::PendingHTLCsForwardable { .. } => {
855861
nodes[$node].process_pending_htlc_forwards();

fuzz/src/full_stack.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -393,7 +393,7 @@ pub fn do_test(data: &[u8], logger: &Arc<dyn Logger>) {
393393
// Adding new calls to `KeysInterface::get_secure_random_bytes` during startup can change all the
394394
// keys subsequently generated in this test. Rather than regenerating all the messages manually,
395395
// it's easier to just increment the counter here so the keys don't change.
396-
keys_manager.counter.fetch_sub(1, Ordering::AcqRel);
396+
keys_manager.counter.fetch_sub(2, Ordering::AcqRel);
397397
let our_id = PublicKey::from_secret_key(&Secp256k1::signing_only(), &keys_manager.get_node_secret(Recipient::Node).unwrap());
398398
let network_graph = Arc::new(NetworkGraph::new(genesis_block(network).block_hash(), Arc::clone(&logger)));
399399
let gossip_sync = Arc::new(P2PGossipSync::new(Arc::clone(&network_graph), None, Arc::clone(&logger)));

fuzz/src/msg_targets/gen_target.sh

Lines changed: 37 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/bin/sh
22

33
GEN_TEST() {
4-
tn=msg_$(echo $1 | sed 's/\([a-z0-9]\)\([A-Z]\)/\1_\2/g' | tr '[:upper:]' '[:lower:]')
4+
tn=msg_$(echo $1 | sed s'/.*:://g' | sed 's/\([a-z0-9]\)\([A-Z]\)/\1_\2/g' | tr '[:upper:]' '[:lower:]')
55
fn=${tn}.rs
66
cat msg_target_template.txt | sed s/MSG_TARGET/$1/ | sed "s/TARGET_NAME/$tn/" | sed "s/TEST_MSG/$2/" | sed "s/EXTRA_ARGS/$3/" > $fn
77
echo "pub mod $tn;" >> mod.rs
@@ -11,37 +11,39 @@ echo "mod utils;" > mod.rs
1111

1212
# Note when adding new targets here you should add a similar line in src/bin/gen_target.sh
1313

14-
GEN_TEST AcceptChannel test_msg_simple ""
15-
GEN_TEST AnnouncementSignatures test_msg_simple ""
16-
GEN_TEST ClosingSigned test_msg_simple ""
17-
GEN_TEST CommitmentSigned test_msg_simple ""
18-
GEN_TEST FundingCreated test_msg_simple ""
19-
GEN_TEST ChannelReady test_msg_simple ""
20-
GEN_TEST FundingSigned test_msg_simple ""
21-
GEN_TEST GossipTimestampFilter test_msg_simple ""
22-
GEN_TEST Init test_msg_simple ""
23-
GEN_TEST OnionHopData test_msg_simple ""
24-
GEN_TEST OpenChannel test_msg_simple ""
25-
GEN_TEST Ping test_msg_simple ""
26-
GEN_TEST Pong test_msg_simple ""
27-
GEN_TEST QueryChannelRange test_msg_simple ""
28-
GEN_TEST ReplyShortChannelIdsEnd test_msg_simple ""
29-
GEN_TEST RevokeAndACK test_msg_simple ""
30-
GEN_TEST Shutdown test_msg_simple ""
31-
GEN_TEST UpdateAddHTLC test_msg_simple ""
32-
GEN_TEST UpdateFailHTLC test_msg_simple ""
33-
GEN_TEST UpdateFailMalformedHTLC test_msg_simple ""
34-
GEN_TEST UpdateFee test_msg_simple ""
35-
GEN_TEST UpdateFulfillHTLC test_msg_simple ""
36-
37-
GEN_TEST ChannelReestablish test_msg ""
38-
GEN_TEST DecodedOnionErrorPacket test_msg ""
39-
40-
GEN_TEST ChannelAnnouncement test_msg_exact ""
41-
GEN_TEST NodeAnnouncement test_msg_exact ""
42-
GEN_TEST QueryShortChannelIds test_msg ""
43-
GEN_TEST ReplyChannelRange test_msg ""
44-
45-
GEN_TEST ErrorMessage test_msg_hole ", 32, 2"
46-
GEN_TEST WarningMessage test_msg_hole ", 32, 2"
47-
GEN_TEST ChannelUpdate test_msg_hole ", 108, 1"
14+
GEN_TEST lightning::ln::msgs::AcceptChannel test_msg_simple ""
15+
GEN_TEST lightning::ln::msgs::AnnouncementSignatures test_msg_simple ""
16+
GEN_TEST lightning::ln::msgs::ClosingSigned test_msg_simple ""
17+
GEN_TEST lightning::ln::msgs::CommitmentSigned test_msg_simple ""
18+
GEN_TEST lightning::ln::msgs::FundingCreated test_msg_simple ""
19+
GEN_TEST lightning::ln::msgs::ChannelReady test_msg_simple ""
20+
GEN_TEST lightning::ln::msgs::FundingSigned test_msg_simple ""
21+
GEN_TEST lightning::ln::msgs::GossipTimestampFilter test_msg_simple ""
22+
GEN_TEST lightning::ln::msgs::Init test_msg_simple ""
23+
GEN_TEST lightning::ln::msgs::OnionHopData test_msg_simple ""
24+
GEN_TEST lightning::ln::msgs::OpenChannel test_msg_simple ""
25+
GEN_TEST lightning::ln::msgs::Ping test_msg_simple ""
26+
GEN_TEST lightning::ln::msgs::Pong test_msg_simple ""
27+
GEN_TEST lightning::ln::msgs::QueryChannelRange test_msg_simple ""
28+
GEN_TEST lightning::ln::msgs::ReplyShortChannelIdsEnd test_msg_simple ""
29+
GEN_TEST lightning::ln::msgs::RevokeAndACK test_msg_simple ""
30+
GEN_TEST lightning::ln::msgs::Shutdown test_msg_simple ""
31+
GEN_TEST lightning::ln::msgs::UpdateAddHTLC test_msg_simple ""
32+
GEN_TEST lightning::ln::msgs::UpdateFailHTLC test_msg_simple ""
33+
GEN_TEST lightning::ln::msgs::UpdateFailMalformedHTLC test_msg_simple ""
34+
GEN_TEST lightning::ln::msgs::UpdateFee test_msg_simple ""
35+
GEN_TEST lightning::ln::msgs::UpdateFulfillHTLC test_msg_simple ""
36+
37+
GEN_TEST lightning::ln::msgs::ChannelReestablish test_msg ""
38+
GEN_TEST lightning::ln::msgs::DecodedOnionErrorPacket test_msg ""
39+
40+
GEN_TEST lightning::ln::msgs::ChannelAnnouncement test_msg_exact ""
41+
GEN_TEST lightning::ln::msgs::NodeAnnouncement test_msg_exact ""
42+
GEN_TEST lightning::ln::msgs::QueryShortChannelIds test_msg ""
43+
GEN_TEST lightning::ln::msgs::ReplyChannelRange test_msg ""
44+
45+
GEN_TEST lightning::ln::msgs::ErrorMessage test_msg_hole ", 32, 2"
46+
GEN_TEST lightning::ln::msgs::WarningMessage test_msg_hole ", 32, 2"
47+
GEN_TEST lightning::ln::msgs::ChannelUpdate test_msg_hole ", 108, 1"
48+
49+
GEN_TEST lightning::ln::channelmanager::ChannelDetails test_msg_simple ""

fuzz/src/msg_targets/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,3 +30,4 @@ pub mod msg_reply_channel_range;
3030
pub mod msg_error_message;
3131
pub mod msg_warning_message;
3232
pub mod msg_channel_update;
33+
pub mod msg_channel_details;

fuzz/src/msg_targets/msg_accept_channel.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,16 @@
1010
// This file is auto-generated by gen_target.sh based on msg_target_template.txt
1111
// To modify it, modify msg_target_template.txt and run gen_target.sh instead.
1212

13-
use lightning::ln::msgs;
14-
1513
use msg_targets::utils::VecWriter;
1614
use utils::test_logger;
1715

1816
#[inline]
1917
pub fn msg_accept_channel_test<Out: test_logger::Output>(data: &[u8], _out: Out) {
20-
test_msg_simple!(msgs::AcceptChannel, data);
18+
test_msg_simple!(lightning::ln::msgs::AcceptChannel, data);
2119
}
2220

2321
#[no_mangle]
2422
pub extern "C" fn msg_accept_channel_run(data: *const u8, datalen: usize) {
2523
let data = unsafe { std::slice::from_raw_parts(data, datalen) };
26-
test_msg_simple!(msgs::AcceptChannel, data);
24+
test_msg_simple!(lightning::ln::msgs::AcceptChannel, data);
2725
}

fuzz/src/msg_targets/msg_announcement_signatures.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,16 @@
1010
// This file is auto-generated by gen_target.sh based on msg_target_template.txt
1111
// To modify it, modify msg_target_template.txt and run gen_target.sh instead.
1212

13-
use lightning::ln::msgs;
14-
1513
use msg_targets::utils::VecWriter;
1614
use utils::test_logger;
1715

1816
#[inline]
1917
pub fn msg_announcement_signatures_test<Out: test_logger::Output>(data: &[u8], _out: Out) {
20-
test_msg_simple!(msgs::AnnouncementSignatures, data);
18+
test_msg_simple!(lightning::ln::msgs::AnnouncementSignatures, data);
2119
}
2220

2321
#[no_mangle]
2422
pub extern "C" fn msg_announcement_signatures_run(data: *const u8, datalen: usize) {
2523
let data = unsafe { std::slice::from_raw_parts(data, datalen) };
26-
test_msg_simple!(msgs::AnnouncementSignatures, data);
24+
test_msg_simple!(lightning::ln::msgs::AnnouncementSignatures, data);
2725
}

fuzz/src/msg_targets/msg_channel_announcement.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,16 @@
1010
// This file is auto-generated by gen_target.sh based on msg_target_template.txt
1111
// To modify it, modify msg_target_template.txt and run gen_target.sh instead.
1212

13-
use lightning::ln::msgs;
14-
1513
use msg_targets::utils::VecWriter;
1614
use utils::test_logger;
1715

1816
#[inline]
1917
pub fn msg_channel_announcement_test<Out: test_logger::Output>(data: &[u8], _out: Out) {
20-
test_msg_exact!(msgs::ChannelAnnouncement, data);
18+
test_msg_exact!(lightning::ln::msgs::ChannelAnnouncement, data);
2119
}
2220

2321
#[no_mangle]
2422
pub extern "C" fn msg_channel_announcement_run(data: *const u8, datalen: usize) {
2523
let data = unsafe { std::slice::from_raw_parts(data, datalen) };
26-
test_msg_exact!(msgs::ChannelAnnouncement, data);
24+
test_msg_exact!(lightning::ln::msgs::ChannelAnnouncement, data);
2725
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
// This file is Copyright its original authors, visible in version control
2+
// history.
3+
//
4+
// This file is licensed under the Apache License, Version 2.0 <LICENSE-APACHE
5+
// or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
6+
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
7+
// You may not use this file except in accordance with one or both of these
8+
// licenses.
9+
10+
// This file is auto-generated by gen_target.sh based on msg_target_template.txt
11+
// To modify it, modify msg_target_template.txt and run gen_target.sh instead.
12+
13+
use msg_targets::utils::VecWriter;
14+
use utils::test_logger;
15+
16+
#[inline]
17+
pub fn msg_channel_details_test<Out: test_logger::Output>(data: &[u8], _out: Out) {
18+
test_msg_simple!(lightning::ln::channelmanager::ChannelDetails, data);
19+
}
20+
21+
#[no_mangle]
22+
pub extern "C" fn msg_channel_details_run(data: *const u8, datalen: usize) {
23+
let data = unsafe { std::slice::from_raw_parts(data, datalen) };
24+
test_msg_simple!(lightning::ln::channelmanager::ChannelDetails, data);
25+
}

fuzz/src/msg_targets/msg_channel_ready.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,16 @@
1010
// This file is auto-generated by gen_target.sh based on msg_target_template.txt
1111
// To modify it, modify msg_target_template.txt and run gen_target.sh instead.
1212

13-
use lightning::ln::msgs;
14-
1513
use msg_targets::utils::VecWriter;
1614
use utils::test_logger;
1715

1816
#[inline]
1917
pub fn msg_channel_ready_test<Out: test_logger::Output>(data: &[u8], _out: Out) {
20-
test_msg_simple!(msgs::ChannelReady, data);
18+
test_msg_simple!(lightning::ln::msgs::ChannelReady, data);
2119
}
2220

2321
#[no_mangle]
2422
pub extern "C" fn msg_channel_ready_run(data: *const u8, datalen: usize) {
2523
let data = unsafe { std::slice::from_raw_parts(data, datalen) };
26-
test_msg_simple!(msgs::ChannelReady, data);
24+
test_msg_simple!(lightning::ln::msgs::ChannelReady, data);
2725
}

fuzz/src/msg_targets/msg_channel_reestablish.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,16 @@
1010
// This file is auto-generated by gen_target.sh based on msg_target_template.txt
1111
// To modify it, modify msg_target_template.txt and run gen_target.sh instead.
1212

13-
use lightning::ln::msgs;
14-
1513
use msg_targets::utils::VecWriter;
1614
use utils::test_logger;
1715

1816
#[inline]
1917
pub fn msg_channel_reestablish_test<Out: test_logger::Output>(data: &[u8], _out: Out) {
20-
test_msg!(msgs::ChannelReestablish, data);
18+
test_msg!(lightning::ln::msgs::ChannelReestablish, data);
2119
}
2220

2321
#[no_mangle]
2422
pub extern "C" fn msg_channel_reestablish_run(data: *const u8, datalen: usize) {
2523
let data = unsafe { std::slice::from_raw_parts(data, datalen) };
26-
test_msg!(msgs::ChannelReestablish, data);
24+
test_msg!(lightning::ln::msgs::ChannelReestablish, data);
2725
}

fuzz/src/msg_targets/msg_channel_update.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,16 @@
1010
// This file is auto-generated by gen_target.sh based on msg_target_template.txt
1111
// To modify it, modify msg_target_template.txt and run gen_target.sh instead.
1212

13-
use lightning::ln::msgs;
14-
1513
use msg_targets::utils::VecWriter;
1614
use utils::test_logger;
1715

1816
#[inline]
1917
pub fn msg_channel_update_test<Out: test_logger::Output>(data: &[u8], _out: Out) {
20-
test_msg_hole!(msgs::ChannelUpdate, data, 108, 1);
18+
test_msg_hole!(lightning::ln::msgs::ChannelUpdate, data, 108, 1);
2119
}
2220

2321
#[no_mangle]
2422
pub extern "C" fn msg_channel_update_run(data: *const u8, datalen: usize) {
2523
let data = unsafe { std::slice::from_raw_parts(data, datalen) };
26-
test_msg_hole!(msgs::ChannelUpdate, data, 108, 1);
24+
test_msg_hole!(lightning::ln::msgs::ChannelUpdate, data, 108, 1);
2725
}

fuzz/src/msg_targets/msg_closing_signed.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,16 @@
1010
// This file is auto-generated by gen_target.sh based on msg_target_template.txt
1111
// To modify it, modify msg_target_template.txt and run gen_target.sh instead.
1212

13-
use lightning::ln::msgs;
14-
1513
use msg_targets::utils::VecWriter;
1614
use utils::test_logger;
1715

1816
#[inline]
1917
pub fn msg_closing_signed_test<Out: test_logger::Output>(data: &[u8], _out: Out) {
20-
test_msg_simple!(msgs::ClosingSigned, data);
18+
test_msg_simple!(lightning::ln::msgs::ClosingSigned, data);
2119
}
2220

2321
#[no_mangle]
2422
pub extern "C" fn msg_closing_signed_run(data: *const u8, datalen: usize) {
2523
let data = unsafe { std::slice::from_raw_parts(data, datalen) };
26-
test_msg_simple!(msgs::ClosingSigned, data);
24+
test_msg_simple!(lightning::ln::msgs::ClosingSigned, data);
2725
}

fuzz/src/msg_targets/msg_commitment_signed.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,16 @@
1010
// This file is auto-generated by gen_target.sh based on msg_target_template.txt
1111
// To modify it, modify msg_target_template.txt and run gen_target.sh instead.
1212

13-
use lightning::ln::msgs;
14-
1513
use msg_targets::utils::VecWriter;
1614
use utils::test_logger;
1715

1816
#[inline]
1917
pub fn msg_commitment_signed_test<Out: test_logger::Output>(data: &[u8], _out: Out) {
20-
test_msg_simple!(msgs::CommitmentSigned, data);
18+
test_msg_simple!(lightning::ln::msgs::CommitmentSigned, data);
2119
}
2220

2321
#[no_mangle]
2422
pub extern "C" fn msg_commitment_signed_run(data: *const u8, datalen: usize) {
2523
let data = unsafe { std::slice::from_raw_parts(data, datalen) };
26-
test_msg_simple!(msgs::CommitmentSigned, data);
24+
test_msg_simple!(lightning::ln::msgs::CommitmentSigned, data);
2725
}

0 commit comments

Comments
 (0)