lncfg: add deprecated no-experimental-endorsement config option
What changed, and why it matters
This commit is a simple backward-compatibility rename. It brings back an old configuration option name ('no-experimental-endorsement') as a hidden alias for the new name ('no-experimental-accountability'), so users with the old option in their config files won't have their node fail to start after the rename. There is no security bug or behavior change beyond the alias.
No security action needed. Treat as a routine backward-compatibility maintenance change.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The patch adds a hidden, deprecated boolean flag no-experimental-endorsement to ProtocolOptions in both protocol.go and protocol_integration.go, and updates NoExpAccountability() to return true if either the new NoExperimentalAccountabilityOption or the deprecated NoExperimentalEndorsementOption is set. The sample config is updated with a commented-out deprecated entry. This is purely a compatibility alias for a renamed experimental feature flag.
Changed components
lncfg/protocol.golncfg/protocol_integration.gosample-lnd.confInspect captured patch +22 / −4
diff --git a/lncfg/protocol.go b/lncfg/protocol.go
index fbfe264..b130d1b 100644
--- a/lncfg/protocol.go
+++ b/lncfg/protocol.go
@@ -74,6 +74,11 @@ type ProtocolOptions struct {
// NoExperimentalAccountabilityOption disables experimental accountability.
NoExperimentalAccountabilityOption bool `long:"no-experimental-accountability" description:"do not forward experimental accountability signals"`
+ // NoExperimentalEndorsementOption is the deprecated name for
+ // NoExperimentalAccountabilityOption. It is hidden and will be removed
+ // in a future release.
+ NoExperimentalEndorsementOption bool `long:"no-experimental-endorsement" hidden:"true" description:"deprecated: use no-experimental-accountability instead"`
+
// CustomMessage allows the custom message APIs to handle messages with
// the provided protocol numbers, which fall outside the custom message
// number range.
@@ -140,9 +145,11 @@ func (l *ProtocolOptions) NoRouteBlinding() bool {
}
// NoExpAccountability returns true if experimental accountability should be
-// disabled.
+// disabled. It also checks the deprecated NoExperimentalEndorsementOption for
+// backwards compatibility.
func (l *ProtocolOptions) NoExpAccountability() bool {
- return l.NoExperimentalAccountabilityOption
+ return l.NoExperimentalAccountabilityOption ||
+ l.NoExperimentalEndorsementOption
}
// NoQuiescence returns true if quiescence is disabled.
diff --git a/lncfg/protocol_integration.go b/lncfg/protocol_integration.go
index 72a26ae..752a1a8 100644
--- a/lncfg/protocol_integration.go
+++ b/lncfg/protocol_integration.go
@@ -77,6 +77,11 @@ type ProtocolOptions struct {
// NoExperimentalAccountabilityOption disables experimental accountability.
NoExperimentalAccountabilityOption bool `long:"no-experimental-accountability" description:"do not forward experimental accountability signals"`
+ // NoExperimentalEndorsementOption is the deprecated name for
+ // NoExperimentalAccountabilityOption. It is hidden and will be removed
+ // in a future release.
+ NoExperimentalEndorsementOption bool `long:"no-experimental-endorsement" hidden:"true" description:"deprecated: use no-experimental-accountability instead"`
+
// NoQuiescenceOption disables quiescence for all channels.
NoQuiescenceOption bool `long:"no-quiescence" description:"do not allow or advertise quiescence for any channel"`
@@ -138,9 +143,11 @@ func (l *ProtocolOptions) NoRouteBlinding() bool {
}
// NoExpAccountability returns true if experimental accountability should be
-// disabled.
+// disabled. It also checks the deprecated NoExperimentalEndorsementOption for
+// backwards compatibility.
func (l *ProtocolOptions) NoExpAccountability() bool {
- return l.NoExperimentalAccountabilityOption
+ return l.NoExperimentalAccountabilityOption ||
+ l.NoExperimentalEndorsementOption
}
// NoQuiescence returns true if quiescence is disabled.
diff --git a/sample-lnd.conf b/sample-lnd.conf
index 830d42e..28f18b3 100644
--- a/sample-lnd.conf
+++ b/sample-lnd.conf
@@ -1443,6 +1443,10 @@
; Set to disable experimental accountability signaling.
; protocol.no-experimental-accountability=false
+; DEPRECATED: Use protocol.no-experimental-accountability instead.
+; Set to disable experimental endorsement signaling.
+; protocol.no-experimental-endorsement=false
+
; Set to enable support for RBF based coop close.
; protocol.rbf-coop-close=false
Why this scored 19/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.