SYNOPSIS

vanessa_socket_pipe [options]

DESCRIPTION

A TCP/IP pipe is a user space programme that listens for TCP/IP connections on port on the local host and when a client connects makes a connection to a TCP port, possibly on another host. Once both connections are established data sent on one connection is relayed to the other, hence forming a bi-directional pipe.

Uses include enabling connections to specific ports on hosts behind a packet filter.

This code is intended primarily as an example of how many of the features of libvanessa_socket work.

OPTIONS

-c|--connection_limit:

Maximum number of connections to accept simultaneously. A value of zero sets no limit on the number of simultaneous connections. (default 0)

-d|--debug:

Turn on verbose debuging to stderr.

-h|--help:

Display this message.

-L|--listen_port:

Port to listen on. (mandatory)

-l|--listen_host:

Address to listen on. May be a hostname or an IP address. If not defined then listen on all local addresses.

-n|--no_lookup:

Turn off lookup of hostnames and portnames. That is, hosts must be given as IP addresses and ports must be given as numbers.

-O|--outgoing_port:

Define a port to connect to. If not specified -l|--listen_port will be used.

-o|--outgoing_host:

Define host to connect to. May be a hostname or an IP address. (mandatory)

-q|--quiet:

Only log errors. Overriden by -d|--debug.

-t|--timeout:

Idle timeout in seconds. Value of zero sets infinite timeout. (default 1800)

Notes:

Default value for binary flags is off.

-L|--listen_port and -o|--outgoing_host must be defined.

AUTHOR

Simon Horman <[email protected]>