Compare commits

...

5 Commits

Author SHA1 Message Date
世界
4fb5ac292b
Bump version 2025-08-10 20:06:28 +08:00
Sentsuki
0e23a3d7c2
documentation: Fix Rcode's migration guide
Signed-off-by: Sentsuki <52487960+Sentsuki@users.noreply.github.com>
2025-08-10 20:06:28 +08:00
Oleksandr Redko
76ee64ae50
Simplify slice to array conversion 2025-08-10 20:06:28 +08:00
Me0wo
e1dbcccab5
documentation: Fix typo
Signed-off-by: Me0wo <152751263+Sn0wo2@users.noreply.github.com>
2025-08-10 20:06:28 +08:00
Youfu Zhang
fba802effd
Fix libresolv initialization
Fixes: 9533031891c0 ("Update libresolv usage")

Signed-off-by: Youfu Zhang <zhangyoufu@gmail.com>
2025-08-10 20:06:28 +08:00
11 changed files with 44 additions and 25 deletions

@ -1 +1 @@
Subproject commit 7384b97fdc36a9956f3d43174b89e4697a8ea47d
Subproject commit 6db8e06e8d6c77648e79e3f93bdd41a4d48cc319

@ -1 +1 @@
Subproject commit f7883b0f3ec26c449cba26b3b1a692f070f5424d
Subproject commit c5734677bdfcba5d2d4faf10c4f10475077a82ab

View File

@ -454,5 +454,5 @@ func parseADGuardIPCIDRLine(ruleLine string) (netip.Prefix, error) {
for len(ruleParts) < 4 {
ruleParts = append(ruleParts, 0)
}
return netip.PrefixFrom(netip.AddrFrom4(*(*[4]byte)(ruleParts)), bitLen), nil
return netip.PrefixFrom(netip.AddrFrom4([4]byte(ruleParts)), bitLen), nil
}

View File

@ -96,11 +96,11 @@ func findProcessName(network string, ip netip.Addr, port int) (string, error) {
switch {
case flag&0x1 > 0 && isIPv4:
// ipv4
srcIP = netip.AddrFrom4(*(*[4]byte)(buf[inp+76 : inp+80]))
srcIP = netip.AddrFrom4([4]byte(buf[inp+76 : inp+80]))
srcIsIPv4 = true
case flag&0x2 > 0 && !isIPv4:
// ipv6
srcIP = netip.AddrFrom16(*(*[16]byte)(buf[inp+64 : inp+80]))
srcIP = netip.AddrFrom16([16]byte(buf[inp+64 : inp+80]))
default:
continue
}

View File

@ -20,8 +20,8 @@ import (
)
func dnsReadConfig(_ context.Context, _ string) *dnsConfig {
var state C.res_state
if C.res_ninit(state) != 0 {
var state C.struct___res_state
if C.res_ninit(&state) != 0 {
return &dnsConfig{
servers: defaultNS,
search: dnsDefaultSearch(),

View File

@ -0,0 +1,13 @@
package local
import (
"context"
"testing"
"github.com/stretchr/testify/require"
)
func TestDNSReadConfig(t *testing.T) {
t.Parallel()
require.NoError(t, dnsReadConfig(context.Background(), "/etc/resolv.conf").err)
}

View File

@ -2,6 +2,10 @@
icon: material/alert-decagram
---
#### 1.12.1
* Fixes and improvements
#### 1.12.0
* Refactor DNS servers **1**

View File

@ -351,17 +351,18 @@ DNS servers are refactored for better performance and scalability.
```json
{
"dns": {
"servers": [
{
"type": "predefined",
"responses": [
"rules": [
{
"domain": [
"example.com"
],
// other rules
"action": "predefined",
"rcode": "REFUSED"
}
]
}
]
}
}
```

View File

@ -8,7 +8,7 @@ icon: material/arrange-bring-forward
DNS 服务器已经重构。
!!! info "用"
!!! info "用"
[DNS 服务器](/configuration/dns/server/) /
[旧 DNS 服务器](/configuration/dns/server/legacy/)
@ -351,17 +351,18 @@ DNS 服务器已经重构。
```json
{
"dns": {
"servers": [
{
"type": "predefined",
"responses": [
"rules": [
{
"domain": [
"example.com"
],
// 其它规则
"action": "predefined",
"rcode": "REFUSED"
}
]
}
]
}
}
```

View File

@ -26,7 +26,7 @@ func defaultRouteIP() (netip.Addr, error) {
for _, addr := range addrs {
ip := addr.(*net.IPNet).IP
if ip.To4() != nil {
return netip.AddrFrom4(*(*[4]byte)(ip)), nil
return netip.AddrFrom4([4]byte(ip)), nil
}
}

View File

@ -63,7 +63,7 @@ func (w *Writer) WriteBuffer(buffer *buf.Buffer) error {
if !w.isServer {
maskKey := rand.Uint32()
binary.BigEndian.PutUint32(header[1+payloadBitLength:], maskKey)
ws.Cipher(data, *(*[4]byte)(header[1+payloadBitLength:]), 0)
ws.Cipher(data, [4]byte(header[1+payloadBitLength:]), 0)
}
return wrapWsError(w.writer.WriteBuffer(buffer))