mirror of
https://github.com/m13253/dns-over-https.git
synced 2026-03-31 16:15:40 +00:00
Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
93b70f3941 | ||
|
|
76c40fb4dc | ||
|
|
174a465ac8 |
@@ -4,6 +4,10 @@ This Changelog records major changes between versions.
|
||||
|
||||
Not all changes are recorded. Please check git log for details.
|
||||
|
||||
## Version 1.3.5
|
||||
|
||||
- Limit the frequency of creating HTTP client on bad network condition
|
||||
|
||||
## Version 1.3.4
|
||||
|
||||
- doh-client now silently fails in case of network error to prevent caching of SERVFAIL
|
||||
|
||||
@@ -40,15 +40,16 @@ import (
|
||||
)
|
||||
|
||||
type Client struct {
|
||||
conf *config
|
||||
bootstrap []string
|
||||
udpServers []*dns.Server
|
||||
tcpServers []*dns.Server
|
||||
bootstrapResolver *net.Resolver
|
||||
cookieJar *cookiejar.Jar
|
||||
httpClientMux *sync.RWMutex
|
||||
httpTransport *http.Transport
|
||||
httpClient *http.Client
|
||||
conf *config
|
||||
bootstrap []string
|
||||
udpServers []*dns.Server
|
||||
tcpServers []*dns.Server
|
||||
bootstrapResolver *net.Resolver
|
||||
cookieJar *cookiejar.Jar
|
||||
httpClientMux *sync.RWMutex
|
||||
httpTransport *http.Transport
|
||||
httpClient *http.Client
|
||||
httpClientLastCreate time.Time
|
||||
}
|
||||
|
||||
type DNSRequest struct {
|
||||
@@ -124,6 +125,9 @@ func NewClient(conf *config) (c *Client, err error) {
|
||||
func (c *Client) newHTTPClient() error {
|
||||
c.httpClientMux.Lock()
|
||||
defer c.httpClientMux.Unlock()
|
||||
if !c.httpClientLastCreate.IsZero() && time.Now().Sub(c.httpClientLastCreate) < time.Duration(c.conf.Timeout)*time.Second {
|
||||
return nil
|
||||
}
|
||||
if c.httpTransport != nil {
|
||||
c.httpTransport.CloseIdleConnections()
|
||||
}
|
||||
@@ -150,6 +154,7 @@ func (c *Client) newHTTPClient() error {
|
||||
Transport: c.httpTransport,
|
||||
Jar: c.cookieJar,
|
||||
}
|
||||
c.httpClientLastCreate = time.Now()
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
@@ -24,6 +24,6 @@
|
||||
package main
|
||||
|
||||
const (
|
||||
VERSION = "1.3.4"
|
||||
VERSION = "1.3.5"
|
||||
USER_AGENT = "DNS-over-HTTPS/" + VERSION + " (+https://github.com/m13253/dns-over-https)"
|
||||
)
|
||||
|
||||
@@ -24,6 +24,6 @@
|
||||
package main
|
||||
|
||||
const (
|
||||
VERSION = "1.3.4"
|
||||
VERSION = "1.3.5"
|
||||
USER_AGENT = "DNS-over-HTTPS/" + VERSION + " (+https://github.com/m13253/dns-over-https)"
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user