Skip to content

feat(sql): add --sudo, fix sqlite 3.22 reads, and release v0.8.0 - #59

Merged
jamiesun merged 1 commit into
mainfrom
feat/sql-sudo-v0.8.0
Aug 21, 2026
Merged

feat(sql): add --sudo, fix sqlite 3.22 reads, and release v0.8.0#59
jamiesun merged 1 commit into
mainfrom
feat/sql-sudo-v0.8.0

Conversation

@jamiesun

Copy link
Copy Markdown
Contributor

Summary

SQLite SQL mode was unusable on older distro sqlite3 clients and on service-owned database files. This release:

  • Stops passing sqlite3 -readonly (missing on sqlite 3.22). Reads still open file:<path>?mode=ro.
  • Includes remote stdout/stderr on sshx sql --json failures so agents can see the real client error.
  • Adds sshx sql --sudo (sudo -S, password on stdin, never argv) for files the SSH user cannot open.

Verified on appserver sqlite 3.22 against /var/toughradius/data/toughradius.db with --sudo.

Release

CHANGELOG and SECURITY supported-versions table are updated for v0.8.0. After merge, tag v0.8.0 to trigger the GitHub Actions release.

Test plan

  • go test ./internal/sqlsafe ./internal/app ./internal/sshclient
  • pre-commit / pre-push suite (fmt, vet, e2e, golangci-lint, multi-platform build)
  • remote SELECT + guarded UPDATE on sqlite 3.22
  • --sudo SELECT against a permission-denied production SQLite file

SQLite reads no longer pass sqlite3 -readonly, which older distro
clients reject. JSON failures now include remote stdout/stderr.
sshx sql --sudo runs the remote client via sudo -S so service-owned
database files are reachable when the SSH user cannot open them.

Co-authored-by: Copilot App <[email protected]>
@jamiesun
jamiesun merged commit 12bc6f6 into main Aug 21, 2026
9 checks passed
@jamiesun
jamiesun deleted the feat/sql-sudo-v0.8.0 branch August 21, 2026 07:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant