diff options
| -rw-r--r-- | Documentation/MANPAGE.md | 6 | ||||
| -rw-r--r-- | README.md | 1 | ||||
| -rw-r--r-- | cli_args.go | 3 | ||||
| -rw-r--r-- | tests/cli/cli_test.go | 8 | 
4 files changed, 18 insertions, 0 deletions
| diff --git a/Documentation/MANPAGE.md b/Documentation/MANPAGE.md index 6fa5156..36866fe 100644 --- a/Documentation/MANPAGE.md +++ b/Documentation/MANPAGE.md @@ -238,6 +238,12 @@ See `-dev, -nodev`.  #### -noexec  See `-exec, -noexec`. +#### -nofail +Having the `nofail` option in `/etc/fstab` instructs `systemd` to continue +booting normally even if the mount fails (see `man systemd.fstab`). + +The option is ignored by `gocryptfs` itself and has no effect outside `/etc/fstab`. +  #### -nonempty  Allow mounting over non-empty directories. FUSE by default disallows  this to prevent accidental shadowing of files. @@ -171,6 +171,7 @@ vNEXT, in progress    ([#387](https://github.com/rfjakob/gocryptfs/issues/387)).    Note: as a security precaution, the owner must still manually     `chmod gocryptfs.conf 0440` to allow mounting. +* Allow the `nofail` option in `/etc/fstab`  v1.7, 2019-03-17  * **Fix possible symlink race attacks in forward mode** when using allow_other + plaintextnames diff --git a/cli_args.go b/cli_args.go index c434abb..f1cefb4 100644 --- a/cli_args.go +++ b/cli_args.go @@ -212,6 +212,9 @@ func parseCliOpts() (args argContainer) {  	flagSet.DurationVar(&args.idle, "idle", 0, "Auto-unmount after specified idle duration (ignored in reverse mode). "+  		"Durations are specified like \"500s\" or \"2h45m\". 0 means stay mounted indefinitely.") +	var nofail bool +	flagSet.BoolVar(&nofail, "nofail", false, "Ignored for /etc/fstab compatibility") +  	var dummyString string  	flagSet.StringVar(&dummyString, "o", "", "For compatibility with mount(1), options can be also passed as a comma-separated list to -o on the end.")  	// Actual parsing diff --git a/tests/cli/cli_test.go b/tests/cli/cli_test.go index 438ba16..58ffe44 100644 --- a/tests/cli/cli_test.go +++ b/tests/cli/cli_test.go @@ -285,6 +285,14 @@ func TestNonempty(t *testing.T) {  	test_helpers.UnmountPanic(mnt)  } +// -nofail should be ignored and the mount should succeed +func TestNofail(t *testing.T) { +	dir := test_helpers.InitFS(t) +	mnt := dir + ".mnt" +	test_helpers.MountOrFatal(t, dir, mnt, "-nofail", "-extpass=echo test") +	defer test_helpers.UnmountPanic(mnt) +} +  // Test "mountpoint shadows cipherdir" handling  func TestShadows(t *testing.T) {  	mnt := test_helpers.InitFS(t) | 
