Documentation

Index

Constants

This section is empty.

Variables

View Source
var LookupHost = net.LookupHost

    LookupHost is mapped to the function net.LookupHost

    Functions

    This section is empty.

    Types

    type PUContext

    type PUContext struct {
    	ApplicationACLs *acls.ACLCache
    
    	DNSACLs cache.DataStore
    
    	Extension  interface{}
    	CancelFunc context.CancelFunc
    	sync.RWMutex
    	// contains filtered or unexported fields
    }

      PUContext holds data indexed by the PU ID

      func NewPU

      func NewPU(contextID string, puInfo *policy.PUInfo, timeout time.Duration) (*PUContext, error)

        NewPU creates a new PU context

        func (*PUContext) Annotations

        func (p *PUContext) Annotations() *policy.TagStore

          Annotations returns the annotations

          func (*PUContext) ApplicationACLPolicyFromAddr

          func (p *PUContext) ApplicationACLPolicyFromAddr(addr net.IP, port uint16) (report *policy.FlowPolicy, action *policy.FlowPolicy, err error)

            ApplicationACLPolicyFromAddr retrieve the policy given an address and port.

            func (*PUContext) Autoport

            func (p *PUContext) Autoport() bool

              Autoport returns if auto port feature is set on the PU

              func (*PUContext) CacheExternalFlowPolicy

              func (p *PUContext) CacheExternalFlowPolicy(packet *packet.Packet, plc interface{})

                CacheExternalFlowPolicy will cache an external flow

                func (*PUContext) CreateRcvRules

                func (p *PUContext) CreateRcvRules(policyRules policy.TagSelectorList)

                  CreateRcvRules create receive rules for this PU based on the update of the policy.

                  func (*PUContext) CreateTxtRules

                  func (p *PUContext) CreateTxtRules(policyRules policy.TagSelectorList)

                    CreateTxtRules create receive rules for this PU based on the update of the policy.

                    func (*PUContext) GetCachedTokenAndServiceContext

                    func (p *PUContext) GetCachedTokenAndServiceContext() ([]byte, []byte, error)

                      GetCachedTokenAndServiceContext returns the cached syn packet token

                      func (*PUContext) GetJWT

                      func (p *PUContext) GetJWT() (string, error)

                        GetJWT retrieves the JWT if it exists in the cache. Returns error otherwise.

                        func (*PUContext) GetProcessKeys

                        func (p *PUContext) GetProcessKeys() (string, []string, []string)

                          GetProcessKeys returns the cache keys for a process

                          func (*PUContext) ID

                          func (p *PUContext) ID() string

                            ID returns the ID of the PU

                            func (*PUContext) IPinExcludedNetworks

                            func (p *PUContext) IPinExcludedNetworks(ip net.IP) bool

                              IPinExcludedNetworks searches if the IP belongs to any of the configured excluded networks

                              func (*PUContext) Identity

                              func (p *PUContext) Identity() *policy.TagStore

                                Identity returns the indentity

                                func (*PUContext) ManagementID

                                func (p *PUContext) ManagementID() string

                                  ManagementID returns the management ID

                                  func (*PUContext) Mark

                                  func (p *PUContext) Mark() string

                                    Mark returns the PU mark

                                    func (*PUContext) NetworkACLPolicy

                                    func (p *PUContext) NetworkACLPolicy(packet *packet.Packet) (report *policy.FlowPolicy, action *policy.FlowPolicy, err error)

                                      NetworkACLPolicy retrieves the policy based on ACLs

                                      func (*PUContext) NetworkACLPolicyFromAddr

                                      func (p *PUContext) NetworkACLPolicyFromAddr(addr net.IP, port uint16) (report *policy.FlowPolicy, action *policy.FlowPolicy, err error)

                                        NetworkACLPolicyFromAddr retrieve the policy given an address and port.

                                        func (*PUContext) RetrieveCachedExternalFlowPolicy

                                        func (p *PUContext) RetrieveCachedExternalFlowPolicy(id string) (interface{}, error)

                                          RetrieveCachedExternalFlowPolicy returns the policy for an external IP

                                          func (*PUContext) Scopes

                                          func (p *PUContext) Scopes() []string

                                            Scopes returns the scopes.

                                            func (*PUContext) SearchRcvRules

                                            func (p *PUContext) SearchRcvRules(
                                            	tags *policy.TagStore,
                                            ) (report *policy.FlowPolicy, packet *policy.FlowPolicy)

                                              SearchRcvRules searches both receive and observed receive rules and returns the index and action

                                              func (*PUContext) SearchTxtRules

                                              func (p *PUContext) SearchTxtRules(
                                              	tags *policy.TagStore,
                                              	skipRejectPolicies bool,
                                              ) (report *policy.FlowPolicy, packet *policy.FlowPolicy)

                                                SearchTxtRules searches both receive and observed transmit rules and returns the index and action

                                                func (*PUContext) SynServiceContext

                                                func (p *PUContext) SynServiceContext() []byte

                                                  SynServiceContext returns synServiceContext

                                                  func (*PUContext) TCPPorts

                                                  func (p *PUContext) TCPPorts() []string

                                                    TCPPorts returns the PU TCP ports

                                                    func (*PUContext) Type

                                                    func (p *PUContext) Type() common.PUType

                                                      Type return the pu type

                                                      func (*PUContext) UDPNetworks

                                                      func (p *PUContext) UDPNetworks() []*net.IPNet

                                                        UDPNetworks returns the target UDP networks.

                                                        func (*PUContext) UDPPorts

                                                        func (p *PUContext) UDPPorts() []string

                                                          UDPPorts returns the PU UDP ports

                                                          func (*PUContext) UpdateApplicationACLs

                                                          func (p *PUContext) UpdateApplicationACLs(rules policy.IPRuleList) error

                                                            UpdateApplicationACLs updates the application ACL policy

                                                            func (*PUContext) UpdateCachedTokenAndServiceContext

                                                            func (p *PUContext) UpdateCachedTokenAndServiceContext(token []byte, serviceContext []byte)

                                                              UpdateCachedTokenAndServiceContext updates the local cached token

                                                              func (*PUContext) UpdateJWT

                                                              func (p *PUContext) UpdateJWT(jwt string, expiration time.Time)

                                                                UpdateJWT updates the JWT and provides a new expiration date.

                                                                func (*PUContext) UpdateNetworkACLs

                                                                func (p *PUContext) UpdateNetworkACLs(rules policy.IPRuleList) error

                                                                  UpdateNetworkACLs updates the network ACL policy

                                                                  func (*PUContext) UpdateSynServiceContext

                                                                  func (p *PUContext) UpdateSynServiceContext(synServiceContext []byte)

                                                                    UpdateSynServiceContext updates the synServiceContext

                                                                    func (*PUContext) Username

                                                                    func (p *PUContext) Username() string

                                                                      Username returns the ID of the PU

                                                                      Source Files