markedconn

package
v10.28.0+incompatible Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 15, 2018 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DialMarkedTCP

func DialMarkedTCP(network string, laddr, raddr *net.TCPAddr, mark int) (net.Conn, error)

DialMarkedTCP creates a new TCP connection and marks it with the provided mark.

func GetOriginalDestination

func GetOriginalDestination(conn net.Conn) (net.IP, int, error)

GetOriginalDestination -- Func to get original destination a connection

func MarkConnection

func MarkConnection(conn net.Conn, mark int) error

MarkConnection marks an existing connection with a mark

func SocketListener

func SocketListener(port string, mark int) (net.Listener, error)

SocketListener creates a TCP listener through system calls giving us more control over the specific parameters that we need.

Types

type ProxiedConnection

type ProxiedConnection struct {
	net.Conn
	// contains filtered or unexported fields
}

ProxiedConnection is a proxied connection where we can recover the original destination.

func (*ProxiedConnection) GetOriginalDestination

func (p *ProxiedConnection) GetOriginalDestination() (net.IP, int)

GetOriginalDestination sets the original destination of the connection.

func (*ProxiedConnection) GetTCPConnection

func (p *ProxiedConnection) GetTCPConnection() *net.TCPConn

GetTCPConnection returns the TCP connection object.

func (*ProxiedConnection) LocalAddr

func (p *ProxiedConnection) LocalAddr() net.Addr

LocalAddr implements the corresponding method of net.Conn, but returns the original address.

type ProxiedListener

type ProxiedListener struct {
	// contains filtered or unexported fields
}

ProxiedListener is a proxied listener that uses proxied connections.

func (ProxiedListener) Accept

func (l ProxiedListener) Accept() (c net.Conn, err error)

Accept implements the accept method of the interface.

func (ProxiedListener) Addr

func (l ProxiedListener) Addr() net.Addr

Addr implements the Addr method of net.Listener.

func (ProxiedListener) Close

func (l ProxiedListener) Close() error

Close implements the Close method of the net.Listener.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL