Merge branch 'master' of github.com:sobolevn/git-secret

This commit is contained in:
Josh Rabinowitz 2020-09-20 12:28:26 -04:00
commit ee6e917f37
6 changed files with 107 additions and 78 deletions

View File

@ -14,7 +14,7 @@
- name: Get ShellCheck - name: Get ShellCheck
get_url: get_url:
url: https://storage.googleapis.com/shellcheck/shellcheck-latest.linux.x86_64.tar.xz url: https://github.com/koalaman/shellcheck/releases/download/v0.7.1/shellcheck-v0.7.1.linux.x86_64.tar.xz
dest: /tmp/shellcheck.tar.xz dest: /tmp/shellcheck.tar.xz
- name: Install ShellCheck - name: Install ShellCheck

19
.github/workflows/misspell.yml vendored Normal file
View File

@ -0,0 +1,19 @@
name: misspell
on:
schedule:
- cron: '0 0 * * *'
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: sobolevn/misspell-fixer-action@0.1.0
- uses: peter-evans/create-pull-request@v2.4.4
with:
token: ${{ secrets.GITHUB_TOKEN }}
commit-message: 'Fixes by misspell-fixer'
title: 'Typos fix by misspell-fixer'

View File

@ -7,12 +7,14 @@
- In 'tell', warn about disabled, revoked, expired, or invalid keys (#552, #508, #317, #290, #283, #238) - In 'tell', warn about disabled, revoked, expired, or invalid keys (#552, #508, #317, #290, #283, #238)
- Error if 'tell' is used on an email address with multiple keys (#552) - Error if 'tell' is used on an email address with multiple keys (#552)
- Don't let 'reveal' clobber secret files (#579) - Don't let 'reveal' clobber secret files (#579)
- Updated test key fixture that had expired (#607)
### Misc ### Misc
- Improve docs about using gpg with git-secret (#577) - Improve docs about using gpg with git-secret (#577)
- Reflect changes in ruby bundler during build process - Reflect changes in ruby bundler during build process
- Upgrade build process to ansible 2.9 - Upgrade build process to ansible 2.9
- Use shellcheck 0.7.1 with CI, not 'latest' (#609)
## Version 0.3.2 ## Version 0.3.2

View File

@ -1,29 +1,35 @@
== public/private key pairs for test keys == public/private key pairs for test keys
* user1 and user2 are normal gpg key sets for user1@gitsecret.io and * git-secret test keys are named user1@gitsecret.io through
user2@gitsecret.io. They have the passphrases 'user1pass' and 'user2pass', user5@gitsecret.io
respectively.
user1 is not currently used.
* user3 was created by `gpg --quick-generate user3@gitsecret.io` * All test keysets have the passphrases 'userNpass' I.E., 'user3pass'
and therefore has only an email associated with it (no username). for user3@gitsecret.io.
It has the passphrase 'user3pass' as the tests expect.
This user was created to fix https://github.com/sobolevn/git-secret/issues/227 ,
"keys with no info but the email address not recognized by whoknows"
* user4 was created with `gpg --gen-key`, using the name 'user4' * The public/private key sets were exported with (for example)
and the email address user4@gitsecret.io. As the tests expect,
it has the passphrase 'user4pass'.
It is also set to expire on 2018-09-23. To make keys expire, I used the
`gpg --edit-key user@email` command's `expiry` function.
The public and private key for user4 were exported with
`gpg --export --armor user4 > tests/fixtures/gpg/user4/public.key` `gpg --export --armor user4 > tests/fixtures/gpg/user4/public.key`
and and
`gpg --export-secret-keys --armor user4 > tests/fixtures/gpg/user4/private.key` `gpg --export-secret-keys --armor user4 > tests/fixtures/gpg/user4/private.key`
* user5 was created for issue #527 using `gpg --full-generate-key`. * user1 and user2 are normal gpg key sets for user1@gitsecret.io and
with name 'user5', no email address, the comment 'comment comment', and user2@gitsecret.io, and have the passphrases 'user1pass' and 'user2pass'.
the passphrase 'user5pass'. Keys were exported as above.
* user3 was created by `gpg --quick-generate user3@gitsecret.io`
and therefore has only an email associated with it (no username).
This user was created to fix
https://github.com/sobolevn/git-secret/issues/227,
"keys with email address but no name not recognized by whoknows".
The passphrase is 'user3pass'.
* user4 was created with `gpg --gen-key`, using the name 'user4'
and the email address user4@gitsecret.io, and is also set to
expire on 2018-09-23.
To set the key's expiry, I used the
`gpg --edit-key user@email` command's `expiry` function.
The passphrase is 'user4pass'.
* user5 was created for issue #527, where keys were being rejected if they
didn't have an email address, and had whitespace in their 'comment'.
using `gpg --full-generate-key` with name 'user5', no email address,
the comment 'comment comment', and the passphrase 'user5pass'.

View File

@ -1,4 +1,5 @@
-----BEGIN PGP PRIVATE KEY BLOCK----- -----BEGIN PGP PRIVATE KEY BLOCK-----
Version: GnuPG v2.0.22 (GNU/Linux)
lQPGBFtLVc0BCACwGHyefi/z8xeH6KpLN2k9+PlHAPpwJaW+8siaWjbQenkbWX6/ lQPGBFtLVc0BCACwGHyefi/z8xeH6KpLN2k9+PlHAPpwJaW+8siaWjbQenkbWX6/
cVBFBwLNVCY+UacKNKVPxYDgS9UkAGlqD1GRGISh9uvIKW/w4T2LBxDQBGlYsTdL cVBFBwLNVCY+UacKNKVPxYDgS9UkAGlqD1GRGISh9uvIKW/w4T2LBxDQBGlYsTdL
@ -20,40 +21,40 @@ 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
t8BLVRdOiK5wCW5ErIHh7mpgpvRK4Q== iK5wCW5ErIHh7mpgpvRK4Q==
=3Kdr =wl8Z
-----END PGP PRIVATE KEY BLOCK----- -----END PGP PRIVATE KEY BLOCK-----

View File

@ -1,4 +1,5 @@
-----BEGIN PGP PUBLIC KEY BLOCK----- -----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v2.0.22 (GNU/Linux)
mQENBFtLVc0BCACwGHyefi/z8xeH6KpLN2k9+PlHAPpwJaW+8siaWjbQenkbWX6/ mQENBFtLVc0BCACwGHyefi/z8xeH6KpLN2k9+PlHAPpwJaW+8siaWjbQenkbWX6/
cVBFBwLNVCY+UacKNKVPxYDgS9UkAGlqD1GRGISh9uvIKW/w4T2LBxDQBGlYsTdL cVBFBwLNVCY+UacKNKVPxYDgS9UkAGlqD1GRGISh9uvIKW/w4T2LBxDQBGlYsTdL
@ -6,25 +7,25 @@ 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
S1UXToiucAluRKyB4e5qYKb0SuE= cAluRKyB4e5qYKb0SuE=
=XKbN =ccTC
-----END PGP PUBLIC KEY BLOCK----- -----END PGP PUBLIC KEY BLOCK-----