From cb991e9f021093ec9cae0cc5595e8503f7706eee Mon Sep 17 00:00:00 2001 From: Daniel Date: Fri, 15 May 2020 17:16:08 +0200 Subject: [PATCH] Fix and improve IP address conversion on windows --- firewall/interception/windowskext/handler.go | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/firewall/interception/windowskext/handler.go b/firewall/interception/windowskext/handler.go index 99ad9b59..254c046b 100644 --- a/firewall/interception/windowskext/handler.go +++ b/firewall/interception/windowskext/handler.go @@ -114,18 +114,15 @@ func Handler(packets chan packet.Packet) { } func convertIPv4(input [4]uint32) net.IP { - return net.IPv4( - uint8(input[0]>>24&0xFF), - uint8(input[0]>>16&0xFF), - uint8(input[0]>>8&0xFF), - uint8(input[0]&0xFF), - ) + addressBuf := make([]byte, 4) + binary.BigEndian.PutUint32(addressBuf, input[0]) + return net.IP(addressBuf) } func convertIPv6(input [4]uint32) net.IP { addressBuf := make([]byte, 16) for i := 0; i < 4; i++ { - binary.LittleEndian.PutUint32(addressBuf[i*4:i*4+4], input[i]) + binary.BigEndian.PutUint32(addressBuf[i*4:i*4+4], input[i]) } return net.IP(addressBuf) }