Skip to content

Commit 4d60755

Browse files
committed
Introduce custom_data in handle_dnssec_proof
1 parent 14b78ac commit 4d60755

File tree

6 files changed

+21
-13
lines changed

6 files changed

+21
-13
lines changed

lightning-dns-resolver/src/lib.rs

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -107,9 +107,11 @@ impl<PH: Deref> DNSResolverMessageHandler for OMDomainResolver<PH>
107107
where
108108
PH::Target: DNSResolverMessageHandler,
109109
{
110-
fn handle_dnssec_proof(&self, proof: DNSSECProof, context: DNSResolverContext) {
110+
fn handle_dnssec_proof(
111+
&self, proof: DNSSECProof, context: DNSResolverContext, custom_data: Option<Vec<u8>>,
112+
) {
111113
if let Some(proof_handler) = &self.proof_handler {
112-
proof_handler.handle_dnssec_proof(proof, context);
114+
proof_handler.handle_dnssec_proof(proof, context, custom_data);
113115
}
114116
}
115117

@@ -251,8 +253,11 @@ mod test {
251253
panic!();
252254
}
253255

254-
fn handle_dnssec_proof(&self, msg: DNSSECProof, context: DNSResolverContext) {
255-
let mut proof = self.resolver.handle_dnssec_proof_for_uri(msg, context).unwrap();
256+
fn handle_dnssec_proof(
257+
&self, msg: DNSSECProof, context: DNSResolverContext, custom_data: Option<Vec<u8>>,
258+
) {
259+
let mut proof =
260+
self.resolver.handle_dnssec_proof_for_uri(msg, context, custom_data).unwrap();
256261
assert_eq!(proof.0.len(), 1);
257262
let payment = proof.0.pop().unwrap();
258263
let mut result = Some((payment.0, payment.1, proof.1));

lightning/src/ln/channelmanager.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12446,8 +12446,8 @@ where
1244612446
None
1244712447
}
1244812448

12449-
fn handle_dnssec_proof(&self, message: DNSSECProof, context: DNSResolverContext) {
12450-
let offer_opt = self.hrn_resolver.handle_dnssec_proof_for_offer(message, context);
12449+
fn handle_dnssec_proof(&self, message: DNSSECProof, context: DNSResolverContext, custom_data: Option<Vec<u8>>) {
12450+
let offer_opt = self.hrn_resolver.handle_dnssec_proof_for_offer(message, context, custom_data);
1245112451
#[cfg_attr(not(feature = "_test_utils"), allow(unused_mut))]
1245212452
if let Some((completed_requests, mut offer)) = offer_opt {
1245312453
for (name, payment_id) in completed_requests {

lightning/src/ln/peer_handler.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ impl DNSResolverMessageHandler for IgnoringMessageHandler {
165165
) -> Option<(DNSResolverMessage, ResponseInstruction)> {
166166
None
167167
}
168-
fn handle_dnssec_proof(&self, _message: DNSSECProof, _context: DNSResolverContext) {}
168+
fn handle_dnssec_proof(&self, _message: DNSSECProof, _context: DNSResolverContext, _custom_data: Option<Vec<u8>>) {}
169169
}
170170
impl CustomOnionMessageHandler for IgnoringMessageHandler {
171171
type CustomMessage = Infallible;

lightning/src/onion_message/dns_resolution.rs

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,9 @@ pub trait DNSResolverMessageHandler {
6767
/// Handle a [`DNSSECProof`] message (in response to a [`DNSSECQuery`] we presumably sent).
6868
///
6969
/// With this, we should be able to validate the DNS record we requested.
70-
fn handle_dnssec_proof(&self, message: DNSSECProof, context: DNSResolverContext);
70+
fn handle_dnssec_proof(
71+
&self, message: DNSSECProof, context: DNSResolverContext, custom_data: Option<Vec<u8>>,
72+
);
7173

7274
/// Gets the node feature flags which this handler itself supports. Useful for setting the
7375
/// `dns_resolver` flag if this handler supports returning [`DNSSECProof`] messages in response
@@ -362,9 +364,10 @@ impl OMNameResolver {
362364
/// If an [`Offer`] is found, it, as well as the [`PaymentId`] and original `name` passed to
363365
/// [`Self::resolve_name`] are returned.
364366
pub fn handle_dnssec_proof_for_offer(
365-
&self, msg: DNSSECProof, context: DNSResolverContext,
367+
&self, msg: DNSSECProof, context: DNSResolverContext, custom_data: Option<Vec<u8>>,
366368
) -> Option<(Vec<(HumanReadableName, PaymentId)>, Offer)> {
367-
let (completed_requests, uri) = self.handle_dnssec_proof_for_uri(msg, context)?;
369+
let (completed_requests, uri) =
370+
self.handle_dnssec_proof_for_uri(msg, context, custom_data)?;
368371
if let Some((_onchain, params)) = uri.split_once("?") {
369372
for param in params.split("&") {
370373
let (k, v) = if let Some(split) = param.split_once("=") {
@@ -395,7 +398,7 @@ impl OMNameResolver {
395398
/// This method is useful for those who handle bitcoin: URIs already, handling more than just
396399
/// BOLT12 [`Offer`]s.
397400
pub fn handle_dnssec_proof_for_uri(
398-
&self, msg: DNSSECProof, context: DNSResolverContext,
401+
&self, msg: DNSSECProof, context: DNSResolverContext, _custom_data: Option<Vec<u8>>,
399402
) -> Option<(Vec<(HumanReadableName, PaymentId)>, String)> {
400403
let DNSSECProof { name: answer_name, proof } = msg;
401404
let mut pending_resolves = self.pending_resolves.lock().unwrap();

lightning/src/onion_message/functional_tests.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ impl DNSResolverMessageHandler for TestDNSResolverMessageHandler {
107107
) -> Option<(DNSResolverMessage, ResponseInstruction)> {
108108
None
109109
}
110-
fn handle_dnssec_proof(&self, _message: DNSSECProof, _context: DNSResolverContext) {}
110+
fn handle_dnssec_proof(&self, _message: DNSSECProof, _context: DNSResolverContext, _custom_data: Option<Vec<u8>>) {}
111111
}
112112

113113
#[derive(Clone, Debug, PartialEq)]

lightning/src/onion_message/messenger.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1903,7 +1903,7 @@ where
19031903
Some(MessageContext::DNSResolver(context)) => context,
19041904
_ => return,
19051905
};
1906-
self.dns_resolver_handler.handle_dnssec_proof(msg, context);
1906+
self.dns_resolver_handler.handle_dnssec_proof(msg, context, custom_data);
19071907
},
19081908
ParsedOnionMessageContents::Custom(msg) => {
19091909
let context = match context {

0 commit comments

Comments
 (0)