https://git.schokokeks.org/derivepassphrase.git/tree/af40d3b552a6dec8b42833ecc2dfd32c8894f76eRecent commits to derivepassphrase.git (af40d3b552a6dec8b42833ecc2dfd32c8894f76e)2025-03-13T13:21:20+01:00tag:gitlist.org,2012:commit/af40d3b552a6dec8b42833ecc2dfd32c8894f76eAdd PyPy 3.11 to the test matrix2025-03-13T13:21:20+01:00Marco Riccisoftware@the13thletter.info
<pre></pre>
tag:gitlist.org,2012:commit/a4ad05723414662d9df1607034c5dd7d646f1b49Merge topic branch 'concurrency-audit' into master2025-03-13T13:18:24+01:00Marco Riccisoftware@the13thletter.info
<pre>* concurrency-audit:
Document the results of the concurrency audit
Lock the derivepassphrase CLI against concurrent updating
Lock derivepassphrase internals against concurrent updating
GitHub: Closes #22.
</pre>
tag:gitlist.org,2012:commit/77e030e7f8bbefea236a0a0a1682efb558fe0225Document the results of the concurrency audit2025-03-13T13:17:03+01:00Marco Riccisoftware@the13thletter.info
<pre></pre>
tag:gitlist.org,2012:commit/78e5b9a8cc2bbb89f353e2bbec41da405c5b0ad2Lock the derivepassphrase CLI against concurrent updating2025-03-02T16:27:06+01:00Marco Riccisoftware@the13thletter.info
<pre>In a very coarse manner, after command-line parsing, detect whether the
CLI operation is a read-write operation or a read-only one, and if it is
read-write, run the whole operation while holding a lock.
The lock is held on a temporary file whose basename is dependent on the
full path to the `derivepassphrase` configuration directory. The file
is stored in the system temporary directory if possible, and will be
synchronized using `msvcrt.locking` or `fcntl.flock`, whichever is
appropriate.
Coverage checking for the Windows-specific application code is disabled
because we have no Windows runners for the test suite. The test suite
itself merely adds tests for the temporary directory function, but is
otherwise unchanged.
</pre>
tag:gitlist.org,2012:commit/108aaae9f0cf3b1c6e9ff12e9c401418962beca4Lock derivepassphrase internals against concurrent updating2025-02-28T20:08:07+01:00Marco Riccisoftware@the13thletter.info
<pre>Specifically, protect the attributes of Sequin and
VaultNativeConfigParser objects (and derived objects) from concurrent
modification via threading locks, and document that they are
thread-safe.
</pre>
tag:gitlist.org,2012:commit/dc2aea28893dadd6cd5956a0cb15b6bdb2633387Merge branch 'documentation-fixes'2025-02-21T22:52:10+01:00Marco Riccisoftware@the13thletter.info
<pre>* documentation-fixes:
Document version output contents in the manpages
Update the `--help` and `--version` texts in the manpages
Consult the version output in the documentation where it makes sense
Mention support for other Python distributions in README
Fix a minor documentation nitpick in the tests
Update the install instructions in the README
Re-consolidate test parametrizations for notes-related tests
Fix minor formatting errors in the manpages
Fix minor nitpicks in tests
</pre>
tag:gitlist.org,2012:commit/530a933b5581e5cb03b6f1ef47116d53a54e773cDocument version output contents in the manpages2025-02-21T22:48:47+01:00Marco Riccisoftware@the13thletter.info
<pre>Document the specific lists of items the version output contains,
separately, for each subcommand.
</pre>
tag:gitlist.org,2012:commit/a0d70c70aaced3fa1d2554a3f53b53900f2e5810Update the `--help` and `--version` texts in the manpages2025-02-21T22:31:36+01:00Marco Riccisoftware@the13thletter.info
<pre></pre>
tag:gitlist.org,2012:commit/3a87b8a1ea91c0964616f9308f5235d27e27f66bConsult the version output in the documentation where it makes sense2025-02-21T22:08:27+01:00Marco Riccisoftware@the13thletter.info
<pre>Whereever we present the version output, or whereever we could
reasonably query the feature set of this `derivepassphrase`
installation, show the output of the `--version` option in the
documentation.
</pre>
tag:gitlist.org,2012:commit/a70b3ebac57f2a1ba070ea2d124748b7453722e9Mention support for other Python distributions in README2025-02-21T21:22:06+01:00Marco Riccisoftware@the13thletter.info
<pre>This concerns PyPy, which we test for, and GraalVM/GraalPy, which we
don't.
</pre>