-
Notifications
You must be signed in to change notification settings - Fork 37.7k
rpc: Make HTTP RPC debug logging more informative #14618
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
rpc: Make HTTP RPC debug logging more informative #14618
Conversation
utACK a6cf746 |
utACK a6cf746b43686c1c2307b31308d2d6cd18ddb696 |
utACK |
utACK a6cf746b43686c1c2307b31308d2d6cd18ddb696 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Concept ACK
utACK However, it must be noted that the HTTP server has always lacked proper request logging. Having a separate log stream with logs parse-able by HTTP log analysis tools would be nice to have. |
@ken2812221 Thanks for reviewing. Now allowing all characters allowed in URIs. Please re-review :-) |
d5505c3
to
b301fec
Compare
Related (to adding new chars for SanitizeString): #10731 |
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. ConflictsNo conflicts as of last run. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
utACK b301fecb.
hreq->WriteReply(HTTP_BADMETHOD); | ||
return; | ||
} | ||
|
||
LogPrint(BCLog::HTTP, "Received a %s request for %s from %s\n", | ||
RequestMethodString(hreq->GetRequestMethod()), SanitizeString(hreq->GetURI(), SAFE_CHARS_URI).substr(0, 100), hreq->GetPeer().ToString()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What's the deal with 100 chars?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it's nothing special simply a sanity limit that avoids logging huge entire requests
utACK b301fecb830ad8ca9ec2419978ae8e0b6fbc6754 |
1 similar comment
utACK b301fecb830ad8ca9ec2419978ae8e0b6fbc6754 |
Needs rebase |
b301fec
to
ab8c6f2
Compare
Rebased! :-) |
ab8c6f2 Add SAFE_CHARS[SAFE_CHARS_URI]: Chars allowed in URIs (RFC 3986) (practicalswift) 9912486 rpc: Make HTTP RPC debug logging more informative (practicalswift) Pull request description: * Make HTTP RPC debug logging more informative * Avoid excessively large log messages (which could theoretically fill up the disk) when running with debug option `-debug=http` Tree-SHA512: 9068862fb7d34db1e12e6b9dde78b669b86c65b4fed3ea8c9eb6c35310d77fd12b16644728fd7e9fbf25059d25114bded9e061eb3de649d8847486ec42041ce9
Github-Pull: bitcoin#14618 Rebased-From: 9912486
Github-Pull: bitcoin#14618 Rebased-From: ab8c6f2
Backported in #14835. |
f9db08e qa: Avoid race in p2p_invalid_block by waiting for the block request (MarcoFalke) 7935881 Add SAFE_CHARS[SAFE_CHARS_URI]: Chars allowed in URIs (RFC 3986) (practicalswift) 9666dba rpc: Make HTTP RPC debug logging more informative (practicalswift) b901578 add test demonstrating addrLocal UB (Kaz Wesley) 6f04264 fix uninitialized read when stringifying an addrLocal (Kaz Wesley) 5782fdc Throw error if CPubKey is invalid during PSBT keypath serialization (Gregory Sanders) de5e48a Bugfix: RPC: Add address_type named param for createmultisig (Luke Dashjr) df5131b gui: explicitly disable "Dark Mode" appearance on macOS (fanquake) Pull request description: Backports #14593, #14596, #14618, #14690 and #14728 to the 0.17 branch. Tree-SHA512: fcda4b75fcb71bb80cc8bde2a2b98ff5c0239dfa754ac980b1a91a90409502ac7678326399a4fc03a773074339dbf8b3d11750c91fe4302741a954745acfcca1
ab8c6f2 Add SAFE_CHARS[SAFE_CHARS_URI]: Chars allowed in URIs (RFC 3986) (practicalswift) 9912486 rpc: Make HTTP RPC debug logging more informative (practicalswift) Pull request description: * Make HTTP RPC debug logging more informative * Avoid excessively large log messages (which could theoretically fill up the disk) when running with debug option `-debug=http` Tree-SHA512: 9068862fb7d34db1e12e6b9dde78b669b86c65b4fed3ea8c9eb6c35310d77fd12b16644728fd7e9fbf25059d25114bded9e061eb3de649d8847486ec42041ce9
Summary: ab8c6f24d28ea1d1e6258cf316b4b97a0baf2377 Add SAFE_CHARS[SAFE_CHARS_URI]: Chars allowed in URIs (RFC 3986) (practicalswift) 991248649b76a5a071e1360a700f3e2ecf3e1e1f rpc: Make HTTP RPC debug logging more informative (practicalswift) Pull request description: * Make HTTP RPC debug logging more informative * Avoid excessively large log messages (which could theoretically fill up the disk) when running with debug option `-debug=http` Tree-SHA512: 9068862fb7d34db1e12e6b9dde78b669b86c65b4fed3ea8c9eb6c35310d77fd12b16644728fd7e9fbf25059d25114bded9e061eb3de649d8847486ec42041ce9 --- This is a backport of Core [[bitcoin/bitcoin#14618 | PR14618]] Test Plan: ninja check Reviewers: O1 Bitcoin ABC, #bitcoin_abc, deadalnix Reviewed By: O1 Bitcoin ABC, #bitcoin_abc, deadalnix Differential Revision: https://reviews.bitcoinabc.org/D5747
Summary: ab8c6f24d28ea1d1e6258cf316b4b97a0baf2377 Add SAFE_CHARS[SAFE_CHARS_URI]: Chars allowed in URIs (RFC 3986) (practicalswift) 991248649b76a5a071e1360a700f3e2ecf3e1e1f rpc: Make HTTP RPC debug logging more informative (practicalswift) Pull request description: * Make HTTP RPC debug logging more informative * Avoid excessively large log messages (which could theoretically fill up the disk) when running with debug option `-debug=http` Tree-SHA512: 9068862fb7d34db1e12e6b9dde78b669b86c65b4fed3ea8c9eb6c35310d77fd12b16644728fd7e9fbf25059d25114bded9e061eb3de649d8847486ec42041ce9 --- This is a backport of Core [[bitcoin/bitcoin#14618 | PR14618]] Test Plan: ninja check Reviewers: O1 Bitcoin ABC, #bitcoin_abc, deadalnix Reviewed By: O1 Bitcoin ABC, #bitcoin_abc, deadalnix Differential Revision: https://reviews.bitcoinabc.org/D5747
ab8c6f2 Add SAFE_CHARS[SAFE_CHARS_URI]: Chars allowed in URIs (RFC 3986) (practicalswift) 9912486 rpc: Make HTTP RPC debug logging more informative (practicalswift) Pull request description: * Make HTTP RPC debug logging more informative * Avoid excessively large log messages (which could theoretically fill up the disk) when running with debug option `-debug=http` Tree-SHA512: 9068862fb7d34db1e12e6b9dde78b669b86c65b4fed3ea8c9eb6c35310d77fd12b16644728fd7e9fbf25059d25114bded9e061eb3de649d8847486ec42041ce9
ab8c6f2 Add SAFE_CHARS[SAFE_CHARS_URI]: Chars allowed in URIs (RFC 3986) (practicalswift) 9912486 rpc: Make HTTP RPC debug logging more informative (practicalswift) Pull request description: * Make HTTP RPC debug logging more informative * Avoid excessively large log messages (which could theoretically fill up the disk) when running with debug option `-debug=http` Tree-SHA512: 9068862fb7d34db1e12e6b9dde78b669b86c65b4fed3ea8c9eb6c35310d77fd12b16644728fd7e9fbf25059d25114bded9e061eb3de649d8847486ec42041ce9
ab8c6f2 Add SAFE_CHARS[SAFE_CHARS_URI]: Chars allowed in URIs (RFC 3986) (practicalswift) 9912486 rpc: Make HTTP RPC debug logging more informative (practicalswift) Pull request description: * Make HTTP RPC debug logging more informative * Avoid excessively large log messages (which could theoretically fill up the disk) when running with debug option `-debug=http` Tree-SHA512: 9068862fb7d34db1e12e6b9dde78b669b86c65b4fed3ea8c9eb6c35310d77fd12b16644728fd7e9fbf25059d25114bded9e061eb3de649d8847486ec42041ce9
ab8c6f2 Add SAFE_CHARS[SAFE_CHARS_URI]: Chars allowed in URIs (RFC 3986) (practicalswift) 9912486 rpc: Make HTTP RPC debug logging more informative (practicalswift) Pull request description: * Make HTTP RPC debug logging more informative * Avoid excessively large log messages (which could theoretically fill up the disk) when running with debug option `-debug=http` Tree-SHA512: 9068862fb7d34db1e12e6b9dde78b669b86c65b4fed3ea8c9eb6c35310d77fd12b16644728fd7e9fbf25059d25114bded9e061eb3de649d8847486ec42041ce9
ab8c6f2 Add SAFE_CHARS[SAFE_CHARS_URI]: Chars allowed in URIs (RFC 3986) (practicalswift) 9912486 rpc: Make HTTP RPC debug logging more informative (practicalswift) Pull request description: * Make HTTP RPC debug logging more informative * Avoid excessively large log messages (which could theoretically fill up the disk) when running with debug option `-debug=http` Tree-SHA512: 9068862fb7d34db1e12e6b9dde78b669b86c65b4fed3ea8c9eb6c35310d77fd12b16644728fd7e9fbf25059d25114bded9e061eb3de649d8847486ec42041ce9
ab8c6f2 Add SAFE_CHARS[SAFE_CHARS_URI]: Chars allowed in URIs (RFC 3986) (practicalswift) 9912486 rpc: Make HTTP RPC debug logging more informative (practicalswift) Pull request description: * Make HTTP RPC debug logging more informative * Avoid excessively large log messages (which could theoretically fill up the disk) when running with debug option `-debug=http` Tree-SHA512: 9068862fb7d34db1e12e6b9dde78b669b86c65b4fed3ea8c9eb6c35310d77fd12b16644728fd7e9fbf25059d25114bded9e061eb3de649d8847486ec42041ce9
ab8c6f2 Add SAFE_CHARS[SAFE_CHARS_URI]: Chars allowed in URIs (RFC 3986) (practicalswift) 9912486 rpc: Make HTTP RPC debug logging more informative (practicalswift) Pull request description: * Make HTTP RPC debug logging more informative * Avoid excessively large log messages (which could theoretically fill up the disk) when running with debug option `-debug=http` Tree-SHA512: 9068862fb7d34db1e12e6b9dde78b669b86c65b4fed3ea8c9eb6c35310d77fd12b16644728fd7e9fbf25059d25114bded9e061eb3de649d8847486ec42041ce9
-debug=http