Commit Graph

2752 Commits

Author SHA1 Message Date
daxpedda
a846914b11 Parallelize concurrent requests 2023-10-06 09:12:32 -07:00
daxpedda
09a12da340 Document ALPN insertion behavior 2023-10-06 09:12:32 -07:00
daxpedda
f10faa3516 Rename HTTPS implementation to H2 2023-10-06 09:12:32 -07:00
daxpedda
ebb098de38 Remove incorrect warning in HTTP/3 stream handling 2023-10-06 09:12:32 -07:00
daxpedda
52194bf88c Remove unnecessary whitespace 2023-10-06 09:12:32 -07:00
daxpedda
9009792d05 Recursor implementation 2023-10-06 09:12:32 -07:00
daxpedda
766c0c854e Binary implementation 2023-10-06 09:12:32 -07:00
daxpedda
fabbefa3f2 Integration tests implementation 2023-10-06 09:12:32 -07:00
daxpedda
72af881303 Util implementation 2023-10-06 09:12:32 -07:00
daxpedda
f52ff659b2 Server implementation 2023-10-06 09:12:32 -07:00
daxpedda
12a73cd6e0 Resolver implementation 2023-10-06 09:12:32 -07:00
dAxpeDDa
c2fefc9421 Proto server implementation 2023-10-06 09:12:32 -07:00
dAxpeDDa
e34770c113 Proto client implementation 2023-10-06 09:12:32 -07:00
小明
7c78e740ef
Optimized shutdown_gracefully() (#2041) 2023-10-05 10:00:11 +02:00
Dirkjan Ochtman
3268444793 Use consistent error type for read_system_conf() 2023-10-04 12:41:28 -07:00
Benjamin Fry
e8b5a23a1e fix audit of async-process 1.8 2023-10-04 11:06:22 +02:00
Dirkjan Ochtman
ee530bf749 proto: make the lexer an implementation detail of the parser 2023-09-29 09:41:01 -07:00
Dirkjan Ochtman
77e06525c1 proto: handle includes in the parser 2023-09-29 09:41:01 -07:00
Dirkjan Ochtman
4b334aee36 proto: store state in Parser 2023-09-29 09:41:01 -07:00
Dirkjan Ochtman
fa879e1810 proto: make sure a Parser is used only once 2023-09-29 09:41:01 -07:00
daxpedda
dc0d800967 Fix DoQ default configuration 2023-09-29 12:48:09 +02:00
Yaroslav Rosomakho
615c5b4eae Spawn data processing in a separate tokio task to avoid deadlock if the Data frame is not yet received. 2023-09-26 13:30:15 -07:00
Dirkjan Ochtman
9651dbde89 util: clarify internal structure 2023-09-26 08:28:39 -07:00
Dirkjan Ochtman
871e1d4639 Bump MSRV to 1.67 (for time) 2023-09-26 08:28:39 -07:00
Dirkjan Ochtman
1fef1e888f Avoid deprecated rustls API 2023-09-26 08:28:39 -07:00
Dirkjan Ochtman
b1c669bc66 Update semver-compatible dependencies 2023-09-26 08:28:39 -07:00
Dirkjan Ochtman
72d398eea6 server: switch to basic-toml 2023-09-26 08:28:39 -07:00
Dirkjan Ochtman
10d2ffcb04 Clean up unused dependencies 2023-09-26 08:28:39 -07:00
Dirkjan Ochtman
2e1c67c2f5 server: make TOML dependency optional 2023-09-26 08:28:39 -07:00
Dirkjan Ochtman
5ba8afaf5f server: simplify Config TOML API 2023-09-26 08:28:39 -07:00
Benjamin Fry
704e9a8a0f update certs for server https/quic tests 2023-09-26 08:28:39 -07:00
Benjamin Fry
a2b8903916 add MSRV env-var to justfile for testing 2023-09-26 08:28:39 -07:00
Benjamin Fry
90edda6b05 cleanup infallible DNSClass usage 2023-09-20 08:08:50 -07:00
Benjamin Fry
aa9ebb729e track the RecordType on RData::Unknown instead of u16 2023-09-20 08:08:50 -07:00
Benjamin Fry
c8a063120c make DNSClass parsing infallible 2023-09-20 08:08:50 -07:00
Benjamin Fry
da2135493a add awkward deserialization of message test 2023-09-20 08:08:50 -07:00
Benjamin Fry
970614e0a9 move Message tests into inner module 2023-09-20 08:08:50 -07:00
daxpedda
a6a7b2c9ba Address review 2023-09-19 16:31:33 -07:00
daxpedda
cf26eb52db Remove Copy from ResolverOpts 2023-09-19 16:31:33 -07:00
Benjamin Fry
272059870a add trailing newline in justfile 2023-09-17 16:17:27 -07:00
Benjamin Fry
a5bc0b8728 add run-example target to justfile to simply start trust-dns for manual testing 2023-09-17 16:17:27 -07:00
Logan Praneis
64280f475e fix: Prevent task reaping from blocking
Previously, the `reap_tasks` function could cause a tokio task to spinloop, preventing it from being cancelled.

This is because `FutureExt::now_or_never` returns an Option<T> where T is the inner future's resolution type.
If `join_set.join_next()` returned None, indicating there are no longer tasks to join, the `FutureExt::now_or_never` would return `Some(None)`.

However, the `is_some()` spinloop in this function would see the `Some(None)` and busy loop calling `FutureExt::now_or_never`.
This causes the tokio task to fail to be cancelled properly as it never yields to the executor.

The fix here is to use `Option::flatten` to transform the nested Option.
Now, the call to `reap_tasks` will only loop when the inner `join_set.join_next` returns `Some(..)`, indicating that a task is already complete.
When there are no tasks complete, or when the `JoinSet` is empty and returns `None`, the `reap_tasks` function will immediately yield.
2023-09-15 12:29:25 +02:00
Benjamin Fry
3386076e7c update cargo workspaces to fix nightly 0.2.44 2023-09-11 10:06:45 +02:00
Yuwei Ba
329c316008 Update crates/proto/src/xfer/dnssec_dns_handle.rs 2023-09-07 14:41:42 +02:00
Yuwei B
2aba76dc17 cargo fix 2023-09-07 14:41:42 +02:00
Yuwei B
1df7537192 make it no mut 2023-09-07 14:41:42 +02:00
Basileus
fe7bd363a7 Forward serde-config feature to the proto crate 2023-09-06 07:16:03 +02:00
dependabot[bot]
202fe2a8a4 Bump actions/checkout from 3 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [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/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-04 16:45:06 +02:00
Benjamin Fry
a6db011fab Fix the resolver version warning in the workspace 2023-09-01 09:35:32 +02:00
daxpedda
8e38497142 Fix CI 2023-08-31 14:26:39 -07:00