aboutsummaryrefslogtreecommitdiff
path: root/lib/dns
diff options
context:
space:
mode:
authorShulhan <ms@kilabit.info>2025-01-23 03:40:50 +0700
committerShulhan <ms@kilabit.info>2025-01-23 03:41:10 +0700
commit2a0694d2fa577574b505c4635eb8a824eaf88ddc (patch)
treecce840739c7f59893c3a6a65a1600f9f857c484e /lib/dns
parent605d847b236dde031a2e387e74298d66a27b5e0a (diff)
downloadpakakeh.go-2a0694d2fa577574b505c4635eb8a824eaf88ddc.tar.xz
all: use for-range with numeric
Go 1.22 now support for-range on numeric value.
Diffstat (limited to 'lib/dns')
-rw-r--r--lib/dns/answers.go8
-rw-r--r--lib/dns/caches.go12
-rw-r--r--lib/dns/caches_test.go9
-rw-r--r--lib/dns/message.go32
-rw-r--r--lib/dns/message_question.go3
-rw-r--r--lib/dns/rdata_svcb.go3
-rw-r--r--lib/dns/resource_record.go8
-rw-r--r--lib/dns/server.go12
-rw-r--r--lib/dns/udp_client_pool.go8
-rw-r--r--lib/dns/udp_client_pool_test.go9
-rw-r--r--lib/dns/zone_parser.go14
11 files changed, 50 insertions, 68 deletions
diff --git a/lib/dns/answers.go b/lib/dns/answers.go
index 30587633..a29fdf86 100644
--- a/lib/dns/answers.go
+++ b/lib/dns/answers.go
@@ -1,6 +1,6 @@
-// Copyright 2019, Shulhan <ms@kilabit.info>. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: 2019 M. Shulhan <ms@kilabit.info>
+//
+// SPDX-License-Identifier: BSD-3-Clause
package dns
@@ -25,7 +25,7 @@ func newAnswers(an *Answer) (ans *answers) {
// If found, it will return its element and index in slice; otherwise it will
// return nil on answer.
func (ans *answers) get(rtype RecordType, rclass RecordClass) (an *Answer, x int) {
- for x = 0; x < len(ans.v); x++ {
+ for ; x < len(ans.v); x++ {
if ans.v[x].RType != rtype {
continue
}
diff --git a/lib/dns/caches.go b/lib/dns/caches.go
index d0c674c7..3d4d5142 100644
--- a/lib/dns/caches.go
+++ b/lib/dns/caches.go
@@ -1,6 +1,6 @@
-// Copyright 2019, Shulhan <ms@kilabit.info>. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: 2019 M. Shulhan <ms@kilabit.info>
+//
+// SPDX-License-Identifier: BSD-3-Clause
package dns
@@ -349,14 +349,10 @@ func (c *Caches) InternalPopulateZone(zone *Zone) {
// InternalRemoveNames remove internal caches by domain names.
func (c *Caches) InternalRemoveNames(names []string) {
- var (
- x int
- )
-
c.Lock()
defer c.Unlock()
- for ; x < len(names); x++ {
+ for x := range len(names) {
delete(c.internal, names[x])
if c.debug&DebugLevelCache != 0 {
log.Println(`dns: - `, names[x])
diff --git a/lib/dns/caches_test.go b/lib/dns/caches_test.go
index 4f15d3d0..3dc64fbd 100644
--- a/lib/dns/caches_test.go
+++ b/lib/dns/caches_test.go
@@ -1,6 +1,6 @@
-// Copyright 2019, Shulhan <ms@kilabit.info>. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: 2019 M. Shulhan <ms@kilabit.info>
+//
+// SPDX-License-Identifier: BSD-3-Clause
package dns
@@ -284,7 +284,6 @@ func TestCachesUpsert(t *testing.T) {
cases []testCase
c testCase
gotList []*Answer
- x int
)
ca.init(0, 0, 0)
@@ -322,7 +321,7 @@ func TestCachesUpsert(t *testing.T) {
test.Assert(t, "len(caches.list)", c.expLen, len(gotList))
- for x = 0; x < len(gotList); x++ {
+ for x := range len(gotList) {
test.Assert(t, "caches.list", c.expList[x], gotList[x])
}
}
diff --git a/lib/dns/message.go b/lib/dns/message.go
index d3d55b01..abef69cd 100644
--- a/lib/dns/message.go
+++ b/lib/dns/message.go
@@ -189,9 +189,8 @@ func UnpackMessage(packet []byte) (msg *Message, err error) {
startIdx = uint(sectionHeaderSize + msg.Question.size())
rr ResourceRecord
- x uint16
)
- for ; x < msg.Header.ANCount; x++ {
+ for range msg.Header.ANCount {
rr = ResourceRecord{}
startIdx, err = rr.unpack(msg.packet, startIdx)
@@ -202,7 +201,7 @@ func UnpackMessage(packet []byte) (msg *Message, err error) {
msg.Answer = append(msg.Answer, rr)
}
- for x = 0; x < msg.Header.NSCount; x++ {
+ for range msg.Header.NSCount {
rr = ResourceRecord{}
startIdx, err = rr.unpack(msg.packet, startIdx)
@@ -212,7 +211,7 @@ func UnpackMessage(packet []byte) (msg *Message, err error) {
msg.Authority = append(msg.Authority, rr)
}
- for x = 0; x < msg.Header.ARCount; x++ {
+ for range msg.Header.ARCount {
rr = ResourceRecord{}
startIdx, err = rr.unpack(msg.packet, startIdx)
@@ -380,8 +379,7 @@ func (msg *Message) packDomainName(dname []byte, doCompress bool) (n int) {
idxCount = len(msg.packet) - 1
msg.dnameOff[msg.dname] = uint16(idxCount)
n++
-
- for x = 0; x < len(dname); x++ {
+ for ; x < len(dname); x++ {
c = dname[x]
if c == '\\' {
@@ -852,7 +850,7 @@ func (msg *Message) IsExpired() bool {
x int
)
- for x = 0; x < len(msg.Answer); x++ {
+ for x = range len(msg.Answer) {
if msg.Answer[x].TTL == 0 {
return true
}
@@ -861,7 +859,7 @@ func (msg *Message) IsExpired() bool {
return false
}
- for x = 0; x < len(msg.Authority); x++ {
+ for x = range len(msg.Authority) {
if msg.Authority[x].TTL == 0 {
return true
}
@@ -895,13 +893,13 @@ func (msg *Message) Pack() ([]byte, error) {
return msg.packet, nil
}
- for x = 0; x < len(msg.Answer); x++ {
+ for x = range len(msg.Answer) {
msg.packRR(&msg.Answer[x])
}
- for x = 0; x < len(msg.Authority); x++ {
+ for x = range len(msg.Authority) {
msg.packRR(&msg.Authority[x])
}
- for x = 0; x < len(msg.Additional); x++ {
+ for x = range len(msg.Additional) {
msg.packRR(&msg.Additional[x])
}
@@ -1005,7 +1003,7 @@ func (msg *Message) SubTTL(n uint32) {
x int
)
- for x = 0; x < len(msg.Answer); x++ {
+ for x = range len(msg.Answer) {
if msg.Answer[x].TTL < n {
msg.Answer[x].TTL = 0
} else {
@@ -1015,7 +1013,7 @@ func (msg *Message) SubTTL(n uint32) {
msg.packet[msg.Answer[x].idxTTL:],
msg.Answer[x].TTL)
}
- for x = 0; x < len(msg.Authority); x++ {
+ for x = range len(msg.Authority) {
if msg.Authority[x].TTL < n {
msg.Authority[x].TTL = 0
} else {
@@ -1025,7 +1023,7 @@ func (msg *Message) SubTTL(n uint32) {
msg.packet[msg.Authority[x].idxTTL:],
msg.Authority[x].TTL)
}
- for x = 0; x < len(msg.Additional); x++ {
+ for x = range len(msg.Additional) {
if msg.Additional[x].Type == RecordTypeOPT {
continue
}
@@ -1050,7 +1048,7 @@ func (msg *Message) String() string {
fmt.Fprintf(&b, "{Header:%+v Question:%+v", msg.Header, msg.Question)
b.WriteString(" Answer:[")
- for x = 0; x < len(msg.Answer); x++ {
+ for x = range len(msg.Answer) {
if x > 0 {
b.WriteByte(' ')
}
@@ -1059,7 +1057,7 @@ func (msg *Message) String() string {
b.WriteString("]")
b.WriteString(" Authority:[")
- for x = 0; x < len(msg.Authority); x++ {
+ for x = range len(msg.Authority) {
if x > 0 {
b.WriteByte(' ')
}
@@ -1068,7 +1066,7 @@ func (msg *Message) String() string {
b.WriteString("]")
b.WriteString(" Additional:[")
- for x = 0; x < len(msg.Additional); x++ {
+ for x = range len(msg.Additional) {
if x > 0 {
b.WriteByte(' ')
}
diff --git a/lib/dns/message_question.go b/lib/dns/message_question.go
index b0be7018..c345880b 100644
--- a/lib/dns/message_question.go
+++ b/lib/dns/message_question.go
@@ -60,7 +60,6 @@ func (qst *MessageQuestion) unpack(packet []byte) (err error) {
logp = "MessageQuestion.unpack"
sb strings.Builder
x int
- y int
count int
)
@@ -76,7 +75,7 @@ func (qst *MessageQuestion) unpack(packet []byte) (err error) {
if sb.Len() > 0 {
sb.WriteByte('.')
}
- for y = 0; y < count; y++ {
+ for range count {
x++
if packet[x] >= 'A' && packet[x] <= 'Z' {
sb.WriteByte(packet[x] + 32)
diff --git a/lib/dns/rdata_svcb.go b/lib/dns/rdata_svcb.go
index 75099b55..1f3104ea 100644
--- a/lib/dns/rdata_svcb.go
+++ b/lib/dns/rdata_svcb.go
@@ -908,10 +908,9 @@ func svcbEncodeValue(in string) (out string, escaped bool) {
func svcbSplitRawValue(raw []byte) (listValue []string, err error) {
var (
val []byte
- x int
isEsc bool
)
- for ; x < len(raw); x++ {
+ for x := range len(raw) {
if isEsc {
switch raw[x] {
case '\\':
diff --git a/lib/dns/resource_record.go b/lib/dns/resource_record.go
index 88047f1d..f90cc85c 100644
--- a/lib/dns/resource_record.go
+++ b/lib/dns/resource_record.go
@@ -231,9 +231,9 @@ func unpackDomainName(packet []byte, start uint) (name string, end uint, err err
logp = `unpackDomainName`
x = int(start)
- out strings.Builder
- count, y byte
- isJump bool
+ out strings.Builder
+ count byte
+ isJump bool
)
end = start
@@ -272,7 +272,7 @@ func unpackDomainName(packet []byte, start uint) (name string, end uint, err err
if out.Len() > 0 {
out.WriteByte('.')
}
- for y = 0; y < count; y++ {
+ for range count {
if packet[x] >= 'A' && packet[x] <= 'Z' {
out.WriteByte(packet[x] + 32)
} else {
diff --git a/lib/dns/server.go b/lib/dns/server.go
index 9d341dac..7eb8fea6 100644
--- a/lib/dns/server.go
+++ b/lib/dns/server.go
@@ -725,22 +725,22 @@ func (srv *Server) startAllForwarders() {
x int
)
- for x = 0; x < len(srv.opts.primaryUDP); x++ {
+ for x = range len(srv.opts.primaryUDP) {
tag = fmt.Sprintf("UDP-%d-%s", x, asPrimary)
nameserver = srv.opts.primaryUDP[x].String()
go srv.udpForwarder(tag, nameserver)
}
- for x = 0; x < len(srv.opts.primaryTCP); x++ {
+ for x = range len(srv.opts.primaryTCP) {
tag = fmt.Sprintf("TCP-%d-%s", x, asPrimary)
nameserver = srv.opts.primaryTCP[x].String()
go srv.tcpForwarder(tag, nameserver)
}
- for x = 0; x < len(srv.opts.primaryDoh); x++ {
+ for x = range len(srv.opts.primaryDoh) {
tag = fmt.Sprintf("DoH-%d-%s", x, asPrimary)
nameserver = srv.opts.primaryDoh[x]
go srv.dohForwarder(tag, nameserver)
}
- for x = 0; x < len(srv.opts.primaryDot); x++ {
+ for x = range len(srv.opts.primaryDot) {
tag = fmt.Sprintf("DoT-%d-%s", x, asPrimary)
nameserver = srv.opts.primaryDot[x]
go srv.tlsForwarder(tag, nameserver)
@@ -1068,10 +1068,10 @@ func (srv *Server) stopAllForwarders() {
var (
x int
)
- for x = 0; x < len(srv.fwStoppers); x++ {
+ for x = range len(srv.fwStoppers) {
srv.fwStoppers[x] <- true
}
- for x = 0; x < len(srv.fwStoppers); x++ {
+ for x = range len(srv.fwStoppers) {
close(srv.fwStoppers[x])
}
diff --git a/lib/dns/udp_client_pool.go b/lib/dns/udp_client_pool.go
index 4b0a75de..6b4e4a54 100644
--- a/lib/dns/udp_client_pool.go
+++ b/lib/dns/udp_client_pool.go
@@ -41,16 +41,12 @@ func NewUDPClientPool(nameServers []string) (ucp *UDPClientPool, err error) {
New: ucp.newClient,
}
- var (
- cl *UDPClient
- x int
- )
-
// Create new client for each name server, and push it to pool.
// This is required to check if each name server is a valid IP
// address because we did not want the New method return nil client
// later.
- for x = 0; x < len(nameServers); x++ {
+ for x := range len(nameServers) {
+ var cl *UDPClient
cl, err = NewUDPClient(nameServers[x])
if err != nil {
return nil, err
diff --git a/lib/dns/udp_client_pool_test.go b/lib/dns/udp_client_pool_test.go
index a238d3d7..88e52d75 100644
--- a/lib/dns/udp_client_pool_test.go
+++ b/lib/dns/udp_client_pool_test.go
@@ -1,6 +1,6 @@
-// Copyright 2019, Shulhan <ms@kilabit.info>. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
+// SPDX-FileCopyrightText: 2019 M. Shulhan <ms@kilabit.info>
+//
+// SPDX-License-Identifier: BSD-3-Clause
package dns
@@ -27,7 +27,6 @@ func TestNewUDPClientPool(t *testing.T) {
qname string
err error
- x int
)
cases = []testCase{{
@@ -57,7 +56,7 @@ func TestNewUDPClientPool(t *testing.T) {
}
qname = "kilabit.info"
- for x = 0; x < 10; x++ {
+ for range 10 {
wg.Add(1)
go func() {
var (
diff --git a/lib/dns/zone_parser.go b/lib/dns/zone_parser.go
index b5f5d260..29128370 100644
--- a/lib/dns/zone_parser.go
+++ b/lib/dns/zone_parser.go
@@ -1052,7 +1052,7 @@ func (m *zoneParser) decodeString(in []byte) (out []byte, err error) {
}
var x int
- for x = 0; x < size; x++ {
+ for ; x < size; x++ {
c = in[x]
if ascii.IsSpace(c) {
break
@@ -1118,23 +1118,19 @@ func (m *zoneParser) push(rr *ResourceRecord) error {
}
func (m *zoneParser) setMinimumTTL() {
- var (
- msg *Message
- x int
- )
-
+ var msg *Message
for _, msg = range m.zone.messages {
- for x = 0; x < len(msg.Answer); x++ {
+ for x := range len(msg.Answer) {
if msg.Answer[x].TTL < m.zone.SOA.Minimum {
msg.Answer[x].TTL = m.zone.SOA.Minimum
}
}
- for x = 0; x < len(msg.Authority); x++ {
+ for x := range len(msg.Authority) {
if msg.Authority[x].TTL < m.zone.SOA.Minimum {
msg.Authority[x].TTL = m.zone.SOA.Minimum
}
}
- for x = 0; x < len(msg.Additional); x++ {
+ for x := range len(msg.Additional) {
if msg.Additional[x].TTL < m.zone.SOA.Minimum {
msg.Additional[x].TTL = m.zone.SOA.Minimum
}