da4fd2eaf2
42bbbba7c83d1e2baad18b4c6f05bad1358eb117 message-capture-parser: fix out of bounds error for empty vectors (Sebastian Falbesoner) Pull request description: The script [message-capture-parser.py](https://github.com/bitcoin/bitcoin/blob/master/contrib/message-capture/message-capture-parser.py) currently throws an "out of bounds" error if a message containing an empty integer vector element is tried to converted to JSON (e.g. by the BIP157 message `cfcheckpt` with empty `FilterHeaders` vector): ``` Traceback (most recent call last): File "/home/honey/bitcoin/./contrib/message-capture/message-capture-parser.py", line 217, in <module> main() File "/home/honey/bitcoin/./contrib/message-capture/message-capture-parser.py", line 202, in main process_file(str(capture), messages, "recv" in capture.stem, progress_bar) File "/home/honey/bitcoin/./contrib/message-capture/message-capture-parser.py", line 162, in process_file msg_dict["body"] = to_jsonable(msg) File "/home/honey/bitcoin/./contrib/message-capture/message-capture-parser.py", line 85, in to_jsonable elif slot in HASH_INT_VECTORS and isinstance(val[0], int): IndexError: list index out of range ``` Fix this by using the `all(...)` predicate rather to access the first element `val[0]` (which in the error case doesn't exist). ACKs for top commit: laanwj: Code review ACK 42bbbba7c83d1e2baad18b4c6f05bad1358eb117 Tree-SHA512: 139ec6b90304a69f26ec731e6f12b216fa10e554f777505b61adfa1e569f6861a4a849159dd1eae7a1aa0427e8598af226b6f0c4015020dcac8ab109fbc35dba |
||
---|---|---|
.. | ||
auto_gdb | ||
builder-keys | ||
containers | ||
debian | ||
devtools | ||
guix | ||
init | ||
linearize | ||
macdeploy | ||
message-capture | ||
qos | ||
seeds | ||
shell | ||
testgen | ||
verify-commits | ||
verifybinaries | ||
windeploy | ||
zmq | ||
dash-cli.bash-completion | ||
dash-qt.pro | ||
dash-tx.bash-completion | ||
dashd.bash-completion | ||
filter-lcov.py | ||
install_db4.sh | ||
README.md | ||
valgrind.supp |
Repository Tools
Developer tools
Specific tools for developers working on this repository.
Contains the script github-merge.py
for merging GitHub pull requests securely and signing them using GPG.
Verify-Commits
Tool to verify that every merge commit was signed by a developer using the above github-merge.py
script.
Linearize
Construct a linear, no-fork, best version of the blockchain.
Qos
A Linux bash script that will set up traffic control (tc) to limit the outgoing bandwidth for connections to the Dash network. This means one can have an always-on dashd instance running, and another local dashd/dash-qt instance which connects to this node and receives blocks from it.
Seeds
Utility to generate the pnSeed[] array that is compiled into the client.
Build Tools and Keys
Debian
Contains files used to package dashd/dash-qt for Debian-based Linux systems. If you compile dashd/dash-qt yourself, there are some useful files here.
Builder keys
PGP keys used for signing Dash Core release results.
MacDeploy
Scripts and notes for Mac builds.
Test and Verify Tools
TestGen
Utilities to generate test vectors for the data-driven Dash tests.
Verify Binaries
This script attempts to download and verify the signature file SHA256SUMS.asc from bitcoin.org.