- 30 Nov, 2021 40 commits
-
-
Levente Polyak authored
This allows an easy to use cli which invokes the export function to get the keyring and uses the ownertrust and revoke functions to write all artifacts into a target directory.
-
Levente Polyak authored
-
Levente Polyak authored
This gives more control over the export command that may be useful to export a single packager to import it into gpg. This will also give more flexibility to chain this function to the future verify stage. By default the command exports the whole keyring directory.
-
Levente Polyak authored
-
Levente Polyak authored
-
Levente Polyak authored
-
Levente Polyak authored
-
Levente Polyak authored
Lets pass in a list of path's and reduce them to one set of path iterables. This allows us to specify multiple source files/directories
-
Levente Polyak authored
-
Levente Polyak authored
-
Levente Polyak authored
Both commands are basically doing the same with the same params except the target directory differs. Lets condense this behavior by using a single subcommand with a boolean options.
-
Levente Polyak authored
Instead of always returning an artificial name try to preserve the keyring filename if the split only yields a single certificate.
-
Levente Polyak authored
This helps to structure the layout of the repository better by having one root folder that contains the actual decomposed keyring structure.
-
Levente Polyak authored
So far we have used singular for all directories, lets keep that for the packager directory as well.
-
Levente Polyak authored
-
Levente Polyak authored
-
Levente Polyak authored
-
Levente Polyak authored
Allow short key id fingerprints to be used with the username derive function by adding a glob in front of the fingerprint component.
-
Levente Polyak authored
Move the name cascade to derive the username into the `convert_certificate` function which allows to use the certificate_fingerprint directly instead of trying to find it by splitting the certificate one more time before converting.
-
Levente Polyak authored
-
Levente Polyak authored
The certificate fingerprint in the convert function remains always the same as we only process a single certificate and loop outside over multiple keyrings. Therefor remove that layer from the data structures and implicitly simplify all the assignments and usages.
-
Levente Polyak authored
-
Levente Polyak authored
-
Levente Polyak authored
-
Levente Polyak authored
-
Levente Polyak authored
This drastically improves readability and type safety when joggling with different keys in the data structures.
-
pyproject.toml: Configure isort to use single lines (one line for each import) to ease merge conflicts. keyringctl: Reformat using new isort settings.
-
keyringctl: Add `get_fingerprints_from_import_source()` to derive all fingerprints of PGP public keys found in the import source. Add `get_fingerprints_from_decomposed_dir()` to derive all fingerprints of PGP public keys found in a directory structure holding decomposed PGP packet data. Add `get_fingerprints()` to derive a set of fingerprints of PGP public keys provided through `get_fingerprints_from_import_source()` and `get_fingerprints_from_decomposed_dir()`. Change `convert()` and `convert_certificate()` to accept an optional set of strings (`fingerprint_filter`) that may be used as a filter for valid fingerprints when considering certifications. Change `__main__` to call `convert()` when importing keys to packager or main dir, providing `fingerprint_filter` which will attempt to look up fingerprints in the source as well as the target.
-
keyringctl: Add `derive_user_from_target()` to derive the username from an existing public key in the target directory when importing (updates to) an already known key. Change `convert()` to either use a custom name override (if provided), a username derived from target dir (if existing) or the file name of the to be imported file as username.
-
keyringctl: Use black to format the file, isort to auto-sort all imports. Remove commented code and (for now) ignore the high complexity in `convert()` so that flake8 can be used.
-
keyringctl: Change `persist_certifications()` to not attempt to read UID binding signatures for a given UID, if it does not exist and instead output an error message.
-
keyringctl: Change `convert()` to create the target directory including parents. Change `export_keyring()` to create the output directory and its parents before outputting data into it. Remove `keyring_import()` as its functionality is covered by using `convert()` directly with different subcommands. Change `__main__` to define `import-main` and `import-packager` subcommands instead of `import` and to add an `export-keyring` subcommand. Remove the explicit creation of target dirs (it is now implemented in `convert()` and `export_keyring()`.
-
Levente Polyak authored
Instead of partially dealing with strings that contain slashes lets just use the path builder interface by using the operator for every sub path layer in a uniform way.
-
Levente Polyak authored
-
Levente Polyak authored
-
Levente Polyak authored
Use it to auto write a decompose/convert command into the local keyring automatically.
-
Levente Polyak authored
-
Levente Polyak authored
-
Levente Polyak authored
This is a lot easier to read and also fixes a style warning python issues.
-
Levente Polyak authored
It makes sense to prefix the temp directories so they can be identified more easily to which application they belong to or what they may contain.
-