Commit 64e0c8a8 authored by nanahira's avatar nanahira

fixes

parent 66cb6bd3
Pipeline #840 passed with stage
in 4 minutes and 13 seconds
...@@ -110,7 +110,9 @@ func transferHostTrafficToGuest(host *net.UDPConn, guest *net.UDPConn, guestAddr ...@@ -110,7 +110,9 @@ func transferHostTrafficToGuest(host *net.UDPConn, guest *net.UDPConn, guestAddr
log.Println("Host read error: ", guestAddr.String(), err) log.Println("Host read error: ", guestAddr.String(), err)
break break
} }
guest.WriteToUDP(buffer[:length], guestAddr) data := buffer[:length]
translateHostToGuestPackets(&data, length, htogAddressTranslateList)
guest.WriteToUDP(data, guestAddr)
} }
(*htogAddressTranslateList)[hostRemoteAddr.String()] = nil (*htogAddressTranslateList)[hostRemoteAddr.String()] = nil
} }
...@@ -123,7 +125,9 @@ func transferGuestTrafficToHost(host *net.UDPConn, hostAddr *net.UDPAddr, guestA ...@@ -123,7 +125,9 @@ func transferGuestTrafficToHost(host *net.UDPConn, hostAddr *net.UDPAddr, guestA
exit = true exit = true
break break
} else { } else {
host.WriteToUDP(message.data, hostAddr) data := message.data
translateHostToGuestPackets(&data, message.length, gtohAddressTranslateList)
host.WriteToUDP(data, hostAddr)
} }
case <-time.After(time.Duration(2) * time.Minute): case <-time.After(time.Duration(2) * time.Minute):
log.Println("Guest timeout: ", guestAddr.String(), hostAddr.String()) log.Println("Guest timeout: ", guestAddr.String(), hostAddr.String())
...@@ -139,8 +143,9 @@ func transferGuestTrafficToHost(host *net.UDPConn, hostAddr *net.UDPAddr, guestA ...@@ -139,8 +143,9 @@ func transferGuestTrafficToHost(host *net.UDPConn, hostAddr *net.UDPAddr, guestA
} }
type GuestToHostMessage struct { type GuestToHostMessage struct {
exit bool exit bool
data []byte data []byte
length int
} }
func listenUDP(ws *websocket.Conn) { func listenUDP(ws *websocket.Conn) {
...@@ -202,7 +207,7 @@ func listenUDP(ws *websocket.Conn) { ...@@ -202,7 +207,7 @@ func listenUDP(ws *websocket.Conn) {
guestChannelList[guestAddr.String()] = channel guestChannelList[guestAddr.String()] = channel
go transferGuestTrafficToHost(host, hostAddr, guestAddr, channel, &guestChannelList, &gtohAddressTranslateList) go transferGuestTrafficToHost(host, hostAddr, guestAddr, channel, &guestChannelList, &gtohAddressTranslateList)
} else { } else {
msg := GuestToHostMessage{data: message[:length], exit: false} msg := GuestToHostMessage{data: message[:length], length: length, exit: false}
channel <- msg channel <- msg
} }
} }
......
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