Commit Graph

877 Commits

Author SHA1 Message Date
1feef5c54a keyring: add packager key: anthraxx (initial import) 2021-12-09 22:42:15 +01:00
67b90b96a3 keyring: add packager key: angvp (initial import) 2021-12-09 22:42:15 +01:00
ca7124c9b4 keyring: add packager key: andyrtr (initial import) 2021-12-09 22:42:15 +01:00
5bdd6448d1 keyring: add packager key: andrewSC (initial import) 2021-12-09 22:42:15 +01:00
a6cbb72a18 keyring: add packager key: andrea (initial import) 2021-12-09 22:42:15 +01:00
1a8d660678 keyring: add packager key: anatolik (initial import) 2021-12-09 22:42:15 +01:00
d5b5e69fa5 keyring: add packager key: ambrevar (initial import) 2021-12-09 22:42:15 +01:00
263613c91a keyring: add packager key: alucryd (initial import) 2021-12-09 22:42:15 +01:00
7f7522811d keyring: add packager key: allan (initial import) 2021-12-09 22:42:14 +01:00
4e1eed483a keyring: add packager key: alex19ep (initial import) 2021-12-09 22:42:14 +01:00
39bd07f34e keyring: add packager key: alerque (initial import) 2021-12-09 22:42:14 +01:00
abb89f65e7 keyring: add packager key: alad (initial import) 2021-12-09 22:42:14 +01:00
dca954a9b1 keyring: add packager key: ainola (initial import) 2021-12-09 22:42:14 +01:00
d7f47192b7 keyring: add packager key: aginiewicz (initial import) 2021-12-09 22:42:14 +01:00
28fcfc50f4 keyring: add main key: thomas (initial import) 2021-12-09 22:42:14 +01:00
64aabc08c1 keyring: add main key: pierre (initial import) 2021-12-09 22:42:14 +01:00
7b74d90df9 keyring: add main key: ibiru (initial import) 2021-12-09 22:42:14 +01:00
5f5e744b75 keyring: add main key: florian (initial import) 2021-12-09 22:42:13 +01:00
9ee625acd8 keyring: add main key: dvzrv (initial import) 2021-12-09 22:42:13 +01:00
f93ce2137e keyring: add main key: dan (initial import) 2021-12-09 22:42:13 +01:00
508cd13ad3 keyring: add main key: bpiotrowski (initial import) 2021-12-09 22:42:13 +01:00
b060ecaa53 keyring: add main key: anthraxx (initial import) 2021-12-09 22:42:13 +01:00
9cc0e0cf00 keyring: add main key: allan (initial import) 2021-12-09 22:42:07 +01:00
37ad62d6e5 feature(keyringctl): add clean functionality to match import-clean
De-duplicate not needed certifications by cleaning the keyring after
import to remove old files when processing revocations. This basically
adds the functionality compared to import-clean.
2021-12-08 20:50:45 +01:00
d0ea790c6a fix(make): use proper dependency tracking for the build output
Declare the whole keyring data as well as the code as input dependency
for the build target. This way we can properly depend on the build
target for installation without forcing rebuilding on every invocation.

A rebuild will be triggered if either the keyring or the source code
creating the build output changes.

The directories are added to the source dependencies on purpose to
guarantee that changes like deleted files will result in a rebuild.

The mtime of the build directory is force updated on every run to allow
make to track the output artifacts mtime compared against the
dependencies.
2021-11-30 22:54:17 +01:00
0ceb6c743e fix(keyringctl): avoid simplified uid collisions using a hash
Add a postfix hash of the raw uid data to the filenames to avoid
collisions with the simplified uid.
2021-11-30 22:54:17 +01:00
4821087b2b feature(keyringctl): mark main keys bold during inspect highlight 2021-11-30 22:54:17 +01:00
b32c37bec1 feature(keyringctl): raise exception on duplicate uid data 2021-11-30 22:54:17 +01:00
b653edfcdc feature(keyringctl): add trust and colors to inspect output 2021-11-30 22:54:17 +01:00
c651bdc61e feature(keyringctl): add option to filter listing by trust 2021-11-30 22:54:17 +01:00
e9dc04df32 feature(keyringctl): split direct key packets into own directory 2021-11-30 22:54:16 +01:00
31a49c89a3 Fail test target under 100% test coverage
Makefile:
Fail coverage report below 100% test coverage.
2021-11-30 22:54:16 +01:00
e43a28f4a7 Simplify libkeyringctl.keyring.convert_certificate
libkeyringctl/keyring.py:
Simplify `convert_certificate()` by splitting out the conversion of
signature packets to `convert_signature_packet()` and the persistence of
packet material to `persist_key_material()`.
Add `convert_pubkey_signature_packet()`,
`convert_uid_signature_packet()` and
`convert_subkey_signature_packet()` to deal with the conversion of
public key signatures, UID signatures and subkey signatures
(respectively).

tests/test_keyring.py:
Add tests for `convert_certificate()`, `convert_signature_packet()`,
`convert_{pubkey,uid,subkey}_signature_packet()` and
`persist_subkey_revocations()`.
2021-11-30 22:54:16 +01:00
bb30e3d2fd Add tests for list and inspect functions
tests/test_keyring.py:
Add tests for `list_keyring()` and `inspect_keyring()`.
2021-11-30 22:54:16 +01:00
743d2bb3bb Add tests for introspection and export
libkeyringctl/keyring.py:
Change `get_packets_from_path()` to use full conditional statements
which is easier to cover in tests.

tests/test_keyring.py:
Add simple tests for `get_packets_from_path()`,
`get_packets_from_listing()`, `export()` and `build()`.
2021-11-30 22:54:16 +01:00
8689995b69 feature(keyringctl): yell and abort if processing private key data 2021-11-30 22:54:16 +01:00
5a83a7b6c1 feature(keyringctl): skip user attribute packets as none relevant 2021-11-30 22:54:16 +01:00
3d8e88dfaf Add tests for convert and export functionality
tests/test_keyring.py:
Add basic tests for `convert()`, `export_ownertrust()` and
`export_revoked()`.
2021-11-30 22:54:16 +01:00
e8fb9d17b3 chore(keyringctl): add test for simplify_ascii 2021-11-30 22:54:16 +01:00
83a345a1b8 feature(keyringctl): rework ci module to execute full lint for new certs 2021-11-30 22:54:16 +01:00
bce5bc550e feature(keyringctl): rework str simplification for printable uids 2021-11-30 22:54:16 +01:00
2030de06a0 fix(keyringctl): set HOME, PATH, LANG required for hokey
This effectively requires en_US.UTF-8 to be an available lang, which is
a relative fair requirement and mandatory to set for hokey.
2021-11-30 22:54:15 +01:00
f74a1be1ac chore(keyringctl): add integrity checks for binding/revocation sigs 2021-11-30 22:54:15 +01:00
9741ada9ef fix(keyringctl): put subkey revocations into the correct subkey dirs 2021-11-30 22:54:15 +01:00
17d27e2274 Add unit test for libkeyringctl.sequoia.packet_kinds
tests/test_sequoia.py:
Add unit test for libkeyringctl.sequoia.packet_kinds.
2021-11-30 22:54:15 +01:00
5f36beff90 feature(ci): run keyring integrity check if keyring or code changes 2021-11-30 22:54:15 +01:00
0456e9a5f8 fix(tests): use working dir via fixture instead of cluttering cwd 2021-11-30 22:54:15 +01:00
ddf19a4362 Add first unit tests for libkeyringctl.keyring
tests/test_keyring.py:
Add tests for `is_pgp_fingerprint()`,
`transform_{fingerprint,username}_to_keyring_path()`,
`derive_username_from_fingerprint()` and get_fingerprints_from_paths()`.
2021-11-30 22:54:15 +01:00
16bed8ac4a Add fixtures for valid and invalid fingerprints
tests/conftest.py:
Add `valid_fingerprint()` and `valid_subkey_fingerprint()` fixtures to
produce a generic "valid" PGP fingerprint string.
Add the `invalid_fingerprint()` fixture to generate a set of "invalid"
fingerprint strings.
2021-11-30 22:54:15 +01:00
e42a895889 fix(keyringctl): add missing python-toml for coverage run 2021-11-30 22:54:15 +01:00