Skip to content

fix(cli): DSPX-4168 allow Linux profile authentication - #4235

Merged
jakedoublev merged 3 commits into
mainfrom
fix/otdfctl-linux-auth
Oct 19, 2026
Merged

jakedoublev merged 3 commits into
mainfrom
fix/otdfctl-linux-auth

Conversation

@jakedoublev

@jakedoublev jakedoublev commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Remove the blanket Linux auth block while preserving encrypted profile storage. Document Secret Service requirements and headless credential flags, and cover Linux profile authentication and logout with BATS.

Summary by CodeRabbit

  • Documentation
    • Added Linux guidance explaining that profile encryption requires an available, unlocked Secret Service keyring in the current D-Bus session. For headless systems without one, the guide describes using client-credentials authentication with --host for platform commands.
  • Bug Fixes
    • Linux authentication commands no longer display the keyring-availability warning.
    • Added a Linux authentication regression check for environments with a D-Bus session.

Signed-off-by: jakedoublev <jake.vanvorhis@virtru.com>
@coderabbitai

coderabbitai Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Repository UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 0bc0b7cd-b650-4487-8a4b-97bc7fc98783
📥 Commits

Reviewing files that changed from the base of the PR and between b048476 and 178c53c.

📒 Files selected for processing: 4
  • otdfctl/README.md
  • otdfctl/cmd/auth/auth.go
  • otdfctl/cmd/auth/auth_test.go
  • otdfctl/e2e/auth.bats
💤 Files with no reviewable changes: 1
  • otdfctl/cmd/auth/auth_test.go

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

📝 Walkthrough

The auth command no longer installs a Linux keyring warning hook. A Linux end-to-end test checks authentication behavior, and the README documents profile keyring requirements and a headless-system workaround.

Changes: Linux authentication

Layer / File(s) Summary
Authentication behavior and guidance
otdfctl/cmd/auth/auth.go, otdfctl/cmd/auth/auth_test.go, otdfctl/e2e/auth.bats, otdfctl/README.md
The auth command no longer installs a Linux keyring warning hook. The Linux end-to-end test checks client-credential login and logout without the warning. The README documents profile keyring requirements and headless-system usage.

Priority: ➖ Normal

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Bug fix

Suggested reviewers: alkalescent

Merge Risk: ⚪ Minimal · up to 178c5

The Linux test runner provisions an unlocked keyring, and the documented headless platform-command flow avoids keyring-backed profiles. No actionable merge-blocking risk was identified.

Pre-merge checks: Passed 4 · Failed 1

Failed Failed checks: 1 warning

Check name Status Explanation Resolution
Docstring Coverage Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 2 files. (1 skipped: 1 … Write docstrings for the functions missing them to satisfy the coverage threshold.
Passed Passed checks: 4 passed
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly and concisely identifies the main change: enabling Linux profile authentication.
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 2 files. (1 skipped: 1 unsupported.)

  • Fix all pre-merge checks with AI
✨ Finishing Touches: 💡 2
📝 Generate docstrings: 💡
  • Commit to this branch
  • Create a new PR
🛠️ Fix failing CI checks: 💡
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

A rabbit checks the keyring door
Then tests the login path once more
The warning hops out of the way
The README shows a headless way
And logout closes out the day

Comment @coderabbitai help to get the list of available commands.

Signed-off-by: jakedoublev <jake.vanvorhis@virtru.com>
@github-actions

Copy link
Copy Markdown
Contributor
Benchmark results, click to expand

Bulk Benchmark Results

Metric Value
Total Decrypts 100
Successful Decrypts 100
Failed Decrypts 0
Total Time 353.693851ms
Throughput 282.73 requests/second

TDF3 Benchmark Results

Metric Value
Total Requests 5000
Successful Requests 5000
Failed Requests 0
Concurrent Requests 50
Total Time 37.7047516s
Average Latency 376.258893ms
Throughput 132.61 requests/second

Signed-off-by: jakedoublev <jake.vanvorhis@virtru.com>
@github-actions

Copy link
Copy Markdown
Contributor

@github-actions

Copy link
Copy Markdown
Contributor

X-Test Failure Report

govulncheck-failure-4

@jakedoublev jakedoublev changed the title fix(otdfctl): allow Linux profile authentication fix(cli): DSPX-4168 allow Linux profile authentication Oct 16, 2026
@jakedoublev
jakedoublev marked this pull request as ready for review October 16, 2026 03:57
@jakedoublev
jakedoublev requested a review from a team as a code owner October 16, 2026 03:57
@github-actions

Copy link
Copy Markdown
Contributor
Benchmark results, click to expand

Bulk Benchmark Results

Metric Value
Total Decrypts 100
Successful Decrypts 100
Failed Decrypts 0
Total Time 235.999222ms
Throughput 423.73 requests/second

TDF3 Benchmark Results

Metric Value
Total Requests 5000
Successful Requests 5000
Failed Requests 0
Concurrent Requests 50
Total Time 26.097346403s
Average Latency 260.37439ms
Throughput 191.59 requests/second

@github-actions

Copy link
Copy Markdown
Contributor
Benchmark results, click to expand

Bulk Benchmark Results

Metric Value
Total Decrypts 100
Successful Decrypts 100
Failed Decrypts 0
Total Time 335.729575ms
Throughput 297.86 requests/second

TDF3 Benchmark Results

Metric Value
Total Requests 5000
Successful Requests 5000
Failed Requests 0
Concurrent Requests 50
Total Time 33.729183076s
Average Latency 336.65329ms
Throughput 148.24 requests/second

@github-actions

Copy link
Copy Markdown
Contributor

⚠️ Govulncheck found vulnerabilities ⚠️

The following modules have known vulnerabilities:

  • otdfctl
  • sdk
  • service
  • lib/fixtures
  • tests-bdd

See the workflow run for details.

@c-r33d

c-r33d commented Oct 19, 2026

Copy link
Copy Markdown
Contributor

Seems fine, if the goal is to unblock non-headless systems where customers have the identified system config.

@jakedoublev
jakedoublev added this pull request to the merge queue Oct 19, 2026
Merged via the queue into main with commit 118e11c Oct 19, 2026
48 of 50 checks passed
@jakedoublev
jakedoublev deleted the fix/otdfctl-linux-auth branch October 19, 2026 14:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants