Fix and improve IP address conversion on windows

This commit is contained in:
Daniel
2020-05-15 17:16:08 +02:00
parent 55b0ae8944
commit cb991e9f02

View File

@@ -114,18 +114,15 @@ func Handler(packets chan packet.Packet) {
} }
func convertIPv4(input [4]uint32) net.IP { func convertIPv4(input [4]uint32) net.IP {
return net.IPv4( addressBuf := make([]byte, 4)
uint8(input[0]>>24&0xFF), binary.BigEndian.PutUint32(addressBuf, input[0])
uint8(input[0]>>16&0xFF), return net.IP(addressBuf)
uint8(input[0]>>8&0xFF),
uint8(input[0]&0xFF),
)
} }
func convertIPv6(input [4]uint32) net.IP { func convertIPv6(input [4]uint32) net.IP {
addressBuf := make([]byte, 16) addressBuf := make([]byte, 16)
for i := 0; i < 4; i++ { 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) return net.IP(addressBuf)
} }