Fix and improve IP address conversion on windows
This commit is contained in:
@@ -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)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user