mirror of
https://github.com/hanzozt/zt.git
synced 2026-11-02 11:38:22 +00:00
* adds posture cache, instance, instance data, and event hooks - reworks router security - abstracts api session and service sessions - use connection tracker instead of various maps - doc - adds service sessions as always JWTs - addes token logging fields - removes multiple connection tracking fields - adds support for router specific posture data/respones - adds support for router posture check evaluation - defer dial/bind posture checking for legacy to controller - fix double session event emitting - fix session event missing id
43 lines
844 B
Go
43 lines
844 B
Go
package posture
|
|
|
|
import (
|
|
"github.com/openziti/ziti/common/pb/edge_ctrl_pb"
|
|
)
|
|
|
|
type DomainCheck struct {
|
|
*edge_ctrl_pb.DataState_PostureCheck
|
|
*edge_ctrl_pb.DataState_PostureCheck_Domains
|
|
}
|
|
|
|
func (m *DomainCheck) Evaluate(state *InstanceData) *CheckError {
|
|
if state == nil {
|
|
return &CheckError{
|
|
Id: m.Id,
|
|
Name: m.Name,
|
|
Cause: NilStateError,
|
|
}
|
|
}
|
|
|
|
notInListErr := &AnyInListError[Str]{
|
|
GivenValues: []Str{Str(state.Domain.Name)},
|
|
}
|
|
|
|
for _, domain := range m.Domains {
|
|
if state.Domain.Name != domain {
|
|
notInListErr.FailedValues = append(notInListErr.FailedValues, FailedValueError[Str]{
|
|
ExpectedValue: Str(domain),
|
|
GivenValue: Str(state.Domain.Name),
|
|
Reason: NotEqualError,
|
|
})
|
|
} else {
|
|
return nil
|
|
}
|
|
}
|
|
|
|
return &CheckError{
|
|
Id: m.Id,
|
|
Name: m.Name,
|
|
Cause: notInListErr,
|
|
}
|
|
}
|