bitcoin/contrib/verify-commits
Wladimir J. van der Laan 23e9074e0a
Merge #10771: Remove unused variables in shell scripts
ab8e8b9 Remove unused variables in shell scripts. (practicalswift)

Pull request description:

  Remove unused variables in shell scripts. Use `_` where we don't care about the result.

Tree-SHA512: 35049e79ee432c805f061456c32902a92811b5214d50ce6770b22d1442cc5999ed53cfe05bb2347f6995ca33c707a0f3fe92d5829c0385c4a3e254953924cbc4
2017-11-09 21:20:20 +01:00
..
allow-revsig-commits Add Pieter's old signed commits to revsig-commits 2017-02-27 20:24:20 -05:00
gpg.sh [verify-commits] Allow revoked keys to expire 2017-10-20 16:35:16 -04:00
pre-push-hook.sh [copyright] add MIT license headers to .sh scripts where missing 2016-09-11 13:36:22 -06:00
README.md Add README for verify-commits 2016-06-09 13:58:29 -04:00
trusted-git-root Remove keys that are no longer used for merging 2016-05-21 11:29:01 +02:00
trusted-keys Allow any subkey in verify-commits 2017-03-04 09:41:16 -05:00
trusted-sha512-root-commit Update trusted-sha512-root-commit for new bad tree hash 2017-03-09 09:53:19 -05:00
verify-commits.sh Merge #10771: Remove unused variables in shell scripts 2017-11-09 21:20:20 +01:00

Tooling for verification of PGP signed commits

This is an incomplete work in progress, but currently includes a pre-push hook script (pre-push-hook.sh) for maintainers to ensure that their own commits are PGP signed (nearly always merge commits), as well as a script to verify commits against a trusted keys list.

Using verify-commits.sh safely

Remember that you can't use an untrusted script to verify itself. This means that checking out code, then running verify-commits.sh against HEAD is not safe, because the version of verify-commits.sh that you just ran could be backdoored. Instead, you need to use a trusted version of verify-commits prior to checkout to make sure you're checking out only code signed by trusted keys:

git fetch origin && \
  ./contrib/verify-commits/verify-commits.sh origin/master && \
  git checkout origin/master

Note that the above isn't a good UI/UX yet, and needs significant improvements to make it more convenient and reduce the chance of errors; pull-reqs improving this process would be much appreciated.