Implement review suggestions
This commit is contained in:
@@ -8,13 +8,12 @@ import (
|
||||
"github.com/safing/portmaster/network/socket"
|
||||
)
|
||||
|
||||
const (
|
||||
unidentifiedProcessID = -1
|
||||
)
|
||||
|
||||
var (
|
||||
ipHelper *IPHelper
|
||||
lock sync.RWMutex
|
||||
|
||||
// lock locks access to the whole DLL.
|
||||
// TODO: It's unproven if we can access the iphlpapi.dll concurrently, especially as we might be encountering various versions of the DLL. In the future, we could possibly investigate and improve performance here.
|
||||
lock sync.RWMutex
|
||||
)
|
||||
|
||||
// GetTCP4Table returns the system table for IPv4 TCP activity.
|
||||
|
||||
@@ -214,7 +214,7 @@ func (ipHelper *IPHelper) getTable(ipVersion, protocol uint8) (connections []*so
|
||||
binds = append(binds, &socket.BindInfo{
|
||||
Local: socket.Address{
|
||||
IP: convertIPv4(row.localAddr),
|
||||
Port: uint16(row.localPort>>8 | row.localPort<<8),
|
||||
Port: convertPort(row.localPort),
|
||||
},
|
||||
PID: int(row.owningPid),
|
||||
})
|
||||
@@ -222,11 +222,11 @@ func (ipHelper *IPHelper) getTable(ipVersion, protocol uint8) (connections []*so
|
||||
connections = append(connections, &socket.ConnectionInfo{
|
||||
Local: socket.Address{
|
||||
IP: convertIPv4(row.localAddr),
|
||||
Port: uint16(row.localPort>>8 | row.localPort<<8),
|
||||
Port: convertPort(row.localPort),
|
||||
},
|
||||
Remote: socket.Address{
|
||||
IP: convertIPv4(row.remoteAddr),
|
||||
Port: uint16(row.remotePort>>8 | row.remotePort<<8),
|
||||
Port: convertPort(row.remotePort),
|
||||
},
|
||||
PID: int(row.owningPid),
|
||||
})
|
||||
@@ -243,7 +243,7 @@ func (ipHelper *IPHelper) getTable(ipVersion, protocol uint8) (connections []*so
|
||||
binds = append(binds, &socket.BindInfo{
|
||||
Local: socket.Address{
|
||||
IP: net.IP(row.localAddr[:]),
|
||||
Port: uint16(row.localPort>>8 | row.localPort<<8),
|
||||
Port: convertPort(row.localPort),
|
||||
},
|
||||
PID: int(row.owningPid),
|
||||
})
|
||||
@@ -251,11 +251,11 @@ func (ipHelper *IPHelper) getTable(ipVersion, protocol uint8) (connections []*so
|
||||
connections = append(connections, &socket.ConnectionInfo{
|
||||
Local: socket.Address{
|
||||
IP: net.IP(row.localAddr[:]),
|
||||
Port: uint16(row.localPort>>8 | row.localPort<<8),
|
||||
Port: convertPort(row.localPort),
|
||||
},
|
||||
Remote: socket.Address{
|
||||
IP: net.IP(row.remoteAddr[:]),
|
||||
Port: uint16(row.remotePort>>8 | row.remotePort<<8),
|
||||
Port: convertPort(row.remotePort),
|
||||
},
|
||||
PID: int(row.owningPid),
|
||||
})
|
||||
@@ -271,7 +271,7 @@ func (ipHelper *IPHelper) getTable(ipVersion, protocol uint8) (connections []*so
|
||||
binds = append(binds, &socket.BindInfo{
|
||||
Local: socket.Address{
|
||||
IP: convertIPv4(row.localAddr),
|
||||
Port: uint16(row.localPort>>8 | row.localPort<<8),
|
||||
Port: convertPort(row.localPort),
|
||||
},
|
||||
PID: int(row.owningPid),
|
||||
})
|
||||
@@ -286,7 +286,7 @@ func (ipHelper *IPHelper) getTable(ipVersion, protocol uint8) (connections []*so
|
||||
binds = append(binds, &socket.BindInfo{
|
||||
Local: socket.Address{
|
||||
IP: net.IP(row.localAddr[:]),
|
||||
Port: uint16(row.localPort>>8 | row.localPort<<8),
|
||||
Port: convertPort(row.localPort),
|
||||
},
|
||||
PID: int(row.owningPid),
|
||||
})
|
||||
@@ -303,3 +303,8 @@ func convertIPv4(input uint32) net.IP {
|
||||
binary.LittleEndian.PutUint32(addressBuf, input)
|
||||
return net.IP(addressBuf)
|
||||
}
|
||||
|
||||
// convertPort converts ports received from iphlpapi.dll
|
||||
func convertPort(input uint32) uint16 {
|
||||
return uint16(input>>8 | input<<8)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user