mirror of
https://github.com/safing/portmaster
synced 2025-04-23 04:19:10 +00:00
83 lines
1.8 KiB
Go
83 lines
1.8 KiB
Go
package network
|
|
|
|
// Verdict describes the decision made about a connection or link.
|
|
type Verdict int8
|
|
|
|
// All possible verdicts that can be applied to a network
|
|
// connection.
|
|
const (
|
|
// VerdictUndecided is the default status of new connections.
|
|
VerdictUndecided Verdict = 0
|
|
VerdictUndeterminable Verdict = 1
|
|
VerdictAccept Verdict = 2
|
|
VerdictBlock Verdict = 3
|
|
VerdictDrop Verdict = 4
|
|
VerdictRerouteToNameserver Verdict = 5
|
|
VerdictRerouteToTunnel Verdict = 6
|
|
VerdictFailed Verdict = 7
|
|
)
|
|
|
|
func (v Verdict) String() string {
|
|
switch v {
|
|
case VerdictUndecided:
|
|
return "<Undecided>"
|
|
case VerdictUndeterminable:
|
|
return "<Undeterminable>"
|
|
case VerdictAccept:
|
|
return "Accept"
|
|
case VerdictBlock:
|
|
return "Block"
|
|
case VerdictDrop:
|
|
return "Drop"
|
|
case VerdictRerouteToNameserver:
|
|
return "RerouteToNameserver"
|
|
case VerdictRerouteToTunnel:
|
|
return "RerouteToTunnel"
|
|
case VerdictFailed:
|
|
return "Failed"
|
|
default:
|
|
return "<INVALID VERDICT>"
|
|
}
|
|
}
|
|
|
|
// Verb returns the verdict as a past tense verb.
|
|
func (v Verdict) Verb() string {
|
|
switch v {
|
|
case VerdictUndecided:
|
|
return "undecided"
|
|
case VerdictUndeterminable:
|
|
return "undeterminable"
|
|
case VerdictAccept:
|
|
return "accepted"
|
|
case VerdictBlock:
|
|
return "blocked"
|
|
case VerdictDrop:
|
|
return "dropped"
|
|
case VerdictRerouteToNameserver:
|
|
return "redirected to nameserver"
|
|
case VerdictRerouteToTunnel:
|
|
return "tunneled"
|
|
case VerdictFailed:
|
|
return "failed"
|
|
default:
|
|
return "invalid"
|
|
}
|
|
}
|
|
|
|
// Packet Directions.
|
|
const (
|
|
Inbound = true
|
|
Outbound = false
|
|
)
|
|
|
|
// Non-Domain Scopes.
|
|
const (
|
|
IncomingHost = "IH"
|
|
IncomingLAN = "IL"
|
|
IncomingInternet = "II"
|
|
IncomingInvalid = "IX"
|
|
PeerHost = "PH"
|
|
PeerLAN = "PL"
|
|
PeerInternet = "PI"
|
|
PeerInvalid = "PX"
|
|
)
|