Skip to content

Commit d886a65

Browse files
committed
f - don't serialize ConnectionNeeded events
1 parent 71866f2 commit d886a65

File tree

1 file changed

+5
-21
lines changed

1 file changed

+5
-21
lines changed

lightning/src/events/mod.rs

Lines changed: 5 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1192,12 +1192,9 @@ impl Writeable for Event {
11921192
(0, payment_id, required),
11931193
})
11941194
},
1195-
&Event::ConnectionNeeded { ref node_id, ref addresses } => {
1195+
&Event::ConnectionNeeded { .. } => {
11961196
35u8.write(writer)?;
1197-
write_tlv_fields!(writer, {
1198-
(0, node_id, required),
1199-
(2, *addresses, required_vec),
1200-
})
1197+
// Never write ConnectionNeeded events as buffered onion messages aren't serialized.
12011198
},
12021199
// Note that, going forward, all new events must only write data inside of
12031200
// `write_tlv_fields`. Versions 0.0.101+ will ignore odd-numbered events that write
@@ -1209,9 +1206,9 @@ impl Writeable for Event {
12091206
impl MaybeReadable for Event {
12101207
fn read<R: io::Read>(reader: &mut R) -> Result<Option<Self>, msgs::DecodeError> {
12111208
match Readable::read(reader)? {
1212-
// Note that we do not write a length-prefixed TLV for FundingGenerationReady events,
1213-
// unlike all other events, thus we return immediately here.
1214-
0u8 => Ok(None),
1209+
// Note that we do not write a length-prefixed TLV for FundingGenerationReady and
1210+
// ConnectionNeeded events, unlike all other events, thus we return immediately here.
1211+
0u8 | 35u8 => Ok(None),
12151212
1u8 => {
12161213
let f = || {
12171214
let mut payment_hash = PaymentHash([0; 32]);
@@ -1597,19 +1594,6 @@ impl MaybeReadable for Event {
15971594
};
15981595
f()
15991596
},
1600-
35u8 => {
1601-
let f = || {
1602-
_init_and_read_len_prefixed_tlv_fields!(reader, {
1603-
(0, node_id, required),
1604-
(2, addresses, required_vec),
1605-
});
1606-
Ok(Some(Event::ConnectionNeeded {
1607-
node_id: node_id.0.unwrap(),
1608-
addresses,
1609-
}))
1610-
};
1611-
f()
1612-
},
16131597
// Versions prior to 0.0.100 did not ignore odd types, instead returning InvalidValue.
16141598
// Version 0.0.100 failed to properly ignore odd types, possibly resulting in corrupt
16151599
// reads.

0 commit comments

Comments
 (0)