From e55568722a69989da6ae9e00b6b34bbd9853ba60 Mon Sep 17 00:00:00 2001 From: Ethan P Date: Sat, 22 Apr 2023 21:49:02 -0700 Subject: [PATCH] Use Assuan ErrCanceled when user cancels prompt --- main.go | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/main.go b/main.go index cd924cc..e50bbeb 100644 --- a/main.go +++ b/main.go @@ -213,14 +213,21 @@ func passwordPrompt(s pinentry.Settings) ([]byte, error) { func assuanError(err error) *common.Error { var message = "Unspecified error" + var code common.ErrorCode = common.ErrCanceled + if err != nil { message = err.Error() + + if touchid.DidUserCancel(err) { + message = "User cancelled." + code = common.ErrCanceled + } } return &common.Error{ Src: common.ErrSrcPinentry, SrcName: "pinentry", - Code: common.ErrCanceled, + Code: code, Message: message, } } @@ -378,7 +385,7 @@ func GetPIN(authFn AuthFunc, promptFn PromptFunc, logger *log.Logger) GetPinFunc // User cancelled. if touchid.DidUserCancel(err) { logger.Printf("Authentication cancelled") - return "", nil + return "", assuanError(err) } // Other error.