mirror of
https://github.com/moparisthebest/socat
synced 2024-12-21 14:38:48 -05:00
typos in docu and source
This commit is contained in:
parent
7e3386f228
commit
490a01d245
5
CHANGES
5
CHANGES
@ -97,6 +97,11 @@ new features:
|
|||||||
feature of newer OpenSSL versions. Thanks to Michael Hanselmann for
|
feature of newer OpenSSL versions. Thanks to Michael Hanselmann for
|
||||||
providing this contribution (sponsored by Google Inc.)
|
providing this contribution (sponsored by Google Inc.)
|
||||||
|
|
||||||
|
docu:
|
||||||
|
minor corrections in docu (thanks to Paggas)
|
||||||
|
|
||||||
|
client process -> child process
|
||||||
|
|
||||||
####################### V 1.7.1.3:
|
####################### V 1.7.1.3:
|
||||||
|
|
||||||
security:
|
security:
|
||||||
|
16
doc/socat.yo
16
doc/socat.yo
@ -333,7 +333,7 @@ label(ADDRESS_GOPEN)dit(bf(tt(GOPEN:<filename>)))
|
|||||||
link(UNIX-CONNECT)(ADDRESS_UNIX_CONNECT)
|
link(UNIX-CONNECT)(ADDRESS_UNIX_CONNECT)
|
||||||
|
|
||||||
label(ADDRESS_IP_SENDTO)dit(bf(tt(IP-SENDTO:<host>:<protocol>)))
|
label(ADDRESS_IP_SENDTO)dit(bf(tt(IP-SENDTO:<host>:<protocol>)))
|
||||||
Opens a raw IP socket. Depending on host specification or option link(pf)(OPTION_PROTOCOL_FAMILY), IP procotol version
|
Opens a raw IP socket. Depending on host specification or option link(pf)(OPTION_PROTOCOL_FAMILY), IP protocol version
|
||||||
4 or 6 is used. It uses link(<protocol>)(TYPE_PROTOCOL) to send packets
|
4 or 6 is used. It uses link(<protocol>)(TYPE_PROTOCOL) to send packets
|
||||||
to <host> [link(IP address)(TYPE_IP_ADDRESS)] and receives packets from
|
to <host> [link(IP address)(TYPE_IP_ADDRESS)] and receives packets from
|
||||||
host, ignores packets from other hosts.
|
host, ignores packets from other hosts.
|
||||||
@ -404,7 +404,7 @@ label(ADDRESS_IP6_DATAGRAM)dit(bf(tt(IP6-DATAGRAM:<host>:<protocol>)))
|
|||||||
Option groups: link(FD)(GROUP_FD),link(SOCKET)(GROUP_SOCKET),link(IP6)(GROUP_IP6),link(RANGE)(GROUP_RANGE) nl()
|
Option groups: link(FD)(GROUP_FD),link(SOCKET)(GROUP_SOCKET),link(IP6)(GROUP_IP6),link(RANGE)(GROUP_RANGE) nl()
|
||||||
|
|
||||||
label(ADDRESS_IP_RECVFROM)dit(bf(tt(IP-RECVFROM:<protocol>)))
|
label(ADDRESS_IP_RECVFROM)dit(bf(tt(IP-RECVFROM:<protocol>)))
|
||||||
Opens a raw IP socket of link(<protocol>)(TYPE_PROTOCOL). Depending on option link(pf)(OPTION_PROTOCOL_FAMILY), IP procotol version
|
Opens a raw IP socket of link(<protocol>)(TYPE_PROTOCOL). Depending on option link(pf)(OPTION_PROTOCOL_FAMILY), IP protocol version
|
||||||
4 or 6 is used. It receives one packet from an unspecified peer and may send one or more answer packets to that peer.
|
4 or 6 is used. It receives one packet from an unspecified peer and may send one or more answer packets to that peer.
|
||||||
This mode is particularly useful with fork option where each arriving packet - from arbitrary peers - is handled by its own sub process.
|
This mode is particularly useful with fork option where each arriving packet - from arbitrary peers - is handled by its own sub process.
|
||||||
This allows a behaviour similar to typical UDP based servers like ntpd or
|
This allows a behaviour similar to typical UDP based servers like ntpd or
|
||||||
@ -437,7 +437,7 @@ label(ADDRESS_IP6_RECVFROM)dit(bf(tt(IP6-RECVFROM:<protocol>)))
|
|||||||
Option groups: link(FD)(GROUP_FD),link(SOCKET)(GROUP_SOCKET),link(IP6)(GROUP_IP6),link(CHILD)(GROUP_CHILD),link(RANGE)(GROUP_RANGE) nl()
|
Option groups: link(FD)(GROUP_FD),link(SOCKET)(GROUP_SOCKET),link(IP6)(GROUP_IP6),link(CHILD)(GROUP_CHILD),link(RANGE)(GROUP_RANGE) nl()
|
||||||
|
|
||||||
label(ADDRESS_IP_RECV)dit(bf(tt(IP-RECV:<protocol>)))
|
label(ADDRESS_IP_RECV)dit(bf(tt(IP-RECV:<protocol>)))
|
||||||
Opens a raw IP socket of link(<protocol>)(TYPE_PROTOCOL). Depending on option link(pf)(OPTION_PROTOCOL_FAMILY), IP procotol version
|
Opens a raw IP socket of link(<protocol>)(TYPE_PROTOCOL). Depending on option link(pf)(OPTION_PROTOCOL_FAMILY), IP protocol version
|
||||||
4 or 6 is used. It receives packets from multiple unspecified peers and merges the data.
|
4 or 6 is used. It receives packets from multiple unspecified peers and merges the data.
|
||||||
No replies are possible.
|
No replies are possible.
|
||||||
It can be, e.g., addressed by socat IP-SENDTO address peers.
|
It can be, e.g., addressed by socat IP-SENDTO address peers.
|
||||||
@ -3250,12 +3250,10 @@ label(EXAMPLE_ADDRESS_TUN)
|
|||||||
dit(bf(tt(socat TCP:host2:4443 TUN:192.168.255.1/24,up)))
|
dit(bf(tt(socat TCP:host2:4443 TUN:192.168.255.1/24,up)))
|
||||||
|
|
||||||
establishes one side of a virtual (but not private!) network with host2 where a
|
establishes one side of a virtual (but not private!) network with host2 where a
|
||||||
similar process might run, with TCP-L and tun address 192.168.255.2. They
|
similar process might run, with UDP-L and tun address 192.168.255.2. They can
|
||||||
can reach each other using the addresses 192.168.255.1 and
|
reach each other using the addresses 192.168.255.1 and 192.168.255.2. Note that
|
||||||
192.168.255.2. Substitute the TCP link with an SSL connection protected by
|
streaming eg. via TCP or SSL does not guarantee to retain packet boundaries and
|
||||||
client and server authentication (see OpenSSL
|
may thus cause packet loss.
|
||||||
link(client)(EXAMPLE_ADDRESS_OPENSSL_CONNECT) and
|
|
||||||
link(server)(EXAMPLE_ADDRESS_OPENSSL_LISTEN)).
|
|
||||||
|
|
||||||
|
|
||||||
label(EXAMPLE_INTERFACE)
|
label(EXAMPLE_INTERFACE)
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/* source: xio-listen.c */
|
/* source: xio-listen.c */
|
||||||
/* Copyright Gerhard Rieger 2001-2010 */
|
/* Copyright Gerhard Rieger 2001-2011 */
|
||||||
/* Published under the GNU General Public License V.2, see file COPYING */
|
/* Published under the GNU General Public License V.2, see file COPYING */
|
||||||
|
|
||||||
/* this file contains the source for listen socket options */
|
/* this file contains the source for listen socket options */
|
||||||
@ -307,7 +307,7 @@ int _xioopen_listen(struct single *xfd, int xioflags, struct sockaddr *us, sockl
|
|||||||
pid_t cpid = Getpid();
|
pid_t cpid = Getpid();
|
||||||
Sigprocmask(SIG_UNBLOCK, &mask_sigchld, NULL);
|
Sigprocmask(SIG_UNBLOCK, &mask_sigchld, NULL);
|
||||||
|
|
||||||
Info1("just born: client process "F_pid, cpid);
|
Info1("just born: child process "F_pid, cpid);
|
||||||
xiosetenvulong("PID", cpid, 1);
|
xiosetenvulong("PID", cpid, 1);
|
||||||
|
|
||||||
if (Close(xfd->fd) < 0) {
|
if (Close(xfd->fd) < 0) {
|
||||||
|
@ -1090,7 +1090,7 @@ int _xioopen_dgram_sendto(/* them is already in xfd->peersa */
|
|||||||
packet in the IP stacks input queue and forks a sub process. The sub process
|
packet in the IP stacks input queue and forks a sub process. The sub process
|
||||||
then reads this packet for processing its data.
|
then reads this packet for processing its data.
|
||||||
There is a problem because the parent process would find the same packet
|
There is a problem because the parent process would find the same packet
|
||||||
again if it calls select()/poll() before the client process reads the
|
again if it calls select()/poll() before the child process reads the
|
||||||
packet.
|
packet.
|
||||||
To solve this problem we implement the following mechanism:
|
To solve this problem we implement the following mechanism:
|
||||||
The sub process sends a SIGUSR1 when it has read the packet (or a SIGCHLD if
|
The sub process sends a SIGUSR1 when it has read the packet (or a SIGCHLD if
|
||||||
|
@ -44,7 +44,7 @@ const struct optdesc opt_iff_automedia = { "iff-automedia", "automedia", O
|
|||||||
const struct optdesc opt_route = { "route", NULL, OPT_ROUTE, GROUP_INTERFACE, PH_INIT, TYPE_STRING, OFUNC_SPEC };
|
const struct optdesc opt_route = { "route", NULL, OPT_ROUTE, GROUP_INTERFACE, PH_INIT, TYPE_STRING, OFUNC_SPEC };
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const struct addrdesc xioaddr_tun = { "tun", 3, xioopen_tun, GROUP_FD|GROUP_CHR|GROUP_NAMED|GROUP_OPEN|GROUP_TUN, 0, 0, 0 HELP(":<ip-addr>/<bits>") };
|
const struct addrdesc xioaddr_tun = { "tun", 3, xioopen_tun, GROUP_FD|GROUP_CHR|GROUP_NAMED|GROUP_OPEN|GROUP_TUN, 0, 0, 0 HELP("[:<ip-addr>/<bits>]") };
|
||||||
/* "if-name"=tun3
|
/* "if-name"=tun3
|
||||||
// "route"=address/netmask
|
// "route"=address/netmask
|
||||||
// "ip6-route"=address/netmask
|
// "ip6-route"=address/netmask
|
||||||
|
@ -222,7 +222,7 @@ pid_t xio_fork(bool subchild, int level) {
|
|||||||
if (pid == 0) { /* child process */
|
if (pid == 0) { /* child process */
|
||||||
pid_t cpid = Getpid();
|
pid_t cpid = Getpid();
|
||||||
|
|
||||||
Info1("just born: client process "F_pid, cpid);
|
Info1("just born: child process "F_pid, cpid);
|
||||||
if (!subchild) {
|
if (!subchild) {
|
||||||
/* set SOCAT_PID to new value */
|
/* set SOCAT_PID to new value */
|
||||||
xiosetenvulong("PID", pid, 1);
|
xiosetenvulong("PID", pid, 1);
|
||||||
|
Loading…
Reference in New Issue
Block a user