Dave Kempe
065367451b
Add Default derive for InstructionParser (clippy fix)
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
v0.1.3
2026-02-07 14:21:40 +11:00
Dave Kempe
a2bbce73ee
Add guacd parser fuzz harness and document fuzzing findings
...
libFuzzer+ASan+UBSan harness for guac_parser_append() — the C state
machine that parses all Guacamole wire-format input in guacd. 3.2M
iterations found no memory corruption; one non-exploitable signed
integer overflow (UBSan) in the length prefix accumulator noted in
FINDINGS.md.
Also adds FINDINGS.md for the Rust protocol parser fuzzer documenting
the UTF-8 boundary panic fix from v0.1.3.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-07 14:17:42 +11:00
Dave Kempe
1922bd9987
Add fuzz testing infrastructure and fix UTF-8 boundary panic
...
Add cargo-fuzz targets for the Guacamole protocol parser:
- protocol_parse: single instruction parsing
- protocol_stream: streaming parser with chunked input
Fix panic in Instruction::parse when a length prefix splits a multi-byte
UTF-8 character (found by fuzzer within seconds). Now returns
ParseError::Truncated instead of panicking on invalid char boundary.
Run with: cargo +nightly fuzz run protocol_parse
cargo +nightly fuzz run protocol_stream
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-07 13:39:16 +11:00
Dave Kempe
eab04ba2bd
Fix clippy type_complexity for OIDC pending flows
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-07 12:06:47 +11:00
Dave Kempe
4e4279dc5f
Bump version to 0.1.3 and fix formatting
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-07 11:40:06 +11:00
Dave Kempe
2187cfc1e4
Security hardening: 5 fixes from audit
...
- Vault TLS: replace hardcoded danger_accept_invalid_certs(true) with
configurable tls_skip_verify option (default: false)
- Share tokens: use constant-time SHA-256 hash comparison to prevent
timing side-channel attacks
- OIDC pending states: add 10-minute TTL, evict stale entries on each
login to prevent unbounded HashMap growth
- Recording path traversal: add canonical path validation as defense-
in-depth alongside existing string checks
- Frontend XSS: escape all user-controlled data (filenames, paths) in
innerHTML via escapeHtml/escapeAttr in client.html and recordings.html
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-07 11:34:54 +11:00
Dave Kempe
32c60469e4
Merge pull request #5 from sol1/dependabot/github_actions/actions/checkout-6
...
ci: bump actions/checkout from 4 to 6
2026-02-07 11:25:24 +11:00
Dave Kempe
bf49438ae7
Merge pull request #6 from sol1/dependabot/github_actions/actions/upload-artifact-6
...
ci: bump actions/upload-artifact from 4 to 6
2026-02-07 11:25:12 +11:00
Dave Kempe
577a28dbcb
Merge pull request #7 from sol1/dependabot/github_actions/actions/download-artifact-7
...
ci: bump actions/download-artifact from 4 to 7
2026-02-07 11:25:00 +11:00
Dave Kempe
177dbda605
Merge pull request #14 from sol1/dependabot/cargo/rcgen-0.14.7
...
deps: bump rcgen from 0.13.2 to 0.14.7
2026-02-07 11:24:00 +11:00
Dave Kempe
d61dfc2072
Merge pull request #15 from sol1/dependabot/cargo/ipnetwork-0.21.1
...
deps: bump ipnetwork from 0.20.0 to 0.21.1
2026-02-07 11:23:48 +11:00
Dave Kempe
284b4eef66
Merge pull request #10 from sol1/dependabot/cargo/clap-4.5.57
...
deps: bump clap from 4.5.56 to 4.5.57
2026-02-07 11:23:42 +11:00
Dave Kempe
8fe8d8afa2
Merge pull request #4 from sol1/dependabot/github_actions/actions/cache-5
...
ci: bump actions/cache from 4 to 5
2026-02-07 11:23:09 +11:00
Dave Kempe
6771e18640
Merge main into dependabot/cargo/rcgen-0.14.7
...
Resolve conflict: keep axum-server 0.8 (from main) and rcgen 0.14 (from this branch).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-07 11:15:15 +11:00
dependabot[bot]
1569fe234e
ci: bump actions/checkout from 4 to 6
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 4 to 6.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v4...v6 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-02-07 00:13:39 +00:00
dependabot[bot]
868c5ef2c9
ci: bump actions/upload-artifact from 4 to 6
...
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact ) from 4 to 6.
- [Release notes](https://github.com/actions/upload-artifact/releases )
- [Commits](https://github.com/actions/upload-artifact/compare/v4...v6 )
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-02-07 00:13:38 +00:00
dependabot[bot]
c40fca09a7
ci: bump actions/cache from 4 to 5
...
Bumps [actions/cache](https://github.com/actions/cache ) from 4 to 5.
- [Release notes](https://github.com/actions/cache/releases )
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md )
- [Commits](https://github.com/actions/cache/compare/v4...v5 )
---
updated-dependencies:
- dependency-name: actions/cache
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-02-07 00:13:37 +00:00
dependabot[bot]
468bb8d342
ci: bump actions/download-artifact from 4 to 7
...
Bumps [actions/download-artifact](https://github.com/actions/download-artifact ) from 4 to 7.
- [Release notes](https://github.com/actions/download-artifact/releases )
- [Commits](https://github.com/actions/download-artifact/compare/v4...v7 )
---
updated-dependencies:
- dependency-name: actions/download-artifact
dependency-version: '7'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-02-07 00:13:36 +00:00
dependabot[bot]
ccb3d168d3
deps: bump clap from 4.5.56 to 4.5.57
...
Bumps [clap](https://github.com/clap-rs/clap ) from 4.5.56 to 4.5.57.
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.56...clap_complete-v4.5.57 )
---
updated-dependencies:
- dependency-name: clap
dependency-version: 4.5.57
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-02-07 00:13:26 +00:00
dependabot[bot]
9000f33596
deps: bump ipnetwork from 0.20.0 to 0.21.1
...
Bumps [ipnetwork](https://github.com/achanda/ipnetwork ) from 0.20.0 to 0.21.1.
- [Release notes](https://github.com/achanda/ipnetwork/releases )
- [Changelog](https://github.com/achanda/ipnetwork/blob/master/CHANGELOG.md )
- [Commits](https://github.com/achanda/ipnetwork/compare/v0.20.0...v0.21.1 )
---
updated-dependencies:
- dependency-name: ipnetwork
dependency-version: 0.21.1
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-02-07 00:13:22 +00:00
Dave Kempe
556ec5a5e0
Merge pull request #17 from sol1/dependabot/cargo/rusqlite-0.38.0
...
deps: bump rusqlite from 0.32.1 to 0.38.0
2026-02-07 11:12:35 +11:00
Dave Kempe
d47c2f2e1f
Merge pull request #16 from sol1/dependabot/cargo/pulldown-cmark-0.13.0
...
deps: bump pulldown-cmark from 0.12.2 to 0.13.0
2026-02-07 11:12:29 +11:00
Dave Kempe
34ae15db72
Merge pull request #13 from sol1/dependabot/cargo/axum-server-0.8.0
...
deps: bump axum-server from 0.7.3 to 0.8.0
2026-02-07 11:12:24 +11:00
Dave Kempe
f6b6948af2
Merge pull request #11 from sol1/dependabot/cargo/tower-cookies-0.11.0
...
deps: bump tower-cookies from 0.10.0 to 0.11.0
2026-02-07 11:12:17 +11:00
Dave Kempe
e616afba08
Merge pull request #8 from sol1/dependabot/cargo/toml-0.9.11spec-1.1.0
...
deps: bump toml from 0.8.23 to 0.9.11+spec-1.1.0
2026-02-07 11:11:59 +11:00
Dave Kempe
2874396941
Fix rcgen 0.14 API: key_pair renamed to signing_key
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-07 11:06:46 +11:00
dependabot[bot]
b2b843481c
deps: bump pulldown-cmark from 0.12.2 to 0.13.0
...
Bumps [pulldown-cmark](https://github.com/raphlinus/pulldown-cmark ) from 0.12.2 to 0.13.0.
- [Release notes](https://github.com/raphlinus/pulldown-cmark/releases )
- [Commits](https://github.com/raphlinus/pulldown-cmark/compare/v0.12.2...v0.13.0 )
---
updated-dependencies:
- dependency-name: pulldown-cmark
dependency-version: 0.13.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-02-06 23:42:02 +00:00
dependabot[bot]
e8b0491d8e
deps: bump rcgen from 0.13.2 to 0.14.7
...
Bumps [rcgen](https://github.com/rustls/rcgen ) from 0.13.2 to 0.14.7.
- [Release notes](https://github.com/rustls/rcgen/releases )
- [Commits](https://github.com/rustls/rcgen/compare/v0.13.2...v0.14.7 )
---
updated-dependencies:
- dependency-name: rcgen
dependency-version: 0.14.7
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-02-06 23:42:00 +00:00
dependabot[bot]
b2b77ac7de
deps: bump rusqlite from 0.32.1 to 0.38.0
...
Bumps [rusqlite](https://github.com/rusqlite/rusqlite ) from 0.32.1 to 0.38.0.
- [Release notes](https://github.com/rusqlite/rusqlite/releases )
- [Changelog](https://github.com/rusqlite/rusqlite/blob/master/Changelog.md )
- [Commits](https://github.com/rusqlite/rusqlite/compare/v0.32.1...v0.38.0 )
---
updated-dependencies:
- dependency-name: rusqlite
dependency-version: 0.38.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-02-06 23:41:59 +00:00
dependabot[bot]
38f196db19
deps: bump tower-cookies from 0.10.0 to 0.11.0
...
Bumps [tower-cookies](https://github.com/imbolc/tower-cookies ) from 0.10.0 to 0.11.0.
- [Release notes](https://github.com/imbolc/tower-cookies/releases )
- [Commits](https://github.com/imbolc/tower-cookies/compare/v0.10.0...v0.11.0 )
---
updated-dependencies:
- dependency-name: tower-cookies
dependency-version: 0.11.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-02-06 23:41:58 +00:00
dependabot[bot]
a55d22ec0c
deps: bump toml from 0.8.23 to 0.9.11+spec-1.1.0
...
Bumps [toml](https://github.com/toml-rs/toml ) from 0.8.23 to 0.9.11+spec-1.1.0.
- [Commits](https://github.com/toml-rs/toml/compare/toml-v0.8.23...toml-v0.9.11 )
---
updated-dependencies:
- dependency-name: toml
dependency-version: 0.9.11+spec-1.1.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-02-06 23:41:54 +00:00
dependabot[bot]
d2cc38936a
deps: bump axum-server from 0.7.3 to 0.8.0
...
Bumps [axum-server](https://github.com/programatik29/axum-server ) from 0.7.3 to 0.8.0.
- [Release notes](https://github.com/programatik29/axum-server/releases )
- [Changelog](https://github.com/programatik29/axum-server/blob/master/CHANGELOG.md )
- [Commits](https://github.com/programatik29/axum-server/compare/v0.7.3...v0.8.0 )
---
updated-dependencies:
- dependency-name: axum-server
dependency-version: 0.8.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-02-06 23:41:49 +00:00
Dave Kempe
7e170e699c
Bump version to 0.1.2
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
v0.1.2
2026-02-07 10:41:26 +11:00
Dave Kempe
466ffd2d44
Upgrade openidconnect v3 -> v4, remove JumpCloud references
...
- openidconnect 3.5.0 -> 4.0.1 (oauth2 4 -> 5)
- Eliminates duplicate reqwest/hyper/http dependency chains
- 386 -> 355 crate dependencies
- Resolves rustls-pemfile 1.0.4 unmaintained warning
- HTTP client now uses stateful reqwest::Client (no-redirect policy)
- exchange_code returns Result for EndpointMaybeSet token URLs
- Remove JumpCloud from provider examples, prefer Authentik
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-07 10:39:24 +11:00
Dave Kempe
05f39d3d1f
Patch dependency vulnerabilities, update Rust to 1.93
...
- bytes 1.11.0 -> 1.11.1 (integer overflow fix)
- time 0.3.41 -> 0.3.47 (stack exhaustion DoS fix)
- Ignore RUSTSEC-2023-0071 (rsa timing attack, no fix available)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-07 10:08:08 +11:00
Dave Kempe
fead6bbd9b
Add supply chain security: Dependabot, cargo audit in CI
...
- Enable Dependabot for weekly Cargo and GitHub Actions updates
- Add cargo audit step to CI pipeline
- Patch bytes 1.11.0 -> 1.11.1 (integer overflow fix)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-07 10:03:18 +11:00
Dave Kempe
292db1fa55
Update OIDC docs to prefer Authentik, add setup guide
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-07 09:52:23 +11:00
Dave Kempe
5484cc82ae
Bump version to 0.1.1
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
v0.1.1
2026-02-07 09:37:13 +11:00
Dave Kempe
6bf8383e88
fixes bugs #1 #2 and #3 .
2026-02-07 09:32:05 +11:00
Dave Kempe
439eab21ee
Update Docker references to sol1/rustguac on Docker Hub
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-06 15:15:02 +11:00
Dave Kempe
67101e27ce
Initial public release
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
v0.1.0
2026-02-06 14:38:53 +11:00