Skip to content

Commit 1f3883a

Browse files
committed
mosdns: fix udp server
1 parent 632f190 commit 1f3883a

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed

mosdns/patches/110-fixed-715.patch

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
From 2eaae3d11ea6b6954e820c48c36b9122e3882562 Mon Sep 17 00:00:00 2001
2+
From: Irine Sistiana <[email protected]>
3+
Date: Tue, 19 Sep 2023 07:59:17 +0800
4+
Subject: [PATCH] fixed #715
5+
6+
---
7+
pkg/server/udp.go | 11 ++++++-----
8+
1 file changed, 6 insertions(+), 5 deletions(-)
9+
10+
diff --git a/pkg/server/udp.go b/pkg/server/udp.go
11+
index a1e478b..8bb1b85 100644
12+
--- a/pkg/server/udp.go
13+
+++ b/pkg/server/udp.go
14+
@@ -66,14 +66,15 @@ func (s *UDPServer) ServeUDP(c *net.UDPConn) error {
15+
if err != nil {
16+
return fmt.Errorf("failed to init oob handler, %w", err)
17+
}
18+
- var ob *[]byte
19+
+ var ob []byte
20+
if oobReader != nil {
21+
- ob = pool.GetBuf(1024)
22+
- defer pool.ReleaseBuf(ob)
23+
+ obp := pool.GetBuf(1024)
24+
+ defer pool.ReleaseBuf(obp)
25+
+ ob = *obp
26+
}
27+
28+
for {
29+
- n, oobn, _, remoteAddr, err := c.ReadMsgUDPAddrPort(*rb, *ob)
30+
+ n, oobn, _, remoteAddr, err := c.ReadMsgUDPAddrPort(*rb, ob)
31+
if err != nil {
32+
return fmt.Errorf("unexpected read err: %w", err)
33+
}
34+
@@ -88,7 +89,7 @@ func (s *UDPServer) ServeUDP(c *net.UDPConn) error {
35+
var dstIpFromCm net.IP
36+
if oobReader != nil {
37+
var err error
38+
- dstIpFromCm, err = oobReader((*ob)[:oobn])
39+
+ dstIpFromCm, err = oobReader(ob[:oobn])
40+
if err != nil {
41+
s.opts.Logger.Error("failed to get dst address from oob", zap.Error(err))
42+
}
43+
--
44+
2.34.8
45+

0 commit comments

Comments
 (0)