RTL/server/controllers/eclair
saubyk b709c01277
Stop logging the eclair auth header at DEBUG level
getChannels in the eclair channels controller logged its whole request
options object. Eclair authenticates with HTTP basic auth, so those
options carry the configured lnApiPassword in an authorization header -
raising an eclair node's logLevel to DEBUG wrote
"authorization":"Basic <base64>" into the node log file, which is a
recoverable form of the credential and is routinely shared when
debugging.

The log now carries only the request url and form, matching every other
DEBUG log in the controllers. This was the only site in server/ passing a
whole options object to the logger; the rest log options.form, .url,
.body or .qs, none of which hold credentials.

Present since 0.12.0 and only reachable by opting in to DEBUG (the
default log level is ERROR), but it contradicted the logging guarantee
stated for #1659.

Found by scanning node logs at DEBUG while verifying the 0.15.10 branch
against the regtest fixture. Regression test added in
test/backend/eclair-channels.test.mjs; it fails on the previous code with
"auth header key must not reach the node log".
2026-08-03 22:30:16 -07:00
..
channels.ts Stop logging the eclair auth header at DEBUG level 2026-08-03 22:30:16 -07:00
fees.ts Replace deprecated request/request-promise with axios 2026-07-19 22:01:23 -07:00
getInfo.ts Replace deprecated request/request-promise with axios 2026-07-19 22:01:23 -07:00
invoices.ts Replace deprecated request/request-promise with axios 2026-07-19 22:01:23 -07:00
network.ts Replace deprecated request/request-promise with axios 2026-07-19 22:01:23 -07:00
onchain.ts Replace deprecated request/request-promise with axios 2026-07-19 22:01:23 -07:00
payments.ts Replace deprecated request/request-promise with axios 2026-07-19 22:01:23 -07:00
peers.ts Replace deprecated request/request-promise with axios 2026-07-19 22:01:23 -07:00
webSocketClient.ts Release 0.15.1 (#1406) 2024-06-10 12:40:37 -07:00