Skip to content

Commit 69d8a82

Browse files
committed
Fixed --insecure flag for DNS, closes #30
1 parent 34a0082 commit 69d8a82

File tree

2 files changed

+10
-4
lines changed

2 files changed

+10
-4
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@ adheres to [Semantic Versioning][semver].
1414
### Fixed
1515

1616
* Cannot set User Agent via headers. ([#34][#34])
17+
* `--insecure` flag is not respected by DNS upstreams. ([#30][#30])
18+
19+
[#30]: https://github.com/ameshkov/gocurl/issues/30
1720

1821
[#34]: https://github.com/ameshkov/gocurl/issues/34
1922

internal/config/config.go

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,7 @@ func ParseConfig() (cfg *Config, err error) {
207207
}
208208

209209
if opts.DNSServers != "" {
210-
cfg.DNSServers, err = parseDNSServers(opts.DNSServers)
210+
cfg.DNSServers, err = parseDNSServers(opts.DNSServers, opts.Insecure)
211211
if err != nil {
212212
return nil, fmt.Errorf("invalid dns-servers specified %s: %w", opts.DNSServers, err)
213213
}
@@ -349,11 +349,14 @@ func parseResolve(resolve []string) (m map[string][]net.IP, err error) {
349349
}
350350

351351
// parseDNSServers parses --dns-servers command-line argument and returns the
352-
// list of upstream.Upstream created from them.
353-
func parseDNSServers(dnsServers string) (upstreams []upstream.Upstream, err error) {
352+
// list of upstream.Upstream created from them. If insecure is true and the
353+
// upstreams use encrypted DNS, certificate verification will be disabled for
354+
// them.
355+
func parseDNSServers(dnsServers string, insecure bool) (upstreams []upstream.Upstream, err error) {
354356
addrs := strings.Split(dnsServers, ",")
355357
for _, addr := range addrs {
356-
u, uErr := upstream.AddressToUpstream(addr, nil)
358+
opts := &upstream.Options{InsecureSkipVerify: insecure}
359+
u, uErr := upstream.AddressToUpstream(addr, opts)
357360
if uErr != nil {
358361
return nil, fmt.Errorf("invalid DNS server %s: %w", addr, uErr)
359362
}

0 commit comments

Comments
 (0)