Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update DnsLibs to 1.5.38 #3859

Closed
8 tasks
sfionov opened this issue May 25, 2021 · 0 comments
Closed
8 tasks

Update DnsLibs to 1.5.38 #3859

sfionov opened this issue May 25, 2021 · 0 comments

Comments

@sfionov
Copy link
Member

sfionov commented May 25, 2021

V1.5.38

  • [Other] Use a realtime monotonic clock for QUIC idle timeout #109
  • [Fix] Some DnsCrypt stamps are not accepted

V1.5

  • [Feature] Fallback-only domains. See fallbackDomains or fallback_domains in respective adapters.

    • This is a list of domains (limited wildcards allowed) that will be forwarded directly to the fallback upstreams (if they exist).
    • There's also an option to automatically append DNS search domains to this list, see detectSearchDomains (Android and Apple only, Windows adapter handles search domains on its own).
    • WARNING: Note to application developers: you MUST get the default value of this field
      from dnsproxy_settings::get_default()/DnsProxySettings.getDefault()/AGDnsProxyConfig.getDefault()
      as it contains important default for Wi-Fi calling, but we can't add them automatically, because the user should see the defaults somewhere in UI and be able to edit them.
  • [Features] Retransmission handling: see enableRetransmissionHandling or enable_retransmission_handling.
    Mostly intended for iOS.
    If enable_retransmission_handling is true, retransmitted requests (defined as requests with the same id and sent from the same address that one of the requests that are currently being handled) will be handled only using fallback upstreams, and the answer to the original request will not be sent (to prevent possibly sending SERVFAIL, b/c iOS may mark the resolver as "bad" in this case and refuse to resolve anything from that point).
    Enabling this feature shouldn't break anything on Android and Windows, but it should not be enabled if there are otherwise no issues with retransmitted requests.

  • [Feature] Add an ability to set up outbound proxy

    • [Android] see OutboundProxySettings
    • [Apple] see AGOutboundProxySettings. iOS may not want to implement this.
    • [C API] see ag_outbound_proxy_settings
  • [Feature] DNS stamp API has been reworked in adapters: DNS stamps can now be
    dynamically edited and converted to various string representations.

  • [Feature] DNSLibs indicate that upstream uses DNSSEC. You may turn on ag::dnsproxy_settings::enable_dnssec_ok
    and check ag::dns_request_processed_event::dnssec in callback. However, this should be off by default.

  • [Feature] DNS-over-QUIC default port changed. New port is 8853.
    Now an address like quic://dns.adguard.com is processed in same way as quic://dns.adguard.com:8853.
    So to force the use of the old port 784 specify it strictly - quic://dns.adguard.com:784.
    MIGRATION IS NEEDED!
    That means that if you have custom user's quic:// URLs and DoQ sdns:// stamps in your server list, they (excluding AdGuard's) should be changed from quic://example.org to quic://example.org:784. DoQ sdns:// stamps should also be patched to include port, if they are in list.

AdGuard servers are already support 8853 port so URLs don't need to be changed.

  • [Feature] Allow retrieving the library version
    • see ag::dnsproxy::version()
    • see AGDnsProxy.libraryVersion (Apple)
    • see com.adguard.dnsproxy.DnsProxy.version() (Android)
    • see ag_dnsproxy_version() (C API)
  • [Feature] Add a "pretty URL" function for DNS stamps
    • see ag::server_stamp::pretty_url()
    • see AGDnsStamp.prettyUrl, AGDnsStamp.prettierUrl (Apple)
    • see com.adguard.dnsproxy.DnsStamp.getPrettyUrl(),
      com.adguard.dnsproxy.DnsStamp.getPrettierUrl() (Android)
    • see ag_dns_stamp::pretty_url, ag_dns_stamp::prettier_url (C API)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants