Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
00f5fad
qos_core: add tokio and tokio-vsock dependencies
Turnalek Aug 6, 2025
70eb06d
qos_core: add tokio and tokio-vsock dependencies
Turnalek Apr 24, 2025
154a5ad
update MSRV to 1.86
Turnalek Apr 24, 2025
e299320
implement async qos_net::AsyncProxy
Turnalek Aug 6, 2025
ec7be03
implement async qos_net::AsyncProxy
Turnalek Apr 24, 2025
574af47
unify reconnect logic
Turnalek Jun 19, 2025
20d6f2f
add async integration tests
Turnalek Jun 19, 2025
f107853
add DifferentPCR0 logging
Turnalek Jul 1, 2025
1415b77
use thread with Reaper::async_execute
Turnalek Jul 2, 2025
2df666e
add boot_enclave integration example
Turnalek Jul 3, 2025
7240014
hardcode init to 2 ports for now
Turnalek Jul 3, 2025
106e5fe
expand default sockets setup to 20 + 1 for qos-host
Turnalek Jul 3, 2025
0f60708
implement dynamic resizing async pool and server
Turnalek Jul 9, 2025
a0d665c
qos_net: remove async_proxy feature and cleanup
Turnalek Jul 15, 2025
1b24851
init: remove "async" feature, cleanup
Turnalek Jul 15, 2025
7bb2f15
qos_host: remove "async" feature and cleanup
Turnalek Jul 15, 2025
3857969
qos_core/qos_net: clean up cli arguments
Turnalek Jul 17, 2025
ef71146
qos_core: use Arc<RwLock<P>> for processor
Turnalek Jul 17, 2025
2e02fb9
qos_host: rename last remaining "async" sections
Turnalek Jul 22, 2025
a9140ed
integration: remove duplicate tests and pivots
Turnalek Jul 22, 2025
0d4faf2
qos_core: cleanup async naming in protocol/reaper
Turnalek Jul 22, 2025
433305a
update CHANGELOG
Turnalek Jul 22, 2025
c736e5b
qos_net: fix error case loop return
Turnalek Jul 23, 2025
b1ac534
qos_core: add StreamMode for legacy app support
Turnalek Jul 24, 2025
5da5140
qos_core: use reconnecting logic via SocketClient
Turnalek Jul 24, 2025
03b2de9
integration: add interleaving_socket_stress test
Turnalek Jul 29, 2025
7edc94b
qos_net: reduce duplicate error conversion
Turnalek Jul 29, 2025
4bf0d2c
qos_core: ensure we clean up stream state in all cases
Turnalek Jul 29, 2025
04d5bb9
qos_net: remove unused connection_id
Turnalek Jul 29, 2025
84dc571
qos_core: refactor SocketClient::call and add PoolGuard mutex
Turnalek Jul 30, 2025
afedb25
qos_core: remove leftover debug messages, fix nits
Turnalek Sep 9, 2025
565b6f7
init: refactor nits
Turnalek Sep 10, 2025
1e48be4
qos_net: re-add proxy_connection unit test
Turnalek Sep 10, 2025
1d18532
qos_core: fix new nits
Turnalek Sep 10, 2025
08b5707
Cargo.lock: update from main
Turnalek Sep 11, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions CHANGELOG.MD
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,14 @@ Removed: for now removed features.
Fixed: for any bug fixes.
Security: in case of vulnerabilities.

## Changed: `qos_core`, `qos_net`, `qos_host`, `init`

- Introduced new async version of each crate and a socket pool to allow proper concurrency of requests

## Removed: `qos_net`

- Removed `connection_id` from all `Proxy` structs and messages.

## Added: `qos_net` crate

In PR #449 we introduce `qos_net`, a crate which contains a socket<>TCP proxy to let enclave application communicate with the outside world.
Expand Down
82 changes: 78 additions & 4 deletions src/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 4 additions & 1 deletion src/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -33,14 +33,15 @@ aws-nitro-enclaves-nsm-api = { version = "0.4", default-features = false }
axum = { version = "0.6.20", features = ["http1", "tokio", "json"], default-features = false }
borsh = { version = "1.0", features = ["std", "derive"], default-features = false }
chunked_transfer = { version = "1.5.0", default-features = false }
futures = { version = "0.3.30" }
hex-literal = "0.4.0"
hickory-resolver = { version = "0.25.2", features = ["tokio", "dnssec-ring"], default-features = false }
hkdf = { version = "0.12", default-features = false }
hmac = { version = "0.12", default-features = false }
httparse = { version = "1.9.4", default-features = false }
lazy_static = "1.4"
libc = "=0.2.172"
nix = { version = "0.26", features = ["socket"], default-features = false }
nix = { version = "0.29.0", features = ["socket"], default-features = false }
p256 = { version = "0.12.0", default-features = false }
p384 = { version = "0.13", features = ["ecdsa", "std"], default-features = false }
rand = "0.9"
Expand All @@ -53,6 +54,8 @@ serde_json = { version = "1" }
sha2 = { version = "0.10", default-features = false }
thiserror = { version = "2.0.12", features = ["std"], default-features = false }
tokio = { version = "1.43.1", features = ["macros", "rt-multi-thread"], default-features = false }
tokio-rustls = { version = "0.26.2" }
tokio-vsock = { version = "0.7.1" }
ureq = { version = "2.9", default-features = false }
vsss-rs = { version = "5.1", default-features = false, features = ["std", "zeroize"] }
webpki = { version = "0.22.4", default-features = false }
Expand Down
Loading