Amber nodes are monitored by CommitWatch. Gray nodes are sampled from authenticated GitHub public commit search and may not represent complete contribution history.
This commit adds a new internal helper function that runs the bitcoin-cli command synchronously (waiting for it to finish before continuing). It is marked UNNEEDED, meaning it is not currently used anywhere. The change appears to be a pure…
No security-relevant behavioral change: only new unused helper code addedSynchronous child-process execution helper added, but not invokedRPC password handling mirrors existing pattern (sent via stdin when configured)
This commit is a simple code cleanup: it replaces three hard-coded numbers in the bitcoin-cli plugin with named constants. The actual behavior of the program does not change at all. There is no security fix here.
This commit refactors how Core Lightning handles replies from its internal Bitcoin plugin (bcli). Previously, if the plugin reported an error, the main daemon might try to read a non-existent 'result' field and produce a confusing 'bad res…
New centralized error-field handling for Bitcoin plugin responsesCallbacks now fail fast on explicit 'error' objects from bcliReduced risk of silently ignoring or misreporting plugin errors
This commit changes how Core Lightning submits raw Bitcoin transactions to the local bitcoin node. Previously it was done in the background (asynchronous); now it is done inline (synchronous) and returns the result directly. The change is …
Behavioral refactor of transaction broadcast pathAdds explicit error-message surfacing from bitcoin-cli to RPC responseRemoves asynchronous pending-command pattern for sendrawtransaction
This commit changes how a Core Lightning plugin asks its connected Bitcoin node about transaction outputs. It switches one internal call from asynchronous to synchronous execution and adds more detailed error messages. There is no direct e…
Refactor of plugin RPC execution patternImproved error diagnostics for JSON parsing failuresNo explicit security claim in commit message or diff
This commit only changes test files. It updates pytest test cases to match new behavior after a code refactor made the lightning node crash instead of retry when it gets invalid responses from the connected Bitcoin node. There is no change…
This change alters how Core Lightning's bitcoin backend plugin reacts when the connected Bitcoin node cannot find a requested block by height. Previously, only one specific error code (8) was treated as 'block not found,' while any other f…
Error-handling broadening masks non-missing-block failuresAny getblockhash non-zero exit status now treated as missing blockPotential for denial of service or synchronization stall if backend errors are silently swallowed
This commit changes how the bitcoin-cli plugin answers the 'getchaininfo' request. Previously it started an asynchronous background job and later returned the result. Now it calls bitcoin-cli directly and waits for the answer before respon…
Removal of async execution path for getchaininfoSynchronous bitcoin-cli call now blocks plugin threadOld async result handler marked UNNEEDED (dead code)
This is a routine code cleanup in Core Lightning's bitcoin-cli plugin. It pulls out duplicated code for running bitcoin-cli into a single shared helper function, with no intended behavior change. There is no indication this fixes or introd…
This commit rewrites one internal plugin function so it calls the Bitcoin backend in a straightforward, step-by-step (synchronous) style instead of a chain of callbacks. It also renames an internal error helper so it can print 'command fai…
Refactor of backend command execution and error reportingIntroduction of synchronous retry loop with `sleep(1)` and timeoutPeer-assisted block retrieval via `getblockfrompeer`
This commit is mostly a cleanup: it removes old asynchronous code from the bitcoin-cli plugin after it was converted to run commands one at a time (synchronously). The only functional bug fix is adding a missing `close(from)` call, which s…
File descriptor leak fixed in `run_bitcoin_cliv` and `wait_and_check_bitcoind` by adding `close(from)`Removal of async I/O and concurrency control reduces complexity and potential race conditions`waitpid` error handling improved: non-EINTR failures now call `plugin_err` instead of looping silently
This change rewrites how Core Lightning asks Bitcoin for fee estimates, switching from an asynchronous (multi-step callback) style to a simpler synchronous style. It also adds a shared helper for reporting bad JSON responses from bitcoin-c…
Behavioral change in fee-estimation error path: previously a failure in one estimatesmartfee call could still allow partial results; now any failure returns an error/null response immediately, which may change fee fallback behavior.New helper centralizes JSON parse/scan error messages and includes raw bitcoin-cli output; this could leak verbose backend output to RPC callers if output contains sensitive data, though no such data is evident.Synchronous bitcoin-cli calls block the plugin thread; a slow or hung `estimatesmartfee`/`getmempoolinfo` could delay or deny fee responses, but this is a denial-of-service/availability concern rather than a code-execution vulnerability.
This commit only adds new automated tests to the Core Lightning project. It does not change any production code, so it cannot introduce a security vulnerability by itself. The tests exercise an existing retry mechanism in the bitcoin backe…
Test-only change; no production code modifiedTests cover existing retry/fatal behavior in bcli pluginOne test documents a fatal() path when retries are exhausted
This commit fixes a bug where a malformed JSON-RPC filter could crash the Core Lightning daemon (lightningd) with a segmentation fault. The crash happened because the code tried to report the malformed filter before it had looked up the co…
NULL pointer dereference leading to daemon crash (DoS)Use-after-initialization ordering bug in JSON-RPC request parsingCrash triggered by malformed user-supplied RPC filter parameter
This commit adds a test for a crash that only happens when Core Lightning runs in normal (non-developer) mode. A user sending a malformed JSON filter through the command-line tool could cause the node to crash because a logging function ex…
Denial-of-service vector via malformed RPC filter inputCrash only reproducible in production (non-developer) configurationUse-after-null or null-deref pattern in `command_log()` due to unpopulated `cmd->json_cmd`