Skip to content
  • Andrey Meshkov's avatar
    Pull request: proxy: added HTTP/3 support to the DNS-over-HTTPS server implementation · a03a56c8
    Andrey Meshkov authored
    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.
    a03a56c8
Loading