Commit: 86d86b4b45eace8ae109440a0ef03afda74b69d1 Parent: ab6c0623990cf39ce90524582034744733e7377d Author: Vi Grey Date: 2023-09-24 00:55 UTC Summary: fix otp entry !v & actually save on fsv edit CHANGELOG.md | 8 ++++++++ src/fsv-plaintext.go | 16 ++++++++++++++-- src/fulla.go | 2 +- src/menus.go | 14 ++++++++------ 4 files changed, 31 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 529fa57..cbd39ad 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) +## [0.0.4] - 2023-09-24 + +### Fixed + +- viewing otp entry that doesn't include digits or period no longer causes panic +- editing fsv entries works now + + ## [0.0.3] - 2023-08-08 ### Fixed diff --git a/src/fsv-plaintext.go b/src/fsv-plaintext.go index 04ef7cb..a9c4873 100644 --- a/src/fsv-plaintext.go +++ b/src/fsv-plaintext.go @@ -257,10 +257,22 @@ func (fsvData *FSVData) printEntry(i int, s bool) { } else if fsvData.Type == "otp" { entry := fsvData.OTPData[i] if s { + var digits uint8 = 6 + var period uint32 = 30 + algorithm := "SHA1" + if entry.Digits != nil { + digits = *entry.Digits + } + if entry.Period != nil { + period = *entry.Period + } + if entry.Algorithm != "" { + algorithm = entry.Algorithm + } fmt.Printf("Account Name: %s\nSecret: %s\nIssuer: %s\nAlgorithm: %s\n"+ "Digits: %d\nPeriod: %d\n", - entry.AccountName, entry.Secret, entry.Issuer, entry.Algorithm, - *entry.Digits, *entry.Period) + entry.AccountName, entry.Secret, entry.Issuer, algorithm, + digits, period) } fmt.Printf("TOTP Code at %s:\n %s\n", time.Now().Add(-curTimeOffset).Format(time.RFC3339), diff --git a/src/fulla.go b/src/fulla.go index 3289676..a116d38 100644 --- a/src/fulla.go +++ b/src/fulla.go @@ -7,7 +7,7 @@ import ( ) const ( - FULLA_VERSION = "0.0.3" + FULLA_VERSION = "0.0.4" ) var ( diff --git a/src/menus.go b/src/menus.go index 6e0afd3..2f87bf9 100644 --- a/src/menus.go +++ b/src/menus.go @@ -302,7 +302,7 @@ func editPasswordEntryMenu(fsvData *FSVData) (change bool) { " (u)sername\n (p)assword\n (e)mail\n u(r)l\n (g)roup\n" + " (c)omment\nValue (blank input to cancel): ") if value == "" { - return true + return } entryChange := true switch strings.ToLower(value) { @@ -350,9 +350,10 @@ func editPasswordEntryMenu(fsvData *FSVData) (change bool) { entry.Modified = JSONTime(time.Now().Add(-curTimeOffset)) fsvData.PasswordData[entryNum-1] = entry fmt.Println("Entry edited") - return false + return true } - return true + fmt.Println("Action canceled") + return } func importPasswordEntriesMenu(fsvData *FSVData) (change bool) { @@ -624,7 +625,7 @@ func editOTPEntryMenu(fsvData *FSVData) (change bool) { " (s)ecret\n (i)ssuer\n a(l)gorithm\n (d)igits\n (p)eriod\n" + "Value (blank input to cancel): ") if value == "" { - return true + return } entryChange := true switch strings.ToLower(value) { @@ -667,9 +668,10 @@ func editOTPEntryMenu(fsvData *FSVData) (change bool) { valueType)) { fsvData.OTPData[entryNum-1] = entry fmt.Println("Entry edited") - return false + return true } - return true + fmt.Println("Action canceled") + return } func importOTPEntriesMenu(fsvData *FSVData) (change bool) {