From d6c8d892ffacf92f13798ee71112447100aa5a50 Mon Sep 17 00:00:00 2001
From: Jakob Unterwurzacher
Date: Sun, 27 Jun 2021 11:12:40 +0200
Subject: fido2: pretty-print fidoCommand in debug output

Related: https://github.com/rfjakob/gocryptfs/issues/571
---
 internal/fido2/fido2.go | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

diff --git a/internal/fido2/fido2.go b/internal/fido2/fido2.go
index cd63483..f62967b 100644
--- a/internal/fido2/fido2.go
+++ b/internal/fido2/fido2.go
@@ -22,6 +22,20 @@ const (
 	assertWithPIN fidoCommand = iota
 )
 
+// String pretty-prints for debug output
+func (fc fidoCommand) String() string {
+	switch fc {
+	case cred:
+		return "cred"
+	case assert:
+		return "assert"
+	case assertWithPIN:
+		return "assertWithPIN"
+	default:
+		return fmt.Sprintf("%d", fc)
+	}
+}
+
 const relyingPartyID = "gocryptfs"
 
 func callFidoCommand(command fidoCommand, device string, stdin []string) ([]string, error) {
@@ -34,7 +48,7 @@ func callFidoCommand(command fidoCommand, device string, stdin []string) ([]stri
 	case assertWithPIN:
 		cmd = exec.Command("fido2-assert", "-G", "-h", "-v", device)
 	}
-	tlog.Debug.Printf("callFidoCommand: executing %q with args %q", cmd.Path, cmd.Args)
+	tlog.Debug.Printf("callFidoCommand %s: executing %q with args %q", command, cmd.Path, cmd.Args)
 	cmd.Stderr = os.Stderr
 	in, err := cmd.StdinPipe()
 	if err != nil {
-- 
cgit v1.2.3