Recent commits to derivepassphrase.git (a9ce95dae2a203edfe8e00adf5fa2ab45d4fbfef) https://git.schokokeks.org/derivepassphrase.git/tree/a9ce95dae2a203edfe8e00adf5fa2ab45d4fbfef Recent commits feed provided by GitList. Support text string services names in Vault internal API https://git.schokokeks.org/derivepassphrase.git/commit/a9ce95dae2a203edfe8e00adf5fa2ab45d4fbfef m@the13thletter.info (Marco Ricci) Sun, 01 Sep 2024 14:55:36 +0200 a9ce95dae2a203edfe8e00adf5fa2ab45d4fbfef Fix the docstring of the vault native v0.2 exporter class The previous docstring was accidentally copy-pasted from the v0.3 class. https://git.schokokeks.org/derivepassphrase.git/commit/d23dd1ed824ba3112f9be11a5659838edbe43b39 m@the13thletter.info (Marco Ricci) Sun, 01 Sep 2024 14:28:13 +0200 d23dd1ed824ba3112f9be11a5659838edbe43b39 Rename `derivepassphrase.vault` test file to match naming convention https://git.schokokeks.org/derivepassphrase.git/commit/4701b329098224a8b84ab1826b312bd937de942a m@the13thletter.info (Marco Ricci) Sun, 01 Sep 2024 14:00:30 +0200 4701b329098224a8b84ab1826b312bd937de942a Apply new ruff ruleset to code base. Results in many cosmetical code changes, and many documentation fixes. (In particular, the docstring for `derivepassphrase.cli.derivepassphrase` contained typos in the option descriptions.) Furthermore, three other changes are made: - Ignore `FURB101` and `FURB103` as well, which deal with similar functionality to the deselected `PTH` rules. - Change the attributes of the `VaultNativeConfigParser` class (and its subclasses) to private, instead of public. Change the `DummyModule` class in `derivepassphrase.exporter.storeroom` and `derivepassphrase.exporter.vault_v03_and_below` to private as well. - The modules `derivepassphrase.exporter.storeroom` and `derivepassphrase.exporter.vault_v03_and_below` are now no longer executable files. https://git.schokokeks.org/derivepassphrase.git/commit/2d292af3e81527750e46a2167d30efe840ac58ca m@the13thletter.info (Marco Ricci) Sun, 01 Sep 2024 13:43:33 +0200 2d292af3e81527750e46a2167d30efe840ac58ca Merge topic branch 'clean-up-and-update-tool-configuration' into master * t/clean-up-and-update-tool-configuration: Upgrade ruff to 0.6, and redo configuration and rule selection Undo single-child hatch environment inheritance Specify project dependencies more clearly and explicitly Sort sections in pyproject.toml https://git.schokokeks.org/derivepassphrase.git/commit/ef40e2a2624047f1b02e87716f17d8569dc94bfb m@the13thletter.info (Marco Ricci) Sun, 01 Sep 2024 11:17:19 +0200 ef40e2a2624047f1b02e87716f17d8569dc94bfb Merge topic branch 'issue9-allow-all-unicode-passphrases' into master * t/issue9-allow-all-unicode-passphrases: Allow all textual strings, but warn on unnormalized ones GitHub: Closes #9. https://git.schokokeks.org/derivepassphrase.git/commit/aacd09bdcbdb01df7cb819396727d2427636b144 m@the13thletter.info (Marco Ricci) Sun, 01 Sep 2024 11:08:47 +0200 aacd09bdcbdb01df7cb819396727d2427636b144 Merge topic branch 'issue1-vault-config-exporter' into master * t/issue1-vault-config-exporter: Fix formatting and linting issues in exporter tests Add Changelog entry for the vault exporter Rename vault v0.2/v0.3 classes, and fix API weirdnesses and test coverage Add more tests of the storeroom format exporter's internals Test exporter data loading functionality more robustly Move exporter command-line interface into a separate module Add preliminary tests for the exporter Add command-line interface to the exporter Move vault key and path detection logic into the exporter module Add prototype for "vault v0.2/v0.3"-type data export Support exports from outside the current directory Add dependency on cryptography for the exporter Add an actual storeroom exporter, not just a reader Add docstrings and better variable names on storeroom exporter Add example for "storeroom"-type data export Add prototype for "storeroom"-type data export GitHub: Closes #1. https://git.schokokeks.org/derivepassphrase.git/commit/b4d8439fa4207b665ad8ea2217f21f807f603734 m@the13thletter.info (Marco Ricci) Sun, 01 Sep 2024 11:06:43 +0200 b4d8439fa4207b665ad8ea2217f21f807f603734 Fix formatting and linting issues in exporter tests https://git.schokokeks.org/derivepassphrase.git/commit/fb6913b190365893f3d5e83225a496c9061c6e54 m@the13thletter.info (Marco Ricci) Sun, 01 Sep 2024 11:05:14 +0200 fb6913b190365893f3d5e83225a496c9061c6e54 Upgrade ruff to 0.6, and redo configuration and rule selection hatch currently still defaults to ruff 0.4.5, which includes some now-deprecated rules and lacks some others. Furthermore, hatch's default configuration for ruff is very opinionated and not explained anywhere. Upgrading the ruleset to 0.6 still incurs the overhead of having to look at every single new ruff rule, determining whether it fits the hatch configuration, and allowing it. This is a similar amount of effort to enabling all of ruffs rules and deciding, based on the flagged violations, whether a rule or rule category is worth keeping. This has now been implemented: almost all rules are now selected, and the exceptions are documented in the project settings. (ruff actually includes documentation on linting rules that tend to get violated if ruff is also used for reformatting.) hatch is configured to use ruff 0.6 and this user configuration, ignoring its own default ruff configuration. Some further ruff settings are necessary, e.g. adapting the default copyright text template to match hatch's copyright text template, as is one new mypy setting (the "ignore-without-code" error). Note: the new ruleset has not actually been applied to the codebase yet, because the effect would be spread out across the codebase, and we expect multiple topic branches to be merged soon. https://git.schokokeks.org/derivepassphrase.git/commit/e109f3ac7c5c09b89816405e3ebc9dd195685024 m@the13thletter.info (Marco Ricci) Sun, 01 Sep 2024 10:22:13 +0200 e109f3ac7c5c09b89816405e3ebc9dd195685024 Allow all textual strings, but warn on unnormalized ones Remove the "check if Unicode string has unambiguous byte encoding" misfeature, which is based on an incorrect understanding of Unicode normalization forms. Also remove the `AmbiguousByteRepresentationError` class. Now we allow all textual strings as master passphrases. When storing a (master) passphrase to the configuration or when interactively generating a passphrase, we emit a warning if we detect that the master passphrase is not normalized (with the configured normalization form, stored in `.global.unicode_normalization_form`). https://git.schokokeks.org/derivepassphrase.git/commit/94068756e896574a397b4717388b02ed661a22a9 m@the13thletter.info (Marco Ricci) Sun, 01 Sep 2024 00:32:49 +0200 94068756e896574a397b4717388b02ed661a22a9