trireme-lib: go.aporeto.io/trireme-lib/controller/internal/enforcer/applicationproxy/tcp Index | Files

package tcp

import "go.aporeto.io/trireme-lib/controller/internal/enforcer/applicationproxy/tcp"

Index

Package Files

tcp.go

type Proxy Uses

type Proxy struct {
    sync.RWMutex
    // contains filtered or unexported fields
}

Proxy maintains state for proxies connections from listen to backend.

func NewTCPProxy Uses

func NewTCPProxy(
    tp tokenaccessor.TokenAccessor,
    c collector.EventCollector,
    puContext string,
    registry *serviceregistry.Registry,
    certificate *tls.Certificate,
    caPool *x509.CertPool,
) *Proxy

NewTCPProxy creates a new instance of proxy reate a new instance of Proxy

func (*Proxy) CompleteEndPointAuthorization Uses

func (p *Proxy) CompleteEndPointAuthorization(downIP net.IP, downPort int, upConn, downConn net.Conn) (bool, error)

CompleteEndPointAuthorization -- Aporeto Handshake on top of a completed connection We will define states here equivalent to SYN_SENT AND SYN_RECEIVED

func (*Proxy) RunNetworkServer Uses

func (p *Proxy) RunNetworkServer(ctx context.Context, listener net.Listener, encrypted bool) error

RunNetworkServer implements enforcer.Enforcer interface

func (*Proxy) ShutDown Uses

func (p *Proxy) ShutDown() error

ShutDown shuts down the server.

func (*Proxy) StartClientAuthStateMachine Uses

func (p *Proxy) StartClientAuthStateMachine(downIP net.IP, downPort int, downConn net.Conn) (bool, error)

StartClientAuthStateMachine -- Starts the aporeto handshake for client application

func (*Proxy) StartServerAuthStateMachine Uses

func (p *Proxy) StartServerAuthStateMachine(ip net.IP, backendport int, upConn net.Conn) (bool, error)

StartServerAuthStateMachine -- Start the aporeto handshake for a server application

func (*Proxy) UpdateSecrets Uses

func (p *Proxy) UpdateSecrets(cert *tls.Certificate, caPool *x509.CertPool, s secrets.Secrets, certPEM, keyPEM string)

UpdateSecrets updates the secrets of the connections.

Package tcp imports 25 packages (graph) and is imported by 2 packages. Updated 2019-08-15. Refresh now. Tools for package owners.