projects
/
rust-lightning
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Check if invoices contain unknown required features
[rust-lightning]
/
lightning-invoice
/
src
/
lib.rs
diff --git
a/lightning-invoice/src/lib.rs
b/lightning-invoice/src/lib.rs
index bcb15245d3f201ad920002f2f3f76d4ea1707cd4..75aac5491513840c433ed17a6b785ff791aa646c 100644
(file)
--- a/
lightning-invoice/src/lib.rs
+++ b/
lightning-invoice/src/lib.rs
@@
-1052,7
+1052,9
@@
impl Invoice {
None if has_payment_secret => Err(SemanticError::InvalidFeatures),
None => Ok(()),
Some(TaggedField::Features(features)) => {
None if has_payment_secret => Err(SemanticError::InvalidFeatures),
None => Ok(()),
Some(TaggedField::Features(features)) => {
- if features.supports_payment_secret() && has_payment_secret {
+ if features.requires_unknown_bits() {
+ Err(SemanticError::InvalidFeatures)
+ } else if features.supports_payment_secret() && has_payment_secret {
Ok(())
} else if has_payment_secret {
Err(SemanticError::InvalidFeatures)
Ok(())
} else if has_payment_secret {
Err(SemanticError::InvalidFeatures)