Commit 5676942d authored by semihalev's avatar semihalev
Browse files

release version 1.0.0 馃帀

parent 3284d80f
......@@ -4,7 +4,7 @@
[![codecov](https://codecov.io/gh/semihalev/sdns/branch/master/graph/badge.svg)](https://codecov.io/gh/semihalev/sdns)
[![GitHub version](https://badge.fury.io/gh/semihalev%2Fsdns.svg)](https://github.com/semihalev/sdns/releases)
## :rocket: Privacy important, fast, iterative dns resolver server with dnssec support
## :rocket: Privacy important, fast, recursive dns resolver server with dnssec support
<img src="https://github.com/semihalev/sdns/blob/master/logo.png?raw=true" width="250">
......@@ -164,6 +164,16 @@ example.com. 0 CH HINFO "Host" "IPv6:[2001:500:8d::53]:53 rtt:148ms health:[GOO
- [ ] DNAME Redirection in the DNS described at RFC 6672
- [ ] DNS64 DNS Extensions for NAT from IPv6 Clients to IPv4 Servers described at RFC 6147
## Who Used
_CubeDNS_ public open resolver project using sdns on multi location. The project supported both UDP and TCP also DoT and DoH.
| Proto | Servers |
| ------ | ---------------------------------------- |
| IPv4 | 195.244.44.44, 195.244.44.45 |
| IPv6 | 2a0a:be80::cbe:4444, 2a0a:be80::cbe:4445 |
| DoH | https://cubedns.com/dns-query |
## Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
......
......@@ -184,7 +184,7 @@ accesslist = [
hostsfile = ""
# Network timeout for each dns lookups in duration
timeout = "2s"
timeout = "3s"
# Default error cache TTL in seconds
expire = 600
......
/*
Privacy important, fast iterative dns resolver server with dnssec support. https://semihalev.github.io/sdns/ for more information.
Privacy important, fast recursive dns resolver server with dnssec support. https://semihalev.github.io/sdns/ for more information.
*/
package main // import "github.com/semihalev/sdns"
......@@ -403,13 +403,13 @@ func (r *Resolver) groupLookup(ctx context.Context, proto string, req *dns.Msg,
}
func (r *Resolver) checkLoop(ctx context.Context, qname string, qtype uint16) (context.Context, bool) {
key := ctxKey("nslist" + "_" + dns.TypeToString[qtype])
key := ctxKey("nslist:" + dns.TypeToString[qtype])
if v := ctx.Value(key); v != nil {
parentZones := v.([]string)
list := v.([]string)
loopCount := 0
for _, n := range parentZones {
for _, n := range list {
if n == qname {
loopCount++
if loopCount > 1 {
......@@ -418,8 +418,8 @@ func (r *Resolver) checkLoop(ctx context.Context, qname string, qtype uint16) (c
}
}
parentZones = append(parentZones, qname)
ctx = context.WithValue(ctx, key, parentZones)
list = append(list, qname)
ctx = context.WithValue(ctx, key, list)
} else {
ctx = context.WithValue(ctx, key, []string{qname})
}
......
......@@ -23,7 +23,7 @@ var (
Config *config.Config
// Version returns the build version of sdns, this should be incremented every new release
Version = "1.0.0-rc3"
Version = "1.0.0"
// ConfigVersion returns the version of sdns, this should be incremented every time the config changes so sdns presents a warning
ConfigVersion = "1.0.0"
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment