Marco Ricci commited on 2026-03-23 19:51:44
Zeige 7 geänderte Dateien mit 9 Einfügungen und 8 Löschungen.
| ... | ... |
@@ -7,7 +7,7 @@ |
| 7 | 7 |
<tr><th scope=col>Fixed-in<td colspan=2><a href="https://git.schokokeks.org/derivepassphrase.git/commit/e662c2e71c50e57f465fdeb8efb403ed77147e8c">e662c2e71c50e57f465fdeb8efb403ed77147e8c</a> (0.2.0) |
| 8 | 8 |
</table> |
| 9 | 9 |
|
| 10 |
-Except for those related to command-line parsing, all error messages in `derivepassphrase` are written to be useful to API users, not command-line end users. Currently, the command-line interface passes those errors through without modification, either via [default behavior of `click`](https://click.palletsprojects.com/en/8.1.x/api/#click.BaseCommand.main "see exception handling, in parameter 'standalone_mode'"), or by explicitly via [`ctx.fail`](https://click.palletsprojects.com/en/8.1.x/api.html#click.Context.fail). At the same time, the API uses standard error types directly if possible, and omits context that is already encoded in the error type. But this context is no longer available on the command-line because only the error message (and not the type) is relayed. |
|
| 10 |
+Except for those related to command-line parsing, all error messages in `derivepassphrase` are written to be useful to API users, not command-line end users. Currently, the command-line interface passes those errors through without modification, either via [the default behavior of `click`](https://click.palletsprojects.com/en/8.1.x/api/#click.BaseCommand.main "see exception handling, in parameter 'standalone_mode'"), or explicitly via [`ctx.fail`](https://click.palletsprojects.com/en/8.1.x/api.html#click.Context.fail). At the same time, the API uses standard error types directly if possible, and omits context that is already encoded in the error type. But this context is no longer available on the command-line because only the error message (and not the type) is relayed. |
|
| 11 | 11 |
|
| 12 | 12 |
<details class="admonition example"> |
| 13 | 13 |
<summary>Example (trying to set up SSH key use with derivepassphrase)</summary> |
| ... | ... |
@@ -7,10 +7,10 @@ |
| 7 | 7 |
<tr><th scope=col>Difficulty<td><i>tricky</i><td>Needs many tuits. |
| 8 | 8 |
<tr><th scope=col>Present-in<td colspan=2>0.1.0 0.1.1 0.1.2 0.2.0 0.3.0 0.3.1 0.3.2 0.3.3 <b>0.4.0</b> |
| 9 | 9 |
<tr><th scope=col>Fixed-in<td colspan=2>[a4ad05723414662d9df1607034c5dd7d646f1b49](https://git.schokokeks.org/derivepassphrase.git/commit/a4ad05723414662d9df1607034c5dd7d646f1b49) (0.5) |
| 10 |
- <tr><th scope=col>Blocks<td colspan=2>[concurrency-testing-in-test-suite](concurrency-testing-in-test-suite.md) |
|
| 10 |
+ <tr><th scope=col>Blocks<td colspan=2>[concurrency-testing-in-test-suite](concurrency-testing-in-test-suite.md){: .fixed }
|
|
| 11 | 11 |
</table> |
| 12 | 12 |
|
| 13 |
-`derivepassphrase` is not explicitly written with concurrency in mind. This may come around to bite us when the “free-threaded“ build of Python no becomes a main feature. |
|
| 13 |
+`derivepassphrase` is not explicitly written with concurrency in mind. This may come around to bite us when the "free-threaded" build of Python becomes a main feature. |
|
| 14 | 14 |
|
| 15 | 15 |
Irrespective of that, it is a good idea anyway to have a clear picture on which parts of `derivepassphrase` are not threadsafe, and to which degree. |
| 16 | 16 |
|
| ... | ... |
@@ -16,4 +16,4 @@ Once [concurrency-audit](concurrency-audit.md) is resolved, the thread-safety of |
| 16 | 16 |
|
| 17 | 17 |
-------- |
| 18 | 18 |
|
| 19 |
-This was implemented in 47376f4dcf2a2cc121df9b44b94b4036bf1bdb3b. |
|
| 19 |
+This was implemented in [47376f4dcf2a2cc121df9b44b94b4036bf1bdb3b](https://git.schokokeks.org/derivepassphrase.git/commit/47376f4dcf2a2cc121df9b44b94b4036bf1bdb3b). |
| ... | ... |
@@ -15,6 +15,7 @@ Of course, this version check in its current form is only a temporary measure, a |
| 15 | 15 |
|
| 16 | 16 |
-------- |
| 17 | 17 |
|
| 18 |
-> In [test-suite-isolated-ssh-agent](test-suite-isolated-ssh-agent.md), we encountered a bug in Pageant where the agent socket becomes undiscoverable if Pageant is spawned as a subprocess, in debug mode. We wrote and submitted a patch to upstream PuTTY, which will hopefully make it into PuTTY 0.82. [63b51df](https://git.schokokeks.org/derivepassphrase.git/commit/63b51df7a39fd642ca079ac390014d23f617b972) introduced a check for a fixed version of Pageant by asserting a version number 0.82 or greater, or by the presence of a specific build identifier. This check further enables running Pageant in foreground mode, which is a small feature request related to and submitted together with the patch above. |
|
| 18 |
+> In [test-suite-isolated-ssh-agent](test-suite-isolated-ssh-agent.md), we encountered a bug in Pageant where the agent socket becomes undiscoverable if Pageant is spawned as a subprocess, in debug mode. We wrote and submitted a patch to upstream PuTTY, which will hopefully make it into PuTTY 0.82. [63b51df7a39fd642ca079ac390014d23f617b972](https://git.schokokeks.org/derivepassphrase.git/commit/63b51df7a39fd642ca079ac390014d23f617b972) introduced a check for a fixed version of Pageant by asserting a version number 0.82 or greater, or by the presence of a specific build identifier. This check further enables running Pageant in foreground mode, which is a small feature request related to and submitted together with the patch above. |
|
| 19 |
+ |
|
| 19 | 20 |
|
| 20 | 21 |
The "undiscoverable socket in debug mode" bug has been fixed upstream in [fca6ce10dbf01e57ec4777b87faae8b38e53ff43](https://git.tartarus.org/?p=simon/putty.git;a=commit;h=fca6ce10dbf01e57ec4777b87faae8b38e53ff43), and foreground mode has been introduced in [2b93417398f641e410f0b3564135508ebfb71ac0](https://git.tartarus.org/?p=simon/putty.git;a=commit;h=2b93417398f641e410f0b3564135508ebfb71ac0). Both commits should be included in PuTTY 0.82. |
| ... | ... |
@@ -15,4 +15,4 @@ A common way to implement this is to expand the `--version` output to include th |
| 15 | 15 |
|
| 16 | 16 |
-------- |
| 17 | 17 |
|
| 18 |
-This was implemented in commit 6741af2eaa6fba39717997292ec25baf5f1f4f20. |
|
| 18 |
+This was implemented in commit [6741af2eaa6fba39717997292ec25baf5f1f4f20](https://git.schokokeks.org/derivepassphrase.git/commit/6741af2eaa6fba39717997292ec25baf5f1f4f20). |
| ... | ... |
@@ -5,7 +5,7 @@ |
| 5 | 5 |
<tr><th scope=col>Class<td><i>wish</i><td>This is a request for an enhancement. |
| 6 | 6 |
<tr><th scope=col>Present-in<td colspan=2>0.1.0 0.1.1 0.1.2 0.1.3 <b>0.2.0</b> |
| 7 | 7 |
<tr><th scope=col>Fixed-in<td colspan=2><a href="https://git.schokokeks.org/derivepassphrase.git/commit/69cf6a48483555dbcb4c8506673ef942fb008e18">69cf6a48483555dbcb4c8506673ef942fb008e18</a> (0.2.0) |
| 8 |
- <tr><th scope=col>Blocks<td colspan=2>[other-derivation-schemes](other-derivation-schemes.md) |
|
| 8 |
+ <tr><th scope=col>Blocks<td colspan=2>[exporter-script-as-subcommand](exporter-script-as-subcommand.md){: .fixed} [other-derivation-schemes](other-derivation-schemes.md)
|
|
| 9 | 9 |
</table> |
| 10 | 10 |
|
| 11 | 11 |
In preparation for [other-derivation-schemes](other-derivation-schemes.md), move the current `vault`-specific command-line interface into a subcommand `vault`, and a matching configuration file `vault.json` instead of `config.json`. |
| ... | ... |
@@ -45,4 +45,4 @@ A bug report and a patch has been submitted to PuTTY on 2024-09-18, and receptio |
| 45 | 45 |
|
| 46 | 46 |
[The aforementioned patch has been added to PuTTY/Pageant](https://git.tartarus.org/?p=simon/putty.git;a=commit;h=fca6ce10dbf01e57ec4777b87faae8b38e53ff43), and will likely be part of PuTTY 0.82. |
| 47 | 47 |
|
| 48 |
-Simon Tatham, PuTTY's principal author, has further clarified that he considers `derivepassphrase`'s handling to be an abuse of Pageant's debug mode, which was never intended to be machine-parsable. He is instead in favor of the new foreground mode for Pageant (as alluded to in https://github.com/the-13th-letter/derivepassphrase/issues/14#issue-2541165526) which is also due to become part of PuTTY 0.82. |
|
| 48 |
+Simon Tatham, PuTTY's principal author, has further clarified that he considers `derivepassphrase`'s handling to be an abuse of Pageant's debug mode, which was never intended to be machine-parsable. He is instead in favor of the new foreground mode for Pageant (as alluded to in [remove-pageant-build-info-check](remove-pageant-build-info-check.md) which is also due to become part of PuTTY 0.82. |
|
| 49 | 49 |