Marco Ricci commited on 2025-02-09 20:47:17
Zeige 4 geänderte Dateien mit 146 Einfügungen und 35 Löschungen.
Using the new quality control scripts, add message IDs to all diagnostic messages described in the manpages, and add the entries missing from the manpages as well.
... | ... |
@@ -70,6 +70,31 @@ If <i>PATH</i> is explicitly given as `VAULT_PATH`, then use the `VAULT_PATH` en |
70 | 70 |
`LOGNAME`, `USER`, `USERNAME` |
71 | 71 |
: Fallback values for `VAULT_KEY`. |
72 | 72 |
|
73 |
+## DIAGNOSTICS |
|
74 |
+ |
|
75 |
+The <b>derivepassphrase export vault</b> utility exits 0 on success, and >0 if an error occurs. |
|
76 |
+ |
|
77 |
+### Fatal error messsages on standard error |
|
78 |
+ |
|
79 |
+(`%s` indicates a variable part of the message.) |
|
80 |
+ |
|
81 |
+<!-- Message-ID: ErrMsgTemplate.CANNOT_PARSE_AS_VAULT_CONFIG --> |
|
82 |
+<!-- Message-ID: ErrMsgTemplate.CANNOT_PARSE_AS_VAULT_CONFIG_OSERROR --> |
|
83 |
+??? failure "`Cannot parse %s as a valid vault-native configuration file/directory`" |
|
84 |
+ |
|
85 |
+ The file or directory is not a valid vault-native configuration. |
|
86 |
+ Alternatively, the wrong format was assumed and/or the wrong master key was provided. |
|
87 |
+ |
|
88 |
+<!-- Message-ID: ErrMsgTemplate.INVALID_VAULT_CONFIG --> |
|
89 |
+??? failure "`Invalid vault config: %s`" |
|
90 |
+ |
|
91 |
+ The file or directory was successfully decrypted and decoded, but the resulting contents are not valid as a vault configuration. |
|
92 |
+ |
|
93 |
+<!-- Message-ID: ErrMsgTemplate.MISSING_MODULE --> |
|
94 |
+??? failure "`Cannot load the required Python module %s`" |
|
95 |
+ |
|
96 |
+ (Exactly what it says.) |
|
97 |
+ |
|
73 | 98 |
## COMPATIBILITY |
74 | 99 |
|
75 | 100 |
### With other software |
... | ... |
@@ -288,121 +288,135 @@ The <b>derivepassphrase vault</b> utility exits 0 on success, and >0 if an error |
288 | 288 |
|
289 | 289 |
(`%s` indicates a variable part of the message.) |
290 | 290 |
|
291 |
+<!-- Message-ID: ErrMsgTemplate.PARAMS_MUTUALLY_EXCLUSIVE --> |
|
291 | 292 |
??? failure "`%s is mutually exclusive with %s.`" |
292 | 293 |
|
293 | 294 |
The two indicated options must not be used at the same time. |
294 | 295 |
|
296 |
+<!-- Message-ID: ErrMsgTemplate.PARAMS_NEEDS_SERVICE_OR_CONFIG --> |
|
295 | 297 |
??? failure "`%s requires a SERVICE or --config.`" |
296 | 298 |
|
297 | 299 |
Using the indicated passphrase generation option requires the <var>SERVICE</var> argument or the `--config` option. |
298 | 300 |
|
301 |
+<!-- Message-ID: ErrMsgTemplate.PARAMS_NEEDS_SERVICE --> |
|
299 | 302 |
??? failure "`%s requires a SERVICE.`" |
300 | 303 |
|
301 | 304 |
Using the indicated option requires the <var>SERVICE</var> argument. |
302 | 305 |
|
306 |
+<!-- Message-ID: ErrMsgTemplate.PARAMS_NO_SERVICE --> |
|
303 | 307 |
??? failure "`%s does not take a SERVICE argument.`" |
304 | 308 |
|
305 | 309 |
The indicated option must not be specified together with the <var>SERVICE</var> argument. |
306 | 310 |
|
311 |
+<!-- Message-ID: ErrMsgTemplate.CANNOT_LOAD_VAULT_SETTINGS --> |
|
307 | 312 |
??? failure "`Cannot load vault settings: %s.`" |
308 | 313 |
|
309 | 314 |
There was a fatal problem loading the stored vault configuration data. |
310 | 315 |
Further details are contained in the variable part of the message. |
311 | 316 |
|
317 |
+<!-- Message-ID: ErrMsgTemplate.CANNOT_STORE_VAULT_SETTINGS --> |
|
312 | 318 |
??? failure "`Cannot store vault settings: %s.`" |
313 | 319 |
|
314 | 320 |
There was a fatal problem saving the vault configuration data. |
315 | 321 |
Further details are contained in the variable part of the message. |
316 | 322 |
|
323 |
+<!-- Message-ID: ErrMsgTemplate.CANNOT_DECODEIMPORT_VAULT_SETTINGS --> |
|
324 |
+<!-- Message-ID: ErrMsgTemplate.CANNOT_IMPORT_VAULT_SETTINGS --> |
|
317 | 325 |
??? failure "`Cannot import vault settings: %s.`" |
318 | 326 |
|
319 | 327 |
There was a fatal problem loading the imported vault configuration data. |
320 | 328 |
Further details are contained in the variable part of the message. |
321 | 329 |
|
330 |
+<!-- Message-ID: ErrMsgTemplate.CANNOT_EXPORT_VAULT_SETTINGS --> |
|
322 | 331 |
??? failure "`Cannot export vault settings: %s.`" |
323 | 332 |
|
324 | 333 |
There was a fatal problem saving the exported vault configuration data. |
325 | 334 |
Further details are contained in the variable part of the message. |
326 | 335 |
|
336 |
+<!-- Message-ID: ErrMsgTemplate.CANNOT_LOAD_USER_CONFIG --> |
|
327 | 337 |
??? failure "`Cannot load user config: %s.`" |
328 | 338 |
|
329 | 339 |
There was a fatal problem loading the central user configuration file. |
330 | 340 |
Further details are contained in the variable part of the message. |
331 | 341 |
|
342 |
+<!-- Message-ID: ErrMsgTemplate.INVALID_USER_CONFIG --> |
|
332 | 343 |
??? failure "`The user configuration file is invalid.`" |
333 | 344 |
|
334 | 345 |
(Exactly what it says.) |
335 | 346 |
|
336 |
-??? failure "`No usable SSH keys were found`" |
|
337 |
- |
|
338 |
- The running SSH agent does not contain any suitable SSH keys. |
|
339 |
- |
|
340 |
-??? failure "`No valid SSH key selected`" |
|
341 |
- |
|
342 |
- We requested that an SSH key be selected, but we got an invalid selection. |
|
343 |
- |
|
347 |
+<!-- Message-ID: ErrMsgTemplate.SSH_KEY_NOT_LOADED --> |
|
344 | 348 |
??? failure "`The requested SSH key is not loaded into the agent.`" |
345 | 349 |
|
346 | 350 |
The running SSH agent does not contain the necessary SSH key. |
347 | 351 |
|
352 |
+<!-- Message-ID: ErrMsgTemplate.NO_SSH_AGENT_FOUND --> |
|
348 | 353 |
??? failure "`Cannot find any running SSH agent because SSH_AUTH_SOCK is not set.`" |
349 | 354 |
|
350 | 355 |
We require a running SSH agent, but cannot locate its communication channel, which is normally indicated by the `SSH_AUTH_SOCK` environment variable. |
351 | 356 |
|
357 |
+<!-- Message-ID: ErrMsgTemplate.NO_AF_UNIX --> |
|
352 | 358 |
??? failure "`Cannot connect to an SSH agent because this Python version does not support UNIX domain sockets.`" |
353 | 359 |
|
354 | 360 |
This Python installation does not support the communication mechanism necessary to talk to SSH agents. |
355 | 361 |
|
362 |
+<!-- Message-ID: ErrMsgTemplate.CANNOT_CONNECT_TO_AGENT --> |
|
356 | 363 |
??? failure "`Cannot connect to the SSH agent: %s.`" |
357 | 364 |
|
358 | 365 |
We cannot connect to the SSH agent indicated by the `SSH_AUTH_SOCK` environment variable. |
359 | 366 |
Further details are contained in the variable part of the message. |
360 | 367 |
|
368 |
+<!-- Message-ID: ErrMsgTemplate.AGENT_REFUSED_LIST_KEYS --> |
|
361 | 369 |
??? failure "`The SSH agent failed to or refused to supply a list of loaded keys.`" |
362 | 370 |
|
363 | 371 |
The SSH agent---while responsive in principle---did not fulfill the request. |
364 | 372 |
|
373 |
+<!-- Message-ID: ErrMsgTemplate.AGENT_REFUSED_SIGNATURE --> |
|
365 | 374 |
??? failure "`The SSH agent failed to or refused to issue a signature with the selected key, necessary for deriving a service passphrase.`" |
366 | 375 |
|
367 | 376 |
The SSH agent---while responsive in principle---failed to cooperate with deriving a service passphrase from the selected master SSH key. |
368 | 377 |
|
378 |
+<!-- Message-ID: ErrMsgTemplate.NO_SUITABLE_SSH_KEYS --> |
|
369 | 379 |
??? failure "`The SSH agent contains no keys suitable for derivepassphrase.`" |
370 | 380 |
|
371 | 381 |
None of the keys loaded into the SSH agent (if any) are suitable for use with <b>derivepassphrase vault</b>. See the ["SSH KEY SUITABILITY"](#ssh-key-suitability) section for the requirements the SSH key and the SSH agent must fulfill to be suitable. |
372 | 382 |
|
373 |
-??? failure "`Error communicating with the SSH agent`" |
|
374 |
- |
|
375 |
- There was a system error communicating with the SSH agent. |
|
376 |
- |
|
383 |
+<!-- Message-ID: ErrMsgTemplate.CANNOT_UNDERSTAND_AGENT --> |
|
377 | 384 |
??? failure "`Cannot understand the SSH agent's response because it violates the communication protocol.`" |
378 | 385 |
|
379 | 386 |
(Exactly what it says.) |
380 | 387 |
|
388 |
+<!-- Message-ID: ErrMsgTemplate.USER_ABORTED_EDIT --> |
|
381 | 389 |
??? failure "`Not saving any new notes: the user aborted the request.`" |
382 | 390 |
|
383 | 391 |
(Exactly what it says.) |
384 | 392 |
|
385 |
-??? failure "`Cannot update the %s settings without actual settings.`" |
|
393 |
+<!-- Message-ID: ErrMsgTemplate.CANNOT_UPDATE_SETTINGS_NO_SETTINGS --> |
|
394 |
+??? failure "`Cannot update the %s settings without any given settings.`" |
|
386 | 395 |
|
387 | 396 |
Using `--config` requires at least one of the `--phrase`, `--key`, `--length`, etc. options. |
388 | 397 |
|
398 |
+<!-- Message-ID: ErrMsgTemplate.SET_AND_UNSET_SAME_SETTING --> |
|
389 | 399 |
??? failure "`Attempted to unset and set %s at the same time.`" |
390 | 400 |
|
391 | 401 |
While handling `--config`, the same configuration setting was passed as an option and as an argument to `--unset`. |
392 | 402 |
|
393 |
-??? failure "`Generating a passphrase requires a SERVICE.`" |
|
403 |
+<!-- Message-ID: ErrMsgTemplate.SERVICE_REQUIRED --> |
|
404 |
+??? failure "`Deriving a passphrase requires a SERVICE.`" |
|
394 | 405 |
|
395 | 406 |
(Exactly what it says.) |
396 | 407 |
|
408 |
+<!-- Message-ID: ErrMsgTemplate.NO_KEY_OR_PHRASE --> |
|
397 | 409 |
??? failure "`No passphrase or key was given in the configuration.`" |
398 | 410 |
|
399 | 411 |
<b>derivepassphrase vault</b> does not know whether to use a master SSH key or a master passphrase. |
400 | 412 |
|
401 |
-??? failure "`No passphrase was given: the user aborted the request.`" |
|
413 |
+<!-- Message-ID: ErrMsgTemplate.USER_ABORTED_PASSPHRASE --> |
|
414 |
+??? failure "`No passphrase was given; the user aborted the request.`" |
|
402 | 415 |
|
403 | 416 |
(Exactly what it says.) |
404 | 417 |
|
405 |
-??? failure "`No SSH key was selected: the user aborted the request.`" |
|
418 |
+<!-- Message-ID: ErrMsgTemplate.USER_ABORTED_SSH_KEY_SELECTION --> |
|
419 |
+??? failure "`No SSH key was selected; the user aborted the request.`" |
|
406 | 420 |
|
407 | 421 |
(Exactly what it says.) |
408 | 422 |
|
... | ... |
@@ -410,55 +424,68 @@ The <b>derivepassphrase vault</b> utility exits 0 on success, and >0 if an error |
410 | 424 |
|
411 | 425 |
(`%s` indicates a variable part of the message.) |
412 | 426 |
|
427 |
+<!-- Message-ID: WarnMsgTemplate.PASSPHRASE_NOT_NORMALIZED --> |
|
413 | 428 |
??? warning "`The %s passphrase is not %s-normalized.`" |
414 | 429 |
|
415 | 430 |
The indicated passphrase---as a Unicode string---is not properly normalized according to the preferred Unicode normalization form (as specified in the central configuration file). |
416 | 431 |
It is therefore possible that the passphrase---as a byte string---is not the same byte string as you expect it to be (even though it *looks* correct), and that the derived passphrases thus do not match their expected values either. |
417 | 432 |
Please double-check. |
418 | 433 |
|
434 |
+<!-- Message-ID: WarnMsgTemplate.EMPTY_SERVICE_NOT_SUPPORTED --> |
|
435 |
+<!-- Message-ID: WarnMsgTemplate.EMPTY_SERVICE_SETTINGS_INACCESSIBLE --> |
|
419 | 436 |
??? warning "`An empty SERVICE is not supported by vault(1).`" |
420 | 437 |
|
421 | 438 |
<i>vault</i>(1) does not support the empty string as a value for <var>SERVICE</var>; it will treat the <var>SERVICE</var> as missing. |
422 | 439 |
For compatibility, <b>derivepassphrase vault</b> will do the same. |
423 | 440 |
In particular, if the empty service is imported in a configuration via `--import`, then this service cannot be accessed via the <b>derivepassphrase vault</b> command-line. |
424 | 441 |
|
442 |
+<!-- Message-ID: WarnMsgTemplate.STEP_REPLACE_INVALID_VALUE --> |
|
425 | 443 |
??? warning "`Replacing invalid value %s for key %s with %s.`" |
426 | 444 |
|
427 | 445 |
When importing a configuration, the indicated invalid value has been replaced with the indicated replacement value. |
428 | 446 |
(The "interpretation" of the configuration doesn’t change). |
429 | 447 |
|
448 |
+<!-- Message-ID: WarnMsgTemplate.STEP_REMOVE_INEFFECTIVE_VALUE --> |
|
430 | 449 |
??? warning "`Removing ineffective setting %s = %s.`" |
431 | 450 |
|
432 | 451 |
When importing a configuration, the indicated ineffective setting has been removed. |
433 | 452 |
(The "interpretation" of the configuration doesn’t change). |
434 | 453 |
|
454 |
+<!-- Message-ID: WarnMsgTemplate.SERVICE_NAME_INCOMPLETABLE --> |
|
435 | 455 |
??? warning "`The service name %s contains an ASCII control character, which is not supported by our shell completion code.`" |
436 | 456 |
|
437 | 457 |
Because of limitations in the shell completion code, this specific service name will not be available as a suggestion in tab completion. |
438 | 458 |
(This *only* affects tab completion, not other functionality.) |
439 | 459 |
|
440 |
-??? warning "`Setting a %s passphrase is ineffective because a key is also set.`" |
|
460 |
+<!-- Message-ID: WarnMsgTemplate.GLOBAL_PASSPHRASE_INEFFECTIVE --> |
|
461 |
+<!-- Message-ID: WarnMsgTemplate.SERVICE_PASSPHRASE_INEFFECTIVE --> |
|
462 |
+??? warning "`Setting a %s passphrase is ineffective because a key is also set`" |
|
441 | 463 |
|
442 | 464 |
The configuration (global or key-specific) contains both a stored master passphrase and an SSH key. |
443 | 465 |
The master passphrase will not take effect. |
444 | 466 |
|
445 |
-??? warning "`A subcommand will be required in v1.0.`" |
|
467 |
+<!-- Message-ID: WarnMsgTemplate.V10_SUBCOMMAND_REQUIRED --> |
|
468 |
+??? warning "`A subcommand will be required here in v1.0.`" |
|
446 | 469 |
|
447 | 470 |
[Since v0.2.0, until v1.0.] |
448 | 471 |
This command now requires a subcommand. |
449 | 472 |
For compatibility, it currently defaults to "vault". |
450 | 473 |
|
474 |
+<!-- Message-ID: WarnMsgTemplate.V01_STYLE_CONFIG --> |
|
475 |
+<!-- Message-ID (mark only): WarnMsgTemplate.FAILED_TO_MIGRATE_CONFIG --> |
|
451 | 476 |
??? warning "`Using deprecated v0.1-style config file %s, instead of v0.2-style %s.`" |
452 | 477 |
|
453 | 478 |
[Since v0.2.0, until v1.0.] |
454 | 479 |
A configuration file has been renamed. |
455 | 480 |
<b>derivepassphrase vault</b> will attempt to rename the file itself (`Successfully migrated to %s.`), or complain if it cannot rename it (`Failed to migrate to %s: %s`). |
456 | 481 |
|
482 |
+<!-- Message-ID: WarnMsgTemplate.EDITING_NOTES_BUT_NOT_STORING_CONFIG --> |
|
457 | 483 |
??? warning "`Specifying --notes without --config is ineffective.`" |
458 | 484 |
|
459 | 485 |
(Exactly what it says.) |
460 | 486 |
|
461 |
-??? warning "`A backup copy of the notes was saved to %s.`" |
|
487 |
+<!-- Message-ID: WarnMsgTemplate.LEGACY_EDITOR_INTERFACE_NOTES_BACKUP --> |
|
488 |
+??? warning "`A backup copy of the old notes was saved to %s.`" |
|
462 | 489 |
|
463 | 490 |
The <i>vault</i>(1) legacy editor interface is in use, which carries a high risk of accidentally losing or corrupting the old notes because a notes editing session cannot be aborted mid-editing. |
464 | 491 |
To guard against such accidental data loss, a backup copy of the old notes was saved to the <b>derivepassphrase</b> configuration directory. |
... | ... |
@@ -155,6 +155,35 @@ Fallback values for |
155 | 155 |
. |
156 | 156 |
.El |
157 | 157 |
. |
158 |
+.Sh DIAGNOSTICS |
|
159 |
+. |
|
160 |
+.Ex -std "derivepassphrase export vault" |
|
161 |
+.Pp |
|
162 |
+. |
|
163 |
+.Ss Fatal error messages on standard error |
|
164 |
+. |
|
165 |
+.Pq Li %s Ns No " indicates a variable part of the message." |
|
166 |
+. |
|
167 |
+.Bl -diag |
|
168 |
+. |
|
169 |
+.\" Message-ID: ErrMsgTemplate.CANNOT_PARSE_AS_VAULT_CONFIG |
|
170 |
+.\" Message-ID: ErrMsgTemplate.CANNOT_PARSE_AS_VAULT_CONFIG_OSERROR |
|
171 |
+.It Cannot parse %s as a valid vault-native configuration file/directory |
|
172 |
+The file or directory is not a valid vault-native configuration. |
|
173 |
+Alternatively, the wrong format was assumed and/or the wrong master key was |
|
174 |
+provided. |
|
175 |
+. |
|
176 |
+.\" Message-ID: ErrMsgTemplate.INVALID_VAULT_CONFIG |
|
177 |
+.It Invalid vault config: %s |
|
178 |
+The file or directory was successfully decrypted and decoded, but the |
|
179 |
+resulting contents are not valid as a vault configuration. |
|
180 |
+. |
|
181 |
+.\" Message-ID: ErrMsgTemplate.MISSING_MODULE |
|
182 |
+.It Cannot load the required Python module %s |
|
183 |
+(Exactly what it says.) |
|
184 |
+. |
|
185 |
+.El |
|
186 |
+. |
|
158 | 187 |
.Sh COMPATIBILITY |
159 | 188 |
. |
160 | 189 |
.Ss With other software |
... | ... |
@@ -744,9 +744,11 @@ key or to type in a master passphrase. |
744 | 744 |
. |
745 | 745 |
.Bl -diag |
746 | 746 |
. |
747 |
+.\" Message-ID: ErrMsgTemplate.PARAMS_MUTUALLY_EXCLUSIVE |
|
747 | 748 |
.It %s is mutually exclusive with %s. |
748 | 749 |
The two indicated options must not be used at the same time. |
749 | 750 |
. |
751 |
+.\" Message-ID: ErrMsgTemplate.PARAMS_NEEDS_SERVICE_OR_CONFIG |
|
750 | 752 |
.It %s requires a SERVICE or \-\-config. |
751 | 753 |
Using the indicated passphrase generation option requires the |
752 | 754 |
.Ar SERVICE |
... | ... |
@@ -754,74 +756,84 @@ argument or the |
754 | 756 |
.Fl \-config |
755 | 757 |
option. |
756 | 758 |
. |
759 |
+.\" Message-ID: ErrMsgTemplate.PARAMS_NEEDS_SERVICE |
|
757 | 760 |
.It %s requires a SERVICE. |
758 | 761 |
Using the indicated option requires the |
759 | 762 |
.Ar SERVICE |
760 | 763 |
argument. |
761 | 764 |
. |
765 |
+.\" Message-ID: ErrMsgTemplate.PARAMS_NO_SERVICE |
|
762 | 766 |
.It %s does not take a SERVICE argument. |
763 | 767 |
The indicated option must not be specified together with the |
764 | 768 |
.Ar SERVICE |
765 | 769 |
argument. |
766 | 770 |
. |
771 |
+.\" Message-ID: ErrMsgTemplate.CANNOT_LOAD_VAULT_SETTINGS |
|
767 | 772 |
.It Cannot load vault settings: %s. |
768 | 773 |
There was a fatal problem loading the stored vault configuration data. |
769 | 774 |
Further details are contained in the variable part of the message. |
770 | 775 |
. |
776 |
+.\" Message-ID: ErrMsgTemplate.CANNOT_STORE_VAULT_SETTINGS |
|
771 | 777 |
.It Cannot store vault settings: %s. |
772 | 778 |
There was a fatal problem saving the vault configuration data. |
773 | 779 |
Further details are contained in the variable part of the message. |
774 | 780 |
. |
781 |
+.\" Message-ID: ErrMsgTemplate.CANNOT_DECODEIMPORT_VAULT_SETTINGS |
|
782 |
+.\" Message-ID: ErrMsgTemplate.CANNOT_IMPORT_VAULT_SETTINGS |
|
775 | 783 |
.It Cannot import vault settings: %s. |
776 | 784 |
There was a fatal problem loading the imported vault configuration data. |
777 | 785 |
Further details are contained in the variable part of the message. |
778 | 786 |
. |
787 |
+.\" Message-ID: ErrMsgTemplate.CANNOT_EXPORT_VAULT_SETTINGS |
|
779 | 788 |
.It Cannot export vault settings: %s. |
780 | 789 |
There was a fatal problem saving the exported vault configuration data. |
781 | 790 |
Further details are contained in the variable part of the message. |
782 | 791 |
. |
792 |
+.\" Message-ID: ErrMsgTemplate.CANNOT_LOAD_USER_CONFIG |
|
783 | 793 |
.It Cannot load user config: %s. |
784 | 794 |
There was a fatal problem loading the central user configuration file. |
785 | 795 |
Further details are contained in the variable part of the message. |
786 | 796 |
. |
797 |
+.\" Message-ID: ErrMsgTemplate.INVALID_USER_CONFIG |
|
787 | 798 |
.It The user configuration file is invalid. |
788 | 799 |
(Exactly what it says.) |
789 | 800 |
. |
790 |
-.It No usable SSH keys were found |
|
791 |
-The running SSH agent does not contain any suitable SSH keys. |
|
792 |
-. |
|
793 |
-.It No valid SSH key selected |
|
794 |
-We requested that an SSH key be selected, but we got an invalid selection. |
|
795 |
-. |
|
801 |
+.\" Message-ID: ErrMsgTemplate.SSH_KEY_NOT_LOADED |
|
796 | 802 |
.It The requested SSH key is not loaded into the agent. |
797 | 803 |
The running SSH agent does not contain the necessary SSH key. |
798 | 804 |
. |
805 |
+.\" Message-ID: ErrMsgTemplate.NO_SSH_AGENT_FOUND |
|
799 | 806 |
.It Cannot find any running SSH agent because SSH_AUTH_SOCK is not set. |
800 | 807 |
We require a running SSH agent, but cannot locate its communication channel, |
801 | 808 |
which is normally indicated by the |
802 | 809 |
.Ev SSH_AUTH_SOCK |
803 | 810 |
environment variable. |
804 | 811 |
. |
812 |
+.\" Message-ID: ErrMsgTemplate.NO_AF_UNIX |
|
805 | 813 |
.It Cannot connect to an SSH agent because this Python version does not support UNIX domain sockets. |
806 | 814 |
This Python installation does not support the communication mechanism |
807 | 815 |
necessary to talk to SSH agents. |
808 | 816 |
. |
817 |
+.\" Message-ID: ErrMsgTemplate.CANNOT_CONNECT_TO_AGENT |
|
809 | 818 |
.It Cannot connect to the SSH agent: %s. |
810 | 819 |
We cannot connect to the SSH agent indicated by the |
811 | 820 |
.Ev SSH_AUTH_SOCK |
812 | 821 |
environment variable. |
813 | 822 |
Further details are contained in the variable part of the message. |
814 | 823 |
. |
824 |
+.\" Message-ID: ErrMsgTemplate.AGENT_REFUSED_LIST_KEYS |
|
815 | 825 |
.It The SSH agent failed to or refused to supply a list of loaded keys. |
816 | 826 |
The SSH agent \(em while responsive in principle \(em did not fulfill the |
817 | 827 |
request. |
818 | 828 |
. |
829 |
+.\" Message-ID: ErrMsgTemplate.AGENT_REFUSED_SIGNATURE |
|
819 | 830 |
.It "The SSH agent failed to or refused to" "issue a signature with the selected key," "necessary for deriving a service passphrase." |
820 | 831 |
The SSH agent \(em while responsive in principle \(em failed to cooperate with |
821 | 832 |
deriving a service passphrase from the selected master |
822 | 833 |
.Tn SSH |
823 | 834 |
key. |
824 | 835 |
. |
836 |
+.\" Message-ID: ErrMsgTemplate.NO_SUITABLE_SSH_KEYS |
|
825 | 837 |
.It The SSH agent contains no keys suitable for derivepassphrase. |
826 | 838 |
. |
827 | 839 |
None of the keys loaded into the |
... | ... |
@@ -836,40 +848,45 @@ key and the |
836 | 848 |
.Tn SSH |
837 | 849 |
agent must fulfill to be suitable. |
838 | 850 |
. |
839 |
-.It Error communicating with the SSH agent |
|
840 |
-There was a system error communicating with the SSH agent. |
|
841 |
-. |
|
851 |
+.\" Message-ID: ErrMsgTemplate.CANNOT_UNDERSTAND_AGENT |
|
842 | 852 |
.It Cannot understand the SSH agent's response because it violates the communication protocol. |
843 | 853 |
. |
844 | 854 |
(Exactly what it says.) |
845 | 855 |
. |
856 |
+.\" Message-ID: ErrMsgTemplate.USER_ABORTED_EDIT |
|
846 | 857 |
.It Not saving any new notes: the user aborted the request. |
847 | 858 |
(Exactly what it says.) |
848 | 859 |
. |
849 |
-.It Cannot update the %s settings without actual settings. |
|
860 |
+.\" Message-ID: ErrMsgTemplate.CANNOT_UPDATE_SETTINGS_NO_SETTINGS |
|
861 |
+.It Cannot update the %s settings without any given settings. |
|
850 | 862 |
Using |
851 | 863 |
.Fl \-config |
852 | 864 |
requires at least one of the |
853 | 865 |
.Fl \-phrase , \-key , \-length , No etc.\& |
854 | 866 |
options. |
855 | 867 |
. |
868 |
+.\" Message-ID: ErrMsgTemplate.SET_AND_UNSET_SAME_SETTING |
|
856 | 869 |
.It Attempted to unset and set %s at the same time. |
857 | 870 |
While handling |
858 | 871 |
.Fl \-config , |
859 | 872 |
the same configuration setting was passed as an option and as an argument to |
860 | 873 |
.Fl \-unset . |
861 | 874 |
. |
862 |
-.It Generating a passphrase requires a SERVICE. |
|
875 |
+.\" Message-ID: ErrMsgTemplate.SERVICE_REQUIRED |
|
876 |
+.It Deriving a passphrase requires a SERVICE. |
|
863 | 877 |
(Exactly what it says.) |
864 | 878 |
. |
879 |
+.\" Message-ID: ErrMsgTemplate.NO_KEY_OR_PHRASE |
|
865 | 880 |
.It No passphrase or key was given in the configuration. |
866 | 881 |
.Nm derivepassphrase vault |
867 | 882 |
does not know whether to use a master SSH key or a master passphrase. |
868 | 883 |
. |
869 |
-.It No passphrase was given: the user aborted the request. |
|
884 |
+.\" Message-ID: ErrMsgTemplate.USER_ABORTED_PASSPHRASE |
|
885 |
+.It No passphrase was given; the user aborted the request. |
|
870 | 886 |
(Exactly what it says.) |
871 | 887 |
. |
872 |
-.It No SSH key was selected: the user aborted the request. |
|
888 |
+.\" Message-ID: ErrMsgTemplate.USER_ABORTED_SSH_KEY_SELECTION |
|
889 |
+.It No SSH key was selected; the user aborted the request. |
|
873 | 890 |
(Exactly what it says.) |
874 | 891 |
. |
875 | 892 |
.El |
... | ... |
@@ -881,6 +898,7 @@ does not know whether to use a master SSH key or a master passphrase. |
881 | 898 |
. |
882 | 899 |
.Bl -diag |
883 | 900 |
. |
901 |
+.\" Message-ID: WarnMsgTemplate.PASSPHRASE_NOT_NORMALIZED |
|
884 | 902 |
.It The %s passphrase is not %s-normalized. |
885 | 903 |
The indicated passphrase \(em as a Unicode string \(em is not properly |
886 | 904 |
normalized according to the preferred Unicode normalization form |
... | ... |
@@ -892,6 +910,8 @@ and that the derived passphrases thus do not match their expected values |
892 | 910 |
either. |
893 | 911 |
Please double-check. |
894 | 912 |
. |
913 |
+.\" Message-ID: WarnMsgTemplate.EMPTY_SERVICE_NOT_SUPPORTED |
|
914 |
+.\" Message-ID: WarnMsgTemplate.EMPTY_SERVICE_SETTINGS_INACCESSIBLE |
|
895 | 915 |
.It An empty SERVICE is not supported by vault(1). |
896 | 916 |
.Xr vault 1 |
897 | 917 |
does not support the empty string as a value for |
... | ... |
@@ -908,16 +928,19 @@ then this service cannot be accessed via the |
908 | 928 |
.Nm derivepassphrase vault |
909 | 929 |
command-line. |
910 | 930 |
. |
931 |
+.\" Message-ID: WarnMsgTemplate.STEP_REPLACE_INVALID_VALUE |
|
911 | 932 |
.It Replacing invalid value %s for key %s with %s. |
912 | 933 |
When importing a configuration, the indicated invalid value has been |
913 | 934 |
replaced with the indicated replacement value. |
914 | 935 |
.Pq The Do interpretation Dc of the configuration doesn't change . |
915 | 936 |
. |
937 |
+.\" Message-ID: WarnMsgTemplate.STEP_REMOVE_INEFFECTIVE_VALUE |
|
916 | 938 |
.It Removing ineffective setting %s = %s. |
917 | 939 |
When importing a configuration, the indicated ineffective setting has been |
918 | 940 |
removed. |
919 | 941 |
.Pq The Do interpretation Dc of the configuration doesn't change . |
920 | 942 |
. |
943 |
+.\" Message-ID: WarnMsgTemplate.SERVICE_NAME_INCOMPLETABLE |
|
921 | 944 |
.It "The service name %s" "contains an ASCII control character," "which is not supported" "by our shell completion code." |
922 | 945 |
Because of limitations in the shell completion code, this specific service name |
923 | 946 |
will not be available as a suggestion in tab completion. |
... | ... |
@@ -927,12 +950,15 @@ This |
927 | 950 |
affects tab completion, not other functionality. |
928 | 951 |
.Pc |
929 | 952 |
. |
930 |
-.It Setting a %s passphrase is ineffective because a key is also set. |
|
953 |
+.\" Message-ID: WarnMsgTemplate.GLOBAL_PASSPHRASE_INEFFECTIVE |
|
954 |
+.\" Message-ID: WarnMsgTemplate.SERVICE_PASSPHRASE_INEFFECTIVE |
|
955 |
+.It Setting a %s passphrase is ineffective because a key is also set |
|
931 | 956 |
The configuration (global or key-specific) contains both a stored master |
932 | 957 |
passphrase and an SSH key. |
933 | 958 |
The master passphrase will not take effect. |
934 | 959 |
. |
935 |
-.It A subcommand will be required in v1.0. |
|
960 |
+.\" Message-ID: WarnMsgTemplate.V10_SUBCOMMAND_REQUIRED |
|
961 |
+.It A subcommand will be required here in v1.0. |
|
936 | 962 |
.Bo |
937 | 963 |
Since v0.2.0, until v1.0. |
938 | 964 |
.Bc |
... | ... |
@@ -940,6 +966,8 @@ This command now requires a subcommand. |
940 | 966 |
For compatibility, it currently defaults to |
941 | 967 |
.Dq vault . |
942 | 968 |
. |
969 |
+.\" Message-ID: WarnMsgTemplate.V01_STYLE_CONFIG |
|
970 |
+.\" Message-ID (mark only): WarnMsgTemplate.FAILED_TO_MIGRATE_CONFIG |
|
943 | 971 |
.It Using deprecated v0.1-style config file %s, instead of v0.2-style %s. |
944 | 972 |
.Bo |
945 | 973 |
Since v0.2.0, until v1.0. |
... | ... |
@@ -951,10 +979,12 @@ will attempt to rename the file itself |
951 | 979 |
or complain if it cannot rename it |
952 | 980 |
.Pq Qq Li Failed to migrate to %s: %s . |
953 | 981 |
. |
982 |
+.\" Message-ID: WarnMsgTemplate.EDITING_NOTES_BUT_NOT_STORING_CONFIG |
|
954 | 983 |
.It Specifying \-\-notes without \-\-config is ineffective. |
955 | 984 |
(Exactly what it says.) |
956 | 985 |
. |
957 |
-.It A backup copy of the notes was saved to %s. |
|
986 |
+.\" Message-ID: WarnMsgTemplate.LEGACY_EDITOR_INTERFACE_NOTES_BACKUP |
|
987 |
+.It A backup copy of the old notes was saved to %s. |
|
958 | 988 |
The |
959 | 989 |
.Xr vault 1 |
960 | 990 |
legacy editor interface is in use, which carries a high risk of |
961 | 991 |