-
- Downloads
Pull request: proxy: added HTTP/3 support to the DNS-over-HTTPS server implementation
Merge in DNS/dnsproxy from doh3server to master Squashed commit of the following: commit dd7f6ecb0264afd16ee6fcd47ff7bafe06797645 Author: Andrey Meshkov <am@adguard.com> Date: Tue Sep 20 14:17:51 2022 +0300 upstream: fix review comments commit 3b887f614163f4900f75807c990ad2a5d354d3b5 Author: Andrey Meshkov <am@adguard.com> Date: Tue Sep 20 00:14:19 2022 +0300 proxy: added address validation logic commit b29dc3c3b6746ad5be921941904f16ab228b1dab Author: Andrey Meshkov <am@adguard.com> Date: Mon Sep 19 23:31:21 2022 +0300 proxy: fix review comments, general improvements commit 79f47f54adcd30a68a9f7bc0111025ae0a32d99d Author: Andrey Meshkov <am@adguard.com> Date: Mon Sep 19 20:43:26 2022 +0300 upstream: several improvements in DoH3 and DoQ upstreams The previous implementation weren't able to properly handle a situation when the server was restarted. This commit greatly improves the overall stability. commit 59cf92b6097d78acf6f088057134888993f7ca43 Author: Andrey Meshkov <am@adguard.com> Date: Sat Sep 17 02:51:40 2022 +0300 proxy: remoteAddr for DoH depends on HTTP version now commit 804ddedd2807870b7d36dae5ce9857de3a7f7286 Author: Andrey Meshkov <am@adguard.com> Date: Sat Sep 17 01:53:32 2022 +0300 proxy: added HTTP/3 support to the DNS-over-HTTPS server implementation The implementation follows the old approach that was used in dnsproxy, i.e. it adds another bunch of "listeners", the new ones are for HTTP/3. HTTP/3 support is not enabled by default, it should be enabled explicitly by setting HTTP3 field of proxy.Config to true. The "--http3" command-line argument now controls DoH3 support on both the client-side and the server-side. There's one more important change that was made while refactoring the code. Previously, we were creating a separate http.Server instance for every listen address that's used. It is unclear to me what's the reason for that since a single instance can be used to serve on every address. This mistake is fixed now.
Showing
- README.md 5 additions, 0 deletionsREADME.md
- fastip/fastest.go 1 addition, 2 deletionsfastip/fastest.go
- fastip/ping_test.go 3 additions, 3 deletionsfastip/ping_test.go
- go.mod 1 addition, 0 deletionsgo.mod
- go.sum 2 additions, 0 deletionsgo.sum
- main.go 2 additions, 2 deletionsmain.go
- proxy/config.go 1 addition, 0 deletionsproxy/config.go
- proxy/proxy.go 43 additions, 64 deletionsproxy/proxy.go
- proxy/proxy_test.go 2 additions, 6 deletionsproxy/proxy_test.go
- proxy/server.go 7 additions, 2 deletionsproxy/server.go
- proxy/server_dnscrypt.go 22 additions, 1 deletionproxy/server_dnscrypt.go
- proxy/server_https.go 92 additions, 38 deletionsproxy/server_https.go
- proxy/server_https_test.go 136 additions, 58 deletionsproxy/server_https_test.go
- proxy/server_quic.go 108 additions, 15 deletionsproxy/server_quic.go
- proxy/server_quic_test.go 1 addition, 1 deletionproxy/server_quic_test.go
- upstream/bootstrap.go 13 additions, 0 deletionsupstream/bootstrap.go
- upstream/upstream_doh.go 96 additions, 24 deletionsupstream/upstream_doh.go
- upstream/upstream_doh_test.go 91 additions, 12 deletionsupstream/upstream_doh_test.go
- upstream/upstream_quic.go 143 additions, 64 deletionsupstream/upstream_quic.go
- upstream/upstream_quic_test.go 162 additions, 2 deletionsupstream/upstream_quic_test.go
Loading
Please register or sign in to comment