[service] Fix kext verdict of update command
This commit is contained in:
@@ -130,7 +130,7 @@ func UpdateVerdict(conn *network.Connection) error {
|
|||||||
LocalPort: conn.LocalPort,
|
LocalPort: conn.LocalPort,
|
||||||
RemoteAddress: [4]byte(conn.Entity.IP),
|
RemoteAddress: [4]byte(conn.Entity.IP),
|
||||||
RemotePort: conn.Entity.Port,
|
RemotePort: conn.Entity.Port,
|
||||||
Verdict: uint8(conn.Verdict),
|
Verdict: uint8(getKextVerdictFromConnection(conn)),
|
||||||
}
|
}
|
||||||
|
|
||||||
return kextinterface.SendUpdateV4Command(kextFile, update)
|
return kextinterface.SendUpdateV4Command(kextFile, update)
|
||||||
@@ -141,7 +141,7 @@ func UpdateVerdict(conn *network.Connection) error {
|
|||||||
LocalPort: conn.LocalPort,
|
LocalPort: conn.LocalPort,
|
||||||
RemoteAddress: [16]byte(conn.Entity.IP),
|
RemoteAddress: [16]byte(conn.Entity.IP),
|
||||||
RemotePort: conn.Entity.Port,
|
RemotePort: conn.Entity.Port,
|
||||||
Verdict: uint8(conn.Verdict),
|
Verdict: uint8(getKextVerdictFromConnection(conn)),
|
||||||
}
|
}
|
||||||
|
|
||||||
return kextinterface.SendUpdateV6Command(kextFile, update)
|
return kextinterface.SendUpdateV6Command(kextFile, update)
|
||||||
@@ -149,6 +149,49 @@ func UpdateVerdict(conn *network.Connection) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func getKextVerdictFromConnection(conn *network.Connection) kextinterface.KextVerdict {
|
||||||
|
if conn.VerdictPermanent {
|
||||||
|
switch conn.Verdict {
|
||||||
|
case network.VerdictUndecided:
|
||||||
|
return kextinterface.VerdictUndecided
|
||||||
|
case network.VerdictUndeterminable:
|
||||||
|
return kextinterface.VerdictUndeterminable
|
||||||
|
case network.VerdictAccept:
|
||||||
|
return kextinterface.VerdictPermanentAccept
|
||||||
|
case network.VerdictBlock:
|
||||||
|
return kextinterface.VerdictPermanentBlock
|
||||||
|
case network.VerdictDrop:
|
||||||
|
return kextinterface.VerdictPermanentDrop
|
||||||
|
case network.VerdictRerouteToNameserver:
|
||||||
|
return kextinterface.VerdictRerouteToNameserver
|
||||||
|
case network.VerdictRerouteToTunnel:
|
||||||
|
return kextinterface.VerdictRerouteToTunnel
|
||||||
|
case network.VerdictFailed:
|
||||||
|
return kextinterface.VerdictFailed
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
switch conn.Verdict {
|
||||||
|
case network.VerdictUndecided:
|
||||||
|
return kextinterface.VerdictUndecided
|
||||||
|
case network.VerdictUndeterminable:
|
||||||
|
return kextinterface.VerdictUndeterminable
|
||||||
|
case network.VerdictAccept:
|
||||||
|
return kextinterface.VerdictAccept
|
||||||
|
case network.VerdictBlock:
|
||||||
|
return kextinterface.VerdictBlock
|
||||||
|
case network.VerdictDrop:
|
||||||
|
return kextinterface.VerdictDrop
|
||||||
|
case network.VerdictRerouteToNameserver:
|
||||||
|
return kextinterface.VerdictRerouteToNameserver
|
||||||
|
case network.VerdictRerouteToTunnel:
|
||||||
|
return kextinterface.VerdictRerouteToTunnel
|
||||||
|
case network.VerdictFailed:
|
||||||
|
return kextinterface.VerdictFailed
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return kextinterface.VerdictUndeterminable
|
||||||
|
}
|
||||||
|
|
||||||
// Returns the kext version.
|
// Returns the kext version.
|
||||||
func GetVersion() (*VersionInfo, error) {
|
func GetVersion() (*VersionInfo, error) {
|
||||||
data, err := kextinterface.ReadVersion(kextFile)
|
data, err := kextinterface.ReadVersion(kextFile)
|
||||||
|
|||||||
Reference in New Issue
Block a user