Documentation ¶
Index ¶
- Constants
- Variables
- func GetLoggerFields(msg *channel.Message) logrus.Fields
- func NewBindMsg(connId uint32, token string, pubKey []byte, options *ListenOptions) *channel.Message
- func NewConnectMsg(connId uint32, token string, pubKey []byte, options *DialOptions) *channel.Message
- func NewDataMsg(connId uint32, seq uint32, data []byte) *channel.Message
- func NewDialFailedMsg(connId uint32, message string) *channel.Message
- func NewDialMsg(connId uint32, token string, callerId string) *channel.Message
- func NewDialSuccessMsg(connId uint32, newConnId uint32) *channel.Message
- func NewHealthEventMsg(connId uint32, token string, pass bool) *channel.Message
- func NewProbeMsg() *channel.Message
- func NewStateClosedMsg(connId uint32, message string) *channel.Message
- func NewStateConnectedMsg(connId uint32) *channel.Message
- func NewStateSessionEndedMsg(reason string) *channel.Message
- func NewTraceRouteMsg(connId uint32, hops uint32, timestamp uint64) *channel.Message
- func NewTraceRouteResponseMsg(connId uint32, hops uint32, timestamp uint64, hopType, hopId string) *channel.Message
- func NewUnbindMsg(connId uint32, token string) *channel.Message
- func NewUpdateBindMsg(connId uint32, token string, cost *uint16, precedence *Precedence) *channel.Message
- type Addr
- type ApiIdentity
- type ApiResponseMetadata
- type ApiSession
- type AuthQuery
- type ClientConfig
- type CloseWriter
- type Conn
- type ConnOptions
- type CowMapMsgMux
- func (mux *CowMapMsgMux) AddMsgSink(sink MsgSink) error
- func (mux *CowMapMsgMux) Close()
- func (mux *CowMapMsgMux) ContentType() int32
- func (mux *CowMapMsgMux) GetNextId() uint32
- func (mux *CowMapMsgMux) HandleClose(channel.Channel)
- func (mux *CowMapMsgMux) HandleReceive(msg *channel.Message, _ channel.Channel)
- func (mux *CowMapMsgMux) RemoveMsgSink(sink MsgSink)
- func (mux *CowMapMsgMux) RemoveMsgSinkById(sinkId uint32)
- type CryptoMethod
- type CurrentIdentity
- type DialOptions
- type DialResult
- type DomainName
- type EdgeRouter
- type Identifiable
- type InteceptDialOptions
- type InterceptV1Config
- type ListenOptions
- type Listener
- type MsgChannel
- func (ec *MsgChannel) Id() uint32
- func (ec *MsgChannel) NextMsgId() uint32
- func (ec *MsgChannel) SendState(msg *channel.Message) error
- func (ec *MsgChannel) SetWriteDeadline(t time.Time) error
- func (ec *MsgChannel) TraceMsg(source string, msg *channel.Message)
- func (ec *MsgChannel) Write(data []byte) (n int, err error)
- func (ec *MsgChannel) WriteTraced(data []byte, msgUUID []byte, hdrs map[int32][]byte) (int, error)
- type MsgEvent
- type MsgMux
- type MsgSink
- type PortRange
- type PostureQueries
- type PostureQuery
- type PostureQueryProcess
- type Precedence
- type RouterClient
- type RouterConn
- type Sequenced
- type Service
- type ServiceConn
- type ServiceUpdates
- type Session
- type SessionListener
- type SessionType
- type Terminator
- type TraceRouteResult
- type ZitiAddress
Constants ¶
View Source
const ( ContentTypeConnect = 60783 ContentTypeStateConnected = 60784 ContentTypeStateClosed = 60785 ContentTypeData = 60786 ContentTypeDial = 60787 ContentTypeDialSuccess = 60788 ContentTypeDialFailed = 60789 ContentTypeBind = 60790 ContentTypeUnbind = 60791 ContentTypeStateSessionEnded = 60792 ContentTypeProbe = 60793 ContentTypeUpdateBind = 60794 ContentTypeHealthEvent = 60795 ContentTypeTraceRoute = 60796 ContentTypeTraceRouteResponse = 60797 ConnIdHeader = 1000 SeqHeader = 1001 SessionTokenHeader = 1002 PublicKeyHeader = 1003 CostHeader = 1004 PrecedenceHeader = 1005 TerminatorIdentityHeader = 1006 TerminatorIdentitySecretHeader = 1007 CallerIdHeader = 1008 CryptoMethodHeader = 1009 FlagsHeader = 1010 AppDataHeader = 1011 RouterProvidedConnId = 1012 HealthStatusHeader = 1013 ErrorCodeHeader = 1014 TimestampHeader = 1015 TraceHopCountHeader = 1016 TraceHopTypeHeader = 1017 TraceHopIdHeader = 1018 TraceSourceRequestIdHeader = 1019 TraceError = 1020 ErrorCodeInternal = 1 ErrorCodeInvalidApiSession = 2 ErrorCodeInvalidSession = 3 ErrorCodeWrongSessionType = 4 ErrorCodeInvalidEdgeRouterForSession = 5 ErrorCodeInvalidService = 6 ErrorCodeTunnelingNotEnabled = 7 ErrorCodeInvalidTerminator = 8 ErrorCodeInvalidPrecedence = 9 ErrorCodeInvalidCost = 10 ErrorCodeEncryptionDataMissing = 11 PrecedenceDefault Precedence = 0 PrecedenceRequired Precedence = 1 PrecedenceFailed Precedence = 2 // Put this in the reflected range so replies will share the same UUID UUIDHeader = 128 // Crypto Methods CryptoMethodLibsodium CryptoMethod = 0 // default: crypto_kx_*, crypto_secretstream_* CryptoMethodSSL CryptoMethod = 1 // OpenSSL(possibly with FIPS): ECDH, AES256-GCM // Edge Payload flags FIN = 0x1 )
View Source
const ( ClientConfigV1 = "ziti-tunneler-client.v1" InterceptV1 = "intercept.v1" )
Variables ¶
View Source
var ContentTypeNames = map[int32]string{ ContentTypeConnect: "EdgeConnectType", ContentTypeStateConnected: "EdgeStateConnectedType", ContentTypeStateClosed: "EdgeStateClosedType", ContentTypeData: "EdgeDataType", ContentTypeDial: "EdgeDialType", ContentTypeDialSuccess: "EdgeDialSuccessType", ContentTypeDialFailed: "EdgeDialFailedType", ContentTypeBind: "EdgeBindType", ContentTypeUnbind: "EdgeUnbindType", ContentTypeProbe: "EdgeProbeType", }
View Source
var ContentTypeValue = map[string]int32{ "EdgeConnectType": ContentTypeConnect, "EdgeStateConnectedType": ContentTypeStateConnected, "EdgeStateClosedType": ContentTypeStateClosed, "EdgeDataType": ContentTypeData, "EdgeDialType": ContentTypeDial, "EdgeDialSuccessType": ContentTypeDialSuccess, "EdgeDialFailedType": ContentTypeDialFailed, "EdgeBindType": ContentTypeBind, "EdgeUnbindType": ContentTypeUnbind, }
Functions ¶
func GetLoggerFields ¶
func NewBindMsg ¶
func NewBindMsg(connId uint32, token string, pubKey []byte, options *ListenOptions) *channel.Message
func NewConnectMsg ¶
func NewConnectMsg(connId uint32, token string, pubKey []byte, options *DialOptions) *channel.Message
func NewDataMsg ¶
func NewDialFailedMsg ¶
func NewDialMsg ¶
func NewDialSuccessMsg ¶
func NewHealthEventMsg ¶ added in v0.15.30
func NewProbeMsg ¶
func NewProbeMsg() *channel.Message
func NewStateClosedMsg ¶
func NewStateConnectedMsg ¶
func NewStateConnectedMsg(connId uint32) *channel.Message
func NewStateSessionEndedMsg ¶
func NewStateSessionEndedMsg(reason string) *channel.Message
func NewTraceRouteMsg ¶ added in v0.15.105
func NewTraceRouteResponseMsg ¶ added in v0.15.105
func NewUnbindMsg ¶
func NewUpdateBindMsg ¶
func NewUpdateBindMsg(connId uint32, token string, cost *uint16, precedence *Precedence) *channel.Message
Types ¶
type Addr ¶
type Addr struct {
MsgCh MsgChannel
}
type ApiIdentity ¶
type ApiResponseMetadata ¶
type ApiResponseMetadata struct { FilterableFields []string `json:"filterableFields"` Pagination *struct { Offset int `json:"offset"` Limit int `json:"limit"` TotalCount int `json:"totalCount"` } `json:"pagination"` }
func ApiResponseDecode ¶
func ApiResponseDecode(data interface{}, resp io.Reader) (*ApiResponseMetadata, error)
type ApiSession ¶
type ClientConfig ¶ added in v0.17.0
type ClientConfig struct { Protocol string Hostname ZitiAddress Port int }
func (*ClientConfig) String ¶ added in v0.17.0
func (s *ClientConfig) String() string
func (*ClientConfig) ToInterceptV1Config ¶ added in v0.17.0
func (self *ClientConfig) ToInterceptV1Config() *InterceptV1Config
type CloseWriter ¶ added in v0.14.0
type CloseWriter interface {
CloseWrite() error
}
type Conn ¶
type Conn interface { ServiceConn Identifiable CompleteAcceptSuccess() error CompleteAcceptFailed(err error) }
type ConnOptions ¶
type CowMapMsgMux ¶ added in v0.15.0
func (*CowMapMsgMux) AddMsgSink ¶ added in v0.15.0
func (mux *CowMapMsgMux) AddMsgSink(sink MsgSink) error
func (*CowMapMsgMux) Close ¶ added in v0.15.0
func (mux *CowMapMsgMux) Close()
func (*CowMapMsgMux) ContentType ¶ added in v0.15.0
func (mux *CowMapMsgMux) ContentType() int32
func (*CowMapMsgMux) GetNextId ¶ added in v0.15.2
func (mux *CowMapMsgMux) GetNextId() uint32
func (*CowMapMsgMux) HandleClose ¶ added in v0.15.0
func (mux *CowMapMsgMux) HandleClose(channel.Channel)
func (*CowMapMsgMux) HandleReceive ¶ added in v0.15.0
func (mux *CowMapMsgMux) HandleReceive(msg *channel.Message, _ channel.Channel)
func (*CowMapMsgMux) RemoveMsgSink ¶ added in v0.15.0
func (mux *CowMapMsgMux) RemoveMsgSink(sink MsgSink)
func (*CowMapMsgMux) RemoveMsgSinkById ¶ added in v0.15.0
func (mux *CowMapMsgMux) RemoveMsgSinkById(sinkId uint32)
type CryptoMethod ¶ added in v0.13.55
type CryptoMethod byte
type CurrentIdentity ¶ added in v0.15.3
type CurrentIdentity struct { Id string `json:"id"` Name string `json:"name"` AppData map[string]interface{} `json:"appData"` DefaultHostingPrecedence string `json:"defaultHostingPrecedence"` DefaultHostingCost uint16 `json:"defaultHostingCost"` ServiceHostingPrecedences map[string]interface{} `json:"serviceHostingPrecedences"` ServiceHostingCosts map[string]interface{} `json:"serviceHostingCosts"` }
type DialOptions ¶ added in v0.13.47
type DialOptions struct { ConnectTimeout time.Duration Identity string CallerId string AppData []byte }
func (DialOptions) GetConnectTimeout ¶ added in v0.13.47
func (d DialOptions) GetConnectTimeout() time.Duration
type DialResult ¶
func UnmarshalDialResult ¶
func UnmarshalDialResult(msg *channel.Message) (*DialResult, error)
type DomainName ¶ added in v0.17.0
type DomainName string
func (DomainName) Match ¶ added in v0.17.0
func (dn DomainName) Match(hostname string) int
type EdgeRouter ¶
type Identifiable ¶
type Identifiable interface {
Id() uint32
}
type InteceptDialOptions ¶ added in v0.17.0
type InterceptV1Config ¶ added in v0.17.0
type InterceptV1Config struct { Addresses []ZitiAddress PortRanges []*PortRange Protocols []string SourceIp *string DialOptions *InteceptDialOptions `json:"dialOptions"` Service *Service }
func (*InterceptV1Config) Match ¶ added in v0.17.0
func (intercept *InterceptV1Config) Match(network, hostname string, port uint16) int
Match returns the matching score of the given target address against this intercept returns -1 in case address is not matched if the address is matched returns a 32bit integer with upper bits set to hostname match and lower bits to port match
type ListenOptions ¶
type ListenOptions struct { Cost uint16 Precedence Precedence ConnectTimeout time.Duration MaxConnections int Identity string IdentitySecret string BindUsingEdgeIdentity bool ManualStart bool }
func (*ListenOptions) GetConnectTimeout ¶
func (options *ListenOptions) GetConnectTimeout() time.Duration
func (*ListenOptions) String ¶
func (options *ListenOptions) String() string
type MsgChannel ¶
type MsgChannel struct { channel.Channel // contains filtered or unexported fields }
func NewEdgeMsgChannel ¶
func NewEdgeMsgChannel(ch channel.Channel, connId uint32) *MsgChannel
func (*MsgChannel) Id ¶
func (ec *MsgChannel) Id() uint32
func (*MsgChannel) NextMsgId ¶ added in v0.15.0
func (ec *MsgChannel) NextMsgId() uint32
func (*MsgChannel) SendState ¶
func (ec *MsgChannel) SendState(msg *channel.Message) error
func (*MsgChannel) SetWriteDeadline ¶
func (ec *MsgChannel) SetWriteDeadline(t time.Time) error
func (*MsgChannel) TraceMsg ¶
func (ec *MsgChannel) TraceMsg(source string, msg *channel.Message)
func (*MsgChannel) WriteTraced ¶
type MsgEvent ¶
func UnmarshalMsgEvent ¶
func (*MsgEvent) GetLoggerFields ¶
func (*MsgEvent) GetSequence ¶
type MsgMux ¶
type MsgMux interface { channel.TypedReceiveHandler channel.CloseHandler AddMsgSink(sink MsgSink) error RemoveMsgSink(sink MsgSink) RemoveMsgSinkById(sinkId uint32) Close() GetNextId() uint32 }
func NewCowMapMsgMux ¶ added in v0.15.0
func NewCowMapMsgMux() MsgMux
type PostureQueries ¶ added in v0.14.5
type PostureQueries struct { IsPassing bool `json:"isPassing"` PostureQueries []PostureQuery }
type PostureQuery ¶ added in v0.14.5
type PostureQuery struct { Id string `json:"id"` IsPassing bool `json:"isPassing"` QueryType string `json:"queryType"` Process *PostureQueryProcess `json:"process"` }
type PostureQueryProcess ¶ added in v0.14.5
type Precedence ¶
type Precedence byte
type RouterClient ¶ added in v0.15.5
type RouterClient interface { Connect(service *Service, session *Session, options *DialOptions) (Conn, error) Listen(service *Service, session *Session, options *ListenOptions) (Listener, error) }
type RouterConn ¶
type Service ¶
type Service struct { Id string `json:"id"` Name string `json:"name"` Permissions []string `json:"permissions"` Encryption bool `json:"encryptionRequired"` PostureQueries []PostureQueries `json:"postureQueries"` Configs map[string]map[string]interface{} `json:"config"` Tags map[string]string `json:"tags"` }
type ServiceConn ¶ added in v0.12.0
type ServiceUpdates ¶ added in v0.15.13
type Session ¶
type Session struct { Id string `json:"id"` Service ApiIdentity `json:"service"` Token string `json:"token"` Type SessionType `json:"type"` EdgeRouters []EdgeRouter `json:"edgeRouters"` }
type SessionListener ¶ added in v0.13.2
type SessionType ¶ added in v0.13.0
type SessionType string
const ( SessionDial SessionType = "Dial" SessionBind SessionType = "Bind" )
type Terminator ¶ added in v0.15.90
type TraceRouteResult ¶ added in v0.15.105
type ZitiAddress ¶ added in v0.17.0
type ZitiAddress struct {
// contains filtered or unexported fields
}
func NewZitiAddress ¶ added in v0.17.0
func NewZitiAddress(str string) (*ZitiAddress, error)
func (*ZitiAddress) Matches ¶ added in v0.17.0
func (self *ZitiAddress) Matches(v any) int
func (*ZitiAddress) UnmarshalJSON ¶ added in v0.17.0
func (self *ZitiAddress) UnmarshalJSON(data []byte) error
func (*ZitiAddress) UnmarshalText ¶ added in v0.17.0
func (self *ZitiAddress) UnmarshalText(data []byte) error
Click to show internal directories.
Click to hide internal directories.