diff options
| author | Jakob Unterwurzacher | 2018-06-25 21:55:20 +0200 | 
|---|---|---|
| committer | Jakob Unterwurzacher | 2018-07-01 20:56:22 +0200 | 
| commit | 8e5ca7299a3292cae64418aaf875819c2cca01f5 (patch) | |
| tree | ecaf407e80e2acd2faa34ccfca859d7732f4eaed | |
| parent | 4bf02f476034f6a30a378769cda323e0ce5ae59f (diff) | |
trezor: exit with usage error if used together with -extpass
Using an external program for the Trezor PIN is not supported
at the moment.
| -rw-r--r-- | cli_args.go | 4 | ||||
| -rw-r--r-- | tests/trezor/trezor_test.go | 11 | 
2 files changed, 15 insertions, 0 deletions
| diff --git a/cli_args.go b/cli_args.go index 7e8deeb..69e8bdf 100644 --- a/cli_args.go +++ b/cli_args.go @@ -221,6 +221,10 @@ func parseCliOpts() (args argContainer) {  		tlog.Fatal.Printf("The options -extpass and -masterkey cannot be used at the same time")  		os.Exit(exitcodes.Usage)  	} +	if args.extpass != "" && args.trezor { +		tlog.Fatal.Printf("The options -extpass and -trezor cannot be used at the same time") +		os.Exit(exitcodes.Usage) +	}  	return args  } diff --git a/tests/trezor/trezor_test.go b/tests/trezor/trezor_test.go index ba468d9..65f1f15 100644 --- a/tests/trezor/trezor_test.go +++ b/tests/trezor/trezor_test.go @@ -9,6 +9,7 @@ import (  	"testing"  	"github.com/rfjakob/gocryptfs/internal/configfile" +	"github.com/rfjakob/gocryptfs/internal/exitcodes"  	"github.com/rfjakob/gocryptfs/tests/test_helpers"  ) @@ -42,3 +43,13 @@ func TestInitTrezor(t *testing.T) {  		t.Error("Trezor flag should be set but is not")  	}  } + +// Test using -trezor together with -extpass. Should fail with code 1 (usage error). +func TestTrezorExtpass(t *testing.T) { +	cmd := exec.Command(test_helpers.GocryptfsBinary, "-init", "-trezor", "-extpass", "foo", "/tmp") +	err := cmd.Run() +	exitCode := test_helpers.ExtractCmdExitCode(err) +	if exitCode != exitcodes.Usage { +		t.Errorf("wrong exit code: want %d, have %d", exitcodes.Usage, exitCode) +	} +} | 
