-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
backport: trivial 2024 10 23 pr6 #6354
backport: trivial 2024 10 23 pr6 #6354
Conversation
…clang package 9ae854d depends: no-longer nuke libc++abi.so* in native_clang package (fanquake) Pull request description: We weren't copying it over in any case. ACKs for top commit: hebasto: ACK 9ae854d theuni: Sure. utACK no-op 9ae854d. Tree-SHA512: 3cc7f18f27c1b498f930bc1a09283aa04ba673d3c1a5220d8462213f0a06b74bc34989f23404402850de518cba35ddab900a54f7f0fac112fc86664e4155f8cb
c43a489
to
70500c9
Compare
configure.ac
Outdated
@@ -1064,7 +1064,7 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <malloc.h>]], | |||
dnl Check for posix_fallocate | |||
AC_MSG_CHECKING(for posix_fallocate) | |||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ | |||
// same as in src/util/system.cpp | |||
// same as in src/util/fs_helpers.cpp |
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.
27656: requires 27254
…ing for `libdb` f03a708 doc, test: Document steps to reproduce TSan warning for `libdb` (Hennadii Stepanov) Pull request description: Requested [here](bitcoin#27658 (comment)). ACKs for top commit: MarcoFalke: lgtm ACK f03a708 Tree-SHA512: 0c61c05d75d074df0686502739341fdbef8dd5a2d2f6cdfdd85bd0014ac43efb6fab112ee66d8d0f33f8f4695aeffc12a05923181260d81511d4e4d53b7686f2
ea7b852 build: Use newest `config.{guess,sub}` available (Hennadii Stepanov) Pull request description: Fixes cross-compiling on old systems. See bitcoin#26420 (comment). Guix builds: ``` ab58f8db4fb50c2af08be646e4a57491ff853bf41319fe3e962bb928ace2c1be guix-build-ea7b8528490d/output/aarch64-linux-gnu/SHA256SUMS.part c4a42a7dbfb15aa910ce269c3f3158df758eba01dd855cf6529c960d9b8bd76b guix-build-ea7b8528490d/output/aarch64-linux-gnu/bitcoin-ea7b8528490d-aarch64-linux-gnu-debug.tar.gz add5f80b0c8ee216c1d8db31e13656c45f11fe5c967324b8fcedd64d0d408938 guix-build-ea7b8528490d/output/aarch64-linux-gnu/bitcoin-ea7b8528490d-aarch64-linux-gnu.tar.gz ba807ae5b29aca611a35700a968a4f9010528d6cdb6412f98c707aa0e9510e8b guix-build-ea7b8528490d/output/arm-linux-gnueabihf/SHA256SUMS.part fe127eff1fc8389ef00ae39d1446640512120d2f247a2ee64c06290116265729 guix-build-ea7b8528490d/output/arm-linux-gnueabihf/bitcoin-ea7b8528490d-arm-linux-gnueabihf-debug.tar.gz ac75f0aba2e0801fc6b59405bff09884837e0ff8b6fa9fc1225e8325a4ec78a4 guix-build-ea7b8528490d/output/arm-linux-gnueabihf/bitcoin-ea7b8528490d-arm-linux-gnueabihf.tar.gz dee402db94829bd5ce029ca02d75e008f8a18a44fd88e8ecd00b3ce586f223f4 guix-build-ea7b8528490d/output/arm64-apple-darwin/SHA256SUMS.part bbf985dbd1ca875fbb0a03c21698d4b6797c27be45e3a31a3229daee0ecbcbf4 guix-build-ea7b8528490d/output/arm64-apple-darwin/bitcoin-ea7b8528490d-arm64-apple-darwin-unsigned.dmg 3cca89e532a2b637185ca316168b0f6fac2fce8795b486d530ee966a844716f1 guix-build-ea7b8528490d/output/arm64-apple-darwin/bitcoin-ea7b8528490d-arm64-apple-darwin-unsigned.tar.gz 487c68e1a71f6254d48f8d322a46c94e671e00b5930fbfe689804cd8e379c8e9 guix-build-ea7b8528490d/output/arm64-apple-darwin/bitcoin-ea7b8528490d-arm64-apple-darwin.tar.gz db663cf3216871f4c87b687a839cb5cf18b5d9906b74d4c19e8ad422d904aa87 guix-build-ea7b8528490d/output/dist-archive/bitcoin-ea7b8528490d.tar.gz 09121bcd36d72ad26364182c678f2edaaf5b5e635ed43a6964ad7e4be1335075 guix-build-ea7b8528490d/output/powerpc64-linux-gnu/SHA256SUMS.part e8638959b501c3d70421dcdc6579c5d77c5786abed7ad3d6051c628fd8f17c6b guix-build-ea7b8528490d/output/powerpc64-linux-gnu/bitcoin-ea7b8528490d-powerpc64-linux-gnu-debug.tar.gz b1aee39067d5010b4e63dc916232eb1582299d7acb56afacf5c9a5b75dcd8b82 guix-build-ea7b8528490d/output/powerpc64-linux-gnu/bitcoin-ea7b8528490d-powerpc64-linux-gnu.tar.gz 9ed3d0e710847068cb2064e51e3f4c14166ad86f5c297adcf0a4d24cd4e2a723 guix-build-ea7b8528490d/output/powerpc64le-linux-gnu/SHA256SUMS.part 19f99e41f41d9525a412872e61687452ab5ac23c5c964ef34b8c31a9d71adabc guix-build-ea7b8528490d/output/powerpc64le-linux-gnu/bitcoin-ea7b8528490d-powerpc64le-linux-gnu-debug.tar.gz bd669150ce6830ffbd8523acf75b6daf894c9449c6ce3073a9ce89156d9268f9 guix-build-ea7b8528490d/output/powerpc64le-linux-gnu/bitcoin-ea7b8528490d-powerpc64le-linux-gnu.tar.gz 5e42cb1fee7b5b046da37f62674a1662a6135f9644f5ea0288876334c3e8d34a guix-build-ea7b8528490d/output/riscv64-linux-gnu/SHA256SUMS.part 8767a84e04e0cd27318305d31a5a897cdc5f56d8505416dd01753bb35c8980b0 guix-build-ea7b8528490d/output/riscv64-linux-gnu/bitcoin-ea7b8528490d-riscv64-linux-gnu-debug.tar.gz 00f1abcc64a7010f194dab847c04481e10991128b919b513aa9eb2911d03a243 guix-build-ea7b8528490d/output/riscv64-linux-gnu/bitcoin-ea7b8528490d-riscv64-linux-gnu.tar.gz ae7add2e3ea0663fdd9d2c61c737e4bb4155d42932a0a5ce8cbbbcee627f01f3 guix-build-ea7b8528490d/output/x86_64-apple-darwin/SHA256SUMS.part ba6b4a2f6a97e382a10ffec605f025d8724ac2dc0a441dbb42be79e915e98738 guix-build-ea7b8528490d/output/x86_64-apple-darwin/bitcoin-ea7b8528490d-x86_64-apple-darwin-unsigned.dmg 67914f29d9e81ee50b340c3ac05b336b98766b59b8cce153493786b04a51f18a guix-build-ea7b8528490d/output/x86_64-apple-darwin/bitcoin-ea7b8528490d-x86_64-apple-darwin-unsigned.tar.gz 1d813d0e905a324f48beb2ce1da980e372c529b0eadb521662063f283fbc9bf6 guix-build-ea7b8528490d/output/x86_64-apple-darwin/bitcoin-ea7b8528490d-x86_64-apple-darwin.tar.gz 4e3d176ad9059e59e9b21919001ced2710c74229536b27ef65acef514287f7e5 guix-build-ea7b8528490d/output/x86_64-linux-gnu/SHA256SUMS.part cbe31f4a60aac1a72bcdedccf39c18da21a5a4e257e77c0832ad93ce722923dd guix-build-ea7b8528490d/output/x86_64-linux-gnu/bitcoin-ea7b8528490d-x86_64-linux-gnu-debug.tar.gz d5f3cf53adf1d964cded3461b66199c4917715af0d84cac78c97acc92432b059 guix-build-ea7b8528490d/output/x86_64-linux-gnu/bitcoin-ea7b8528490d-x86_64-linux-gnu.tar.gz 9b1877d00fd447222839615cfeb089a8237f1d5d80cd2b819dd66621df8f2375 guix-build-ea7b8528490d/output/x86_64-w64-mingw32/SHA256SUMS.part 2fb88e40dd399a2dedb1a44c5bd1091899b00a6d3b8d99149f622a0069205560 guix-build-ea7b8528490d/output/x86_64-w64-mingw32/bitcoin-ea7b8528490d-win64-debug.zip 074ce203494dc15c916c151426438f09982a270f389cd139d3f28a75aea51af8 guix-build-ea7b8528490d/output/x86_64-w64-mingw32/bitcoin-ea7b8528490d-win64-setup-unsigned.exe 2aa8ff735ce96580fb915757ccce79dc2a19afb043a6c93d3749023ca647666d guix-build-ea7b8528490d/output/x86_64-w64-mingw32/bitcoin-ea7b8528490d-win64-unsigned.tar.gz 0ac19e1901506c47d5b20297d468dbaa93e8572232671a16d08355988df8e7c3 guix-build-ea7b8528490d/output/x86_64-w64-mingw32/bitcoin-ea7b8528490d-win64.zip ``` ACKs for top commit: fanquake: ACK ea7b852 Tree-SHA512: 75c154d2195e2e8cf2e2786c08bc5096b07027715f559fc81c1ce221ce74c2732e745b74809d7c4a9f909a1018399a07329abd993e50ecec91dd95518fce0b39
…ch tests for c44f3f2 test: Explicitly specify directory where to search tests for (Hennadii Stepanov) Pull request description: For out-of-source builds, the `test/functional/test_runner.py` is supposed to be run from the build directory which allows it to pick the `test/config.ini` file generated by the build system. Currently, it works accidently for the following reasons: - on POSIX systems, when running a created by Autoconf symlink to the `test/functional/test_runner.py` in the source directory, it actually has the source directory location in the `sys.path`. - on Windows (the `build_msvc` directory) VS project puts and copies every build artifact into the source tree (which is wrong and ugly). This PR makes `test/functional/test_runner.py` work from a build directory in any form (a symbolic link, a hard link, a copy) on _all_ supported platforms, which is highly desirable in the upcoming [CMake-based build system](bitcoin#25797). For the current master branch, this PR has no behaviour change. Required for hebasto#15. --- **Steps to reproduce the issue** While the issue is mostly specific to Windows and CMake builds, it is still possible to reproduce it on the current master branch. 1. Make an out-of-source build: ``` $ ./autogen.sh $ mkdir ../build && cd ../build $ ../bitcoin/configure $ make ``` 2. Note that Autoconf created a symbolic link `test/functional/test_runner.py` in the `../build` directory: ``` $ ls -l test/functional/test_runner.py lrwxrwxrwx 1 hebasto hebasto 47 May 5 17:40 test/functional/test_runner.py -> ../../../bitcoin/test/functional/test_runner.py ``` which works flawlessly. 3. However, replacing this symbolic link with a hard link or a copy of `test/functional/test_runner.py` from the source tree will cause the following error: ``` $ cp ../bitcoin/test/functional/test_runner.py test/functional/test_runner.py $ ls -l test/functional/test_runner.py $ ./test/functional/test_runner.py Temporary test directory at /tmp/test_runner_₿_🏃_20230505_175104 Running Unit Tests for Test Framework Modules E ====================================================================== ERROR: test_framework (unittest.loader._FailedTest) ---------------------------------------------------------------------- ImportError: Failed to import test module: test_framework Traceback (most recent call last): File "/usr/lib/python3.10/unittest/loader.py", line 154, in loadTestsFromName module = __import__(module_name) ModuleNotFoundError: No module named 'test_framework' ---------------------------------------------------------------------- Ran 1 test in 0.000s FAILED (errors=1) Early exiting after failure in TestFramework unit tests ``` ACKs for top commit: stickies-v: re-ACK bitcoin@c44f3f2 MarcoFalke: lgtm ACK c44f3f2 💸 Tree-SHA512: 622ff629080a55f76dd4c1dab6699de0e9f06b75da3315cd3b31b972ef4bde746458bf3e8a95e879b3c6a63be2368af70005a83f6a3c85c4f1ba5be51e91a61d
4fe5f3c depends: remove redundant stdlib option (Cory Fields) Pull request description: Like bitcoin#27628, this is another dependency of bitcoin#21778, though it doesn't become obvious until used with a newer clang. This should be a no-op. Use of -stdlib++-isystem gets rid of any system c++ header include paths and negates the need for this option. In newer versions of clangs the combo produces an annoying warning that actually causes problems during configure. ACKs for top commit: fanquake: ACK 4fe5f3c Tree-SHA512: 904072f2b13dffbbeab2bc9ff20a74969888502fa1ea35d9030784dd397c6751e31233e6ec7dc34e9fd42574950be733b25d6653c2a93e214cc5e4eef2e0133a
a7b46a1 test: added coverage to mining_basic.py (kevkevin) Pull request description: Included a test that checks if we call submitblock with block.vtx.empty() then it throws an rpc deserialization error, currently we only test if !block.vtx->IsCoinBase() throws an rpc deserialization error I've tested to make sure this actually doing what I intended by breaking up this if block into two if blocks with different error messages and running the functional test https://github.com/bitcoin/bitcoin/blob/322ec63b01499c1ec52d3912ee382ebd59f2366b/src/rpc/mining.cpp#L963 This change should increase the test coverage for the `submitblock()` rpc in `./src/rpc/mining.cpp` ACKs for top commit: theStack: ACK a7b46a1 Tree-SHA512: 4078cb1fa879cc9e34438319f73085b521b90a5a95348b23e494cf8e5ac792ec426bc0e1a63e949645e16afebe54c5f35a194f02e20b7273871163d89a5c44e6
65e3abc doc: document json rpc endpoints (willcl-ark) Pull request description: fixes bitcoin#20246 This documents the two JSON-RPC endpoints available, details when they are active, specifies when they can or must be used, and outlines some known behaviour quirks. ACKs for top commit: fanquake: ACK 65e3abc - Seems fine. Can be improved if need be. Tree-SHA512: d557c2caf000a1bdd7b46c9da38afe63dc28446ba4a961526f1af3cec81d994a9da663e02c81ebdc4f609b794585349cfca77a582dc1e788c120de1d3b4c7db6
…sub} before doing so fc6c17b build: make sure we can overwrite config.{guess,sub} (0xb10c) Pull request description: Since ea7b852 (bitcoin#26422), `autogen.sh` overwrites the `build-aux/config.{guess, sub}` files (installed there by `autoreconf`) with the `depends/config.{guess, sub}` files if these are newer. The `autoreconf` tool copies them from it's `share/autoconf/build-aux/` directory. Specifically on NixOS, the `share/autoconf/build-aux/` files are located in the nix-store and are read-only. `autoreconf` preserves the read-only permissions when copying. Overwriting them with our `depends/config.{guess, sub}` files subsequently fails. To make sure we can overwrite the files, set write permissions to the current user and group before overwriting. This fixes the problem on NixOS. fixes bitcoin#27873 ACKs for top commit: dergoegge: tACK fc6c17b fanquake: ACK fc6c17b Tree-SHA512: e8a31f739d5b598b2fe9fe6fc3d02303c117a6adccc49b8d0fea4980027a64f915a0e1e00e4788dce6113ef1b9ec9acf9e4164486f6e4904bad405f20b6746a0
14405e8 doc: test: update TestShell instructions (ismaelsadeeq) Pull request description: Fixes bitcoin#27904 From bitcoin#27904 and IRC. Update [Testshell instructions ](https://github.com/bitcoin/bitcoin/blob/master/test/functional/test-shell.md#2-importing-testshell-from-the-bitcoin-core-repository) E.g `TestShell.setup()` throws ``` AttributeError: type object 'TestShell' has no attribute 'setup' ``` Parentheses are missing, it should be `TestShell().setup()` ACKs for top commit: Sjors: utACK 14405e8 brunoerg: crACK 14405e8 hernanmarino: utACK 14405e8 Tree-SHA512: ffe5fa1103a3b00ef0ee99879adae967b0da07cb8f8451c4c261b0a70b3b666af7aeaacd6f46f85a84ee5e9c7c7ed49700209b5b1f124d7a76efc420ad5c9cd9
…nstead of round trip through GetFee 11d6500 feerate: For GetFeePerK() return nSatoshisPerK instead of round trip through GetFee (Andrew Chow) Pull request description: Returning the sats/kvb does not need to round trip through GetFee(1000) since the feerate is already stored as sats/kvb. Fixes bitcoin#27913, although this does bring up a larger question of how we should handle such large feerates in fuzzing. ACKs for top commit: furszy: Code ACK 11d6500 Tree-SHA512: bec1a0d4b572a0c810cf7eb4e97d729d67e96835c2d576a909f755b053a9707c2f1b3df9adb8f08a9c4d310cdbb8b1e1b42b9c004bd1ade02a07d8ce9e902138
…sing whole bytes. 5fc4939 Added static_assert to check that base_blob is using whole bytes. (Brotcrunsher) Pull request description: Prior to this commit it was possible to create base_blobs with any arbitrary amount of bits, like base_blob<9>. One could assume that this would be a valid way to create a bit field that guarantees to have at least 9 bits. However, in such a case, base_blob would not behave as expected because the WIDTH is rounded down to the closest whole byte (simple integer division by 8). This commit makes sure that this oddity is detected and blocked by the compiler. ACKs for top commit: MarcoFalke: lgtm ACK 5fc4939 theStack: ACK 5fc4939 stickies-v: ACK 5fc4939 Tree-SHA512: 6a06760f09d4a9e6f0b9338d4dddd4091f2ac59a843a443d9302959936d72c55f7cccd55a51ec3a5a799921f68be1b87968ef3c9c11d3389cbd369b5045bb50a
ab8f673 doc: Fix verify-binaries link in contrib README (TheCharlatan) Pull request description: ACKs for top commit: Zero-1729: crACK ab8f673 theStack: ACK ab8f673 Tree-SHA512: 901d99b897d0b4b1af612e5650e84530252d96b5b49bc4f87c512af993abe32e6494e7248bb7ce3eb7c5ff7377a949980f143007446e3720450146367e346519
c1247c3 docs: fixup honggfuzz patch (fanquake) Pull request description: Closes bitcoin#28019. ACKs for top commit: brunoerg: ACK c1247c3 Tree-SHA512: 3f2d146d3d0c24fd25458f6a41e2d20bf6024fc0ea9942ee6254a1b6d0e3c017c55fe79dfbf90652cad64a4d6f026f463b0011dfab065b3d9754ca7047018084
fabed7e test: Restore unlimited timeout in IndexWaitSynced (MarcoFalke) Pull request description: The timeout was unlimited before, so just restore that value for now: bitcoin#27988 (comment) . (Strictly speaking, this is a behavior change for the blockfilterindex and txindex tests, because it only restores the coinstatsindex behavior.) ACKs for top commit: ajtowns: utACK fabed7e mzumsande: ACK fabed7e furszy: ACK fabed7e Tree-SHA512: 66a878be58bbe53ad8e0c23f05569dd42df688be747551fbd202ada22d20a8285714e58fa2a71664deadb070ddf86cfad88c01042ff95ed26f6b40e4a10cec0a
89ba890 test: indexes, fix on error infinite loop (furszy) Pull request description: Coming from bitcoin#28036 (comment), I thought that we were going to fix it there but seems that got merged without it for some reason. As index sync failures trigger a shutdown request without notifying `BaseIndex::BlockUntilSyncedToCurrentChain` in any way, we also need to check whether a shutdown was requested or not inside 'IndexWaitSynced'. Otherwise, any error inside the index sync process will hang the test forever. ACKs for top commit: MarcoFalke: lgtm ACK 89ba890 jamesob: ACK 89ba890 ryanofsky: Code review ACK 89ba890. Just comment update since last review Tree-SHA512: 1f6daf34e51d3fbc802799bfa4ac0ef0d8f774db5f9e2f5d35df18a77679778475c94efc3da1fb723ebaf3583e4075e4a5cbe4a5104ad0c50e2b32076e247b29
4da243b qt: show own outputs on PSBT signing window (Hernan Marino) Pull request description: This fixes bitcoin-core/gui#732 . It allows you to identify your own addresses in the outputs of a transaction in the PSBT signing window. This enables easy identification of change outputs, and prevents certain attacks where someone (co-signers of a multisig, or others ) might trick you into signing a transaction while they are stealing the change, since prior to this modification there was no easy way of knowing this. The identification of the output is similar to the way this is done in the transaction details window. A sample output is : ![image](https://github.com/bitcoin-core/gui/assets/87907936/48b8a652-7570-466b-9a34-cc0303c86d8c) ACKs for top commit: achow101: ACK 4da243b jarolrod: ACK 4da243b Tree-SHA512: fa9901d2acc84472c11afcd0a59a859db598cdf5cea755b492178d3e7434b70d9bd8f554928938a2ff9920c8f397fef814ce14b416556c30fba0c3c1f62cd722
05ef059 doc: update windows -fstack-clash-protection doc (fanquake) Pull request description: Now that changes have been made in GCC, to fix the build failures. See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90458. ACKs for top commit: TheCharlatan: ACK 05ef059 hebasto: ACK 05ef059, I've verified that the fix commit is present in all branches starting from `gcc-11`. Tree-SHA512: 96b79d65b46e6b9d939c8e6079e984da86987503210106d5155dbe5a6fd82d56d9983694656e27156b01bab795c766b85fc60c799813bc676bba5f3b73f9be22
70500c9
to
d573e4f
Compare
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 d573e4f
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 d573e4f
@@ -36,5 +36,5 @@ Test and Verify Tools | |||
### [TestGen](/contrib/testgen) ### | |||
Utilities to generate test vectors for the data-driven Dash tests. | |||
|
|||
### [Verify Binaries](/contrib/verifybinaries) ### | |||
### [Verify-Binaries](/contrib/verify-binaries) ### | |||
This script attempts to download and verify the signature file SHA256SUMS.asc from bitcoin.org. |
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.
28013 - (note) - we should dashify contrib/verify-binaries
once, should we?
@@ -14,3 +14,12 @@ fi | |||
command -v autoreconf >/dev/null || \ | |||
(echo "configuration failed, please install autoconf first" && exit 1) | |||
autoreconf --install --force --warnings=all | |||
|
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.
26422 - should wait guix builds just in case before get merged.
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.
guix was happy here: 70500c9
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.
mostly LGTM
It can service both wallet and non-wallet requests. | ||
It MUST be used for wallet requests when two or more wallets are loaded. | ||
|
||
This is the endpoint used by bitcoin-cli when a `-rpcwallet=` parameter is passed in. |
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.
(27225) nit: Dashify
@@ -36,5 +36,5 @@ Test and Verify Tools | |||
### [TestGen](/contrib/testgen) ### | |||
Utilities to generate test vectors for the data-driven Dash tests. | |||
|
|||
### [Verify Binaries](/contrib/verifybinaries) ### | |||
### [Verify-Binaries](/contrib/verify-binaries) ### |
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.
(28013) It's still named verifybinaries
(source)
Issue being fixed or feature implemented
Batch of trivial backports
What was done?
See commits
How Has This Been Tested?
built locally; large combined merge passed tests locally
Breaking Changes
Should be none
Checklist:
Go over all the following points, and put an
x
in all the boxes that apply.