AI-generated analysisPublished automatically and not human-verified. Validated context appears in community notes below.
← Watch feed
Low 25 Bitcoin

Make background-processor `NO_*` constants actually `Send` + `Sync`

Public commit record

What the developer wrote

Authored by Matt Corallo

73/100 · Adequate
Make background-processor `NO_*` constants actually `Send` + `Sync`

In 0d59d73c55f873e9d78703763ae97de47c186bd8 we added constants to
better enable users to call background processor methods without
optional parameters. Sadly, they didn't work for the async BP as
they weren't actually `Send` + `Sync`, which we fix here.
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
The short version

What changed, and why it matters

This commit fixes Rust type definitions for placeholder constants used when starting the Lightning background processor without optional components. The constants were supposed to be usable in multi-threaded and async code, but they were missing required Send and Sync markers, meaning async users could not actually compile code using them. The fix adds those markers and adjusts related type aliases. It is a compile-time API usability fix, not a runtime vulnerability patch.

Recommended action

No immediate security response is required. Users of the async background processor who encountered compile failures with the NO_* constants should upgrade to the patched version. Reviewers should verify the new Send + Sync bounds do not exclude legitimate no-std or c_bindings use cases, which the patch already gates with cfg attributes.

Security signals we found

01

Trait-object bounds changed from bare dyn Trait to dyn Trait + Send + Sync

02

Scorer wrapper switched from RefCell to RwLock under std to satisfy Sync

03

Constants explicitly intended for async use were previously not Send + Sync

04

Test converted to async to cover the previously broken compile path

Risk score

Why this scored 25/100

Our methodology →
Potential impact 5/30
Exploitability 2/25
Stealth signal 2/15
Affected reach 4/15
Confidence 8/10
Evidence quality 4/5
Human-validated context

Community notes

Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.

No validated notes yet.

The AI analysis stands alone for now. Submit a note if you can add evidence or important context.