• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

IJHack / QtPass / 40573392335
93%

Build:
DEFAULT BRANCH: main
Ran 27 Oct 2026 08:04PM UTC
Jobs 1
Files 122
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

27 Oct 2026 07:55PM UTC coverage: 92.471% (+0.009%) from 92.462%
40573392335

push

github

web-flow
RnpCrypto keyring: no linked folder, Unknown protection refused, docs (#2068)

* RnpCrypto keyring: no linked folder, Unknown protection refused, docs

Henk's non-blocking points on #2067:

- saveKeyring() and loadKeyring() refuse a keyring folder that is a
  link, as keyring.gpg itself is not read through one: mkpath and
  setPermissions would have followed it and chmodded the target.
- A secret part whose protection RNP reports as "Unknown" did not count
  as a secret key here, so it escaped the refusal, yet rnp_save_keys()
  writes it. It is refused without consent now, like an unprotected one.
- saveKeyring() doc: load the folder first, or every key not in this
  keyring is gone from disk (how a removed key disappears; the footgun).
- protectKey() doc: the caller wipes its own passphrase copy.
- "Owner-only" qualified for Windows (as private as the user profile),
  in the doc and SECURITY.md.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VJygpMUf461yZgfAqwMJ6d
Signed-off-by: Anne Jan Brouwer <brouwer@annejan.com>

* Keyring folder: links in every spelling, and a scan that fails closed

- The folder check is Util::isLinkedFolder(): cleaned first, so "dir/"
  and "dir/." are judged as the link and not by its target, and a
  junction counts on Windows (as skippedGpgId() and isOwnGpgId() do).
  Tested with all three spellings; "dir/" got through before.
- firstSecretOfUnknownProtection() tells "none" from "could not finish":
  any RNP error during the scan stops saveKeyring() before anything is
  written, instead of reading as "no such key" (CodeRabbit).
- Doc: the folder itself is checked; its parents are as configured.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VJygpMUf461yZgfAqwMJ6d
Signed-off-by: Anne Jan Brouwer <brouwer@annejan.com>

---------

Signed-off-by: Anne Jan Brouwer <brouwer@annejan.com>
Co-authored-by: Claude Opus... (continued)

9433 of 10201 relevant lines covered (92.47%)

304.62 hits per line

Jobs
ID Job ID Ran Files Coverage
1 40573392335.1 27 Oct 2026 08:04PM UTC 122
92.47
GitHub Action Run
Source Files on build 40573392335
  • Tree
  • List 122
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #40573392335
  • f985ef38 on github
  • Prev Build on main (#40564693566)
  • Next Build on main (#40584149370)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc