aboutsummaryrefslogtreecommitdiff
path: root/Documentation/MANPAGE.md
diff options
context:
space:
mode:
authorJakob Unterwurzacher2021-12-04 12:34:29 +0100
committerJakob Unterwurzacher2021-12-04 12:34:29 +0100
commit8722b894a6fb86945b96e5c3b2cc778853e21d17 (patch)
treee1903cc93a7d21646318e3038ca56a7e40ba943c /Documentation/MANPAGE.md
parentd530fbd400c88fa54c856d958963d77669ac9cf2 (diff)
MANPAGE: -extpass: document dash duplication bug
Closes https://github.com/rfjakob/gocryptfs/issues/621
Diffstat (limited to 'Documentation/MANPAGE.md')
-rw-r--r--Documentation/MANPAGE.md27
1 files changed, 27 insertions, 0 deletions
diff --git a/Documentation/MANPAGE.md b/Documentation/MANPAGE.md
index ffed44e..fa2f5b5 100644
--- a/Documentation/MANPAGE.md
+++ b/Documentation/MANPAGE.md
@@ -475,6 +475,10 @@ to your program, use `"--"`, which is accepted by most programs:
Applies to: all actions that ask for a password.
+BUG: In `-extpass -X`, the `-X` will be interpreted as `--X`. Please use
+`-extpass=-X` to prevent that. See **Dash duplication** in the **BUGS** section
+for details.
+
#### -fido2 DEVICE_PATH
Use a FIDO2 token to initialize and unlock the filesystem.
Use "fido2-token -L" to obtain the FIDO2 token device path.
@@ -684,6 +688,29 @@ other: please check the error message
See also: https://github.com/rfjakob/gocryptfs/blob/master/internal/exitcodes/exitcodes.go
+BUGS
+====
+
+### Dash duplication
+
+gocryptfs v2.1 switched to the `pflag` library for command-line parsing
+to support flags and positional arguments in any order. To stay compatible
+with single-dash long options like `-extpass`, an ugly hack was added:
+The command line is preprocessed, and all single-dash options are converted to
+double-dash.
+
+Unfortunately, this means that in
+
+ gocryptfs -extpass myapp -extpass -X
+
+gocryptfs transforms the `-X` to `--X`, and it will call `myapp --n` as the extpass program.
+
+Please use
+
+ gocryptfs -extpass myapp -extpass=-X
+
+to work around this bug.
+
SEE ALSO
========
mount(2) fuse(8) fallocate(2) encfs(1) gitignore(5)