15 Commits

Author SHA1 Message Date
Dominik Schulz 1f51343d56 fix: fix lint issues and update tests for removed show -f/--force alias
- Remove unused (*Action).printReminder shim from handler_shims.go
- Remove unused cryptoBackend type alias from base.go
- Add blank line before return in queue/background.go (nlreturn)
- Update integration tests to use 'show -u' instead of 'show -f'
  since the --force/-f aliases for show --unsafe were intentionally dropped
- Add .doctor to commandsWithError in main_test.go
2026-04-12 09:44:52 +02:00
Dominik Schulz ee168e7be7 fix(queue): fix Idle() TOCTOU race and Add() post-Close() panic 2026-04-12 09:44:52 +02:00
Dominik Schulz 9f76dc4957 fix: address all confirmed bugs from code quality report
B-1 (grep): increment matches and errors counters so the summary
line correctly reports the number of matches and decryption failures.

B-2 (autoSync): move autosyncLastRun = time.Now() outside the
err != nil block so the debounce timestamp is updated on success,
not only on failure.

B-3 (create wizard): fix password maximum-length check to compare
against v.Max instead of v.Min, so passwords under v.Max are
accepted and those over v.Max are rejected.

B-4 (RemoveMount): remove the duplicate map-lookup / warning block;
the second check was dead code that could never show a different
result than the first.

B-5 (convert): pass sv (the user-supplied backend name string)
instead of the zero-value storage variable into the error message so
users see what they actually typed.

B-6 (leaf convert): fix typo 'stroage' -> 'storage' in error message.

B-7 (audit): default to PrintSummary when neither --full nor
--summary is given, instead of running the (potentially slow) full
audit and silently discarding all results.

B-8 (queue): replace the goroutine-leaking Idle() implementation
with a simple polling loop that terminates correctly; remove the
self-documenting 'likely broken' package comment.
2026-04-12 09:44:52 +02:00
Dominik Schulz 7281ca8ab4 [chore] Migrate to golangci-lint v2 (#3104)
* [chore] Migrate to golangci-lint v2

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>

* [chore] Fix more lint issues

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>

* [chore] Fix more lint issue

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>

* [chore] Fix more lint issues

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>

* [chore] Add more package comments.

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>

* [chore] Fix golangci-lint config and the remaining checks

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>

* [fix] Use Go 1.24

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>

* [fix] Fix container builds

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>

* Fix more failing tests

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>

* Fix test failure

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>

* Fix another len assertion

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>

* Move location tests

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>

* [fix] Fix most remaining lint issues

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>

* [fix] Only run XDG specific tests on linux

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>

* [fix] Attempt to address on source of flaky failures

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>

---------

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
2025-04-17 08:05:43 +02:00
Dominik Schulz 936f0db2a5 Add more test coverage (#3073)
* [chore] Add more test coverage

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>

* Fix lint issues

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>

* Fix assert.Len invocation

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>

---------

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
2025-03-02 19:49:22 +01:00
niacdoial cdda40db36 Improve fsck handling and output (#2492)
* Fsck: Improved message handling and decreased commit spam.

* Merge upstream changes with local changes (part 2: manual fixes)

* pgp keyring: Do not import a pgp public key into the user's private keyring if the key there is identical to the one in the store's keyring

* fsck.go: made the code more go-idiomatic

* more changes to make code more go-idiomatic

* Fsck: fixed misleading messages caused by previous refactor

(also clarified the roles of the values in ErrorSeverity)

* Fsck: even smoother git use (pubkey updates now in the same git commit as the rest of fsck's changes)

Also removed dupeicate check of public keys, and added more tests around commit messages

* Ctxutil: Pruning unused functions, more go idiomaticity (and some tweaks regarding errors)

* Formatted files with gofmt

* fixed misc. error management

* More fixes and formatting

(plus one fixed text for the `link` action)

* unblock CI (attempt 1)

* fix problems discovered by CI

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
Co-authored-by: Dominik Schulz <dominik.schulz@gauner.org>
2023-01-01 14:52:55 +01:00
Dominik Schulz 921d294ee4 Disable possible git concurrency during fsck (#2486)
By using the default queue some git operations might still have been
running when gopass did attempt to update exported keys. Disabling
the queue in the inner loop makes more sense since it's more predictable
and less brittle and using the queue there wouldn't help much anyway.

Fixes #2459

RELEASE_NOTES=[BUGFIX] Fix possible concurrency issues in fsck.

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
2022-12-23 22:26:20 +01:00
Dominik Schulz 16c071a780 Enable golangci-lint on push and pr (#2158)
Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
2022-03-24 21:58:53 +01:00
Dominik Schulz 5e51b46a84 Do not hide git error messages (#2118)
Fixes #1959

RELEASE_NOTES=[BUGFIX] Do not hide git error messages
2022-01-17 21:35:30 +01:00
Dominik Schulz c4b54ad310 Fix some TODOs (#2084) 2022-01-03 20:20:35 +01:00
Dominik Schulz 0eff31a8ce Enable additional golangci-lint godot checks (#2077) 2021-12-29 22:47:53 +01:00
Dominik Schulz d81ebf6cd4 Add gopass merge (#1979)
* Add gopass merge

Add a subcommand to implement a merge workflow.
This command accepts multiple entries to be merged
into one to help deduplicating secrets.

Fixes #1948

RELEASE_NOTES=[ENHACNEMENT] Add gopass merge

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>

* Add subcommand documentation.

RELEASE_NOTES=n/a

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>

* Update tests

RELEASE_NOTES=n/a

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>

* Fix queue bugs.

RELEASE_NOTES=n/a

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
2021-08-28 12:20:41 +02:00
Dominik Schulz ff349772ac Reduce dependencies on internal packages (#1707)
This PR moves some packages from internal to pkg to increase the
independence of binaries in cmd/ from internal packages further.

RELEASE_NOTES=n/a

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
2021-01-13 18:21:09 +01:00
Dominik Schulz ec3abb86f3 Add background queue
This commit adds a synchornous background queue for processing e.g. sync
tasks. These shouldn't be blocking in interactive use but still need to
be done before we terminate.

This might also help improve the git implementation later on.

RELEASE_NOTES=n/a

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
2020-07-14 21:06:07 +02:00
Dominik Schulz 762f62a091 Add ondisk sync backend (#1443)
This commit adds remote sync support to the ondisk backend. It uses
minio to support a number of cloud storage products as well as self
hosted minio servers.

RELEASE_NOTES=[FEATURE] Add remote sync support for the ondisk backend.

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
2020-07-10 08:42:56 +02:00