Commit Graph

26 Commits

Author SHA1 Message Date
Frank Olbricht
f568cac644 Tweak more log levels (#437) 2025-02-16 13:36:28 +01:00
Leonard Walter
d0564a8d77 Bunch of DoH fixes bundled together (#419)
* removed unused hostname parameter from quicDial function

* removed outdated use of ioutil

* implemented proper quic 0rtt decision making
2025-01-15 06:26:23 +01:00
Ali
e51f51e1bc move from logrus to slog (#422)
* Migrate from logrus to slog

* fully removing logrus

* should be working now

* Update pipeline.go

Co-authored-by: Frank Olbricht <frank.olbricht@gmail.com>

* Update response-blocklist-name.go

Co-authored-by: Frank Olbricht <frank.olbricht@gmail.com>

* added null logger

* Update pipeline.go

---------

Co-authored-by: Frank Olbricht <frank.olbricht@gmail.com>
2025-01-13 08:43:30 +01:00
Leonard Walter
f2a08d62b3 Enabling 0-RTT for QUIC/H3 clients (#387)
* Updated the DoQ and DoH QUIC client to enable 0-RTT based on the guide from: https://quic-go.net/docs/http3/client/#using-0-rtt

* changed doq client to use DialEarly for 0-RTT support

* Added 0-RTT toggle - introduced the Use0RTT option to the configuration

* reverted the doqcliet DialEarly changes as they were not needed and had a bug.
Renamed the 0RTT toggle and updated the documentation.

* catching missconfig of 0-RTT and HTTP/2
2024-05-09 07:53:58 +02:00
Frank Olbricht
2f11e5f65d Retry failed quic connections once, regardless of error type (#350) 2023-11-18 10:00:13 +01:00
nickzhog
0cbc856c09 add SetWriteDeadline (#358)
* fix query-timeout for doq

* fix query-timeout for doq
2023-11-14 11:19:44 +01:00
Frank Olbricht
ed132d812f Set ServerName for DoQ TLS validation explicitly (#329) 2023-08-31 08:42:02 +02:00
Frank Olbricht
3d62f19be8 Update quic-go to support building with Go 1.21 (#323) 2023-08-22 08:48:39 +02:00
Frank Olbricht
edcbbc214a Fix race in DOQ client (#296) 2023-04-07 19:38:06 +02:00
Frank Olbricht
961a297d5a New 'query-timeout' option for resolvers (#295)
* New 'query-timeout' option for resolvers

* docs
2023-03-26 12:04:41 +02:00
Matt Keenan
eac077ca1b DoQ copy query to prevent false sharing w/ 0 query Id (#288)
Co-authored-by: Matt Keenan <matt@mattkeenan.net>
2023-03-04 08:43:31 +01:00
Matt Keenan
dcb42ec615 close UDP socket after quic new stream fails (#287)
* close UDP socket after quic new stream fails

  - we need to close the UDP socket after a new quic session fails
    before we attempt to retry with a new connection, this is
    because we created the UDP socket not quic-go, so we have to
    clean up our own mess as quic-go won't clean it up for us
  - remove pool for doq connections as this is now fixed in
    quic-go, c.f. https://github.com/quic-go/quic-go/issues/3718
  - update quic-go version in go.mod
  - WARNING: updated quic-go REQUIRES go 1.19 or newer to compile

* fix various issues with PR

* bump go version to 1.19 because quic-go requires it

---------

Co-authored-by: Matt Keenan <matt@mattkeenan.net>
2023-03-03 11:14:07 +01:00
tobyxdd
d9b91436ef Bump quic-go to 0.32.0 2023-02-01 23:04:43 -08:00
folbrich
6bb93ef4f9 Prefix DoQ packets with length as per rfc9250 2022-08-16 11:28:25 +02:00
Frank Olbricht
ab1ca2b657 Update dependencies (#232) 2022-04-10 20:00:42 +02:00
Frank Olbricht
d0a15f423c Fix connection leak when using QUIC (#173)
* Fix connection leak when using QUIC

* Remove override

* go mod tidy
2021-07-30 06:39:31 -06:00
Frank Olbricht
d82fd0c82b Update QUIC to support RFC9000 (#163) 2021-06-12 09:52:13 -06:00
Frank Olbricht
59325942d9 Correct ALPN token for DOQ (#148) 2021-03-30 21:02:29 -06:00
Frank Olbricht
e962ab8023 Restore the original query ID when DoQ fails (#120) 2020-12-30 09:09:02 -07:00
Frank Olbricht
a04d594cb2 Store QUIC server tokens per resolver (#100)
* Store QUIC server tokens per resolver

* Clean up dependencies
2020-11-22 09:19:56 -07:00
SeanBurford
482d40a5db Expvar (#84)
* Add metric tracking

* Clean up metrics structures.

* Add available route metric to router.
2020-09-06 09:55:30 -06:00
Frank Olbricht
896eb3f8c1 Validate resolver addresses during startup (#77)
* Validate resolver addresses during startup

* Validate the port number as well

* Move endpoint validation into the library
2020-08-02 09:57:58 -06:00
Frank Olbricht
f9cb6aab39 Support setting source address of resolvers (#75)
* Support setting source address of resolvers

* Support LocalAddr option in UDP and TCP resolvers

* Support local-address option for DoQ and DoT
2020-07-21 07:12:09 -06:00
Frank Olbricht
94387020af Log query type (#69) 2020-06-22 20:19:36 -06:00
Frank Olbricht
6c59cb1a7c Improve logging (#51)
* Improve logging

* fix test
2020-06-07 13:24:51 -06:00
Frank Olbricht
6028ffd1a6 Support DNS-over-QUIC (#30)
* Support DNS-over-QUIC

* Update deps

* Align more closely with the latest draft

* Fail on TCP KEEPALIVE EDNS0 as per spec
2020-05-24 08:16:14 -06:00