mirror of
https://repo.or.cz/socat.git
synced 2025-06-19 07:16:52 +00:00
Improved README; explained benefit of UDP-DATAGRAM
This commit is contained in:
parent
52e2e5a277
commit
186a323c2d
3 changed files with 24 additions and 8 deletions
4
CHANGES
4
CHANGES
|
@ -158,6 +158,10 @@ Documentation:
|
||||||
Corrected lots of misspelling and typos.
|
Corrected lots of misspelling and typos.
|
||||||
Thanks to Mario de Weerd for reporting these issues.
|
Thanks to Mario de Weerd for reporting these issues.
|
||||||
|
|
||||||
|
Improved README file.
|
||||||
|
|
||||||
|
Better explained benefit of UDP-DATAGRAM address type.
|
||||||
|
|
||||||
####################### V 1.8.0.2:
|
####################### V 1.8.0.2:
|
||||||
|
|
||||||
Security:
|
Security:
|
||||||
|
|
13
README
13
README
|
@ -58,8 +58,15 @@ Rocky 9
|
||||||
Cygwin 10.0
|
Cygwin 10.0
|
||||||
|
|
||||||
|
|
||||||
install
|
build
|
||||||
-------
|
-----
|
||||||
|
|
||||||
|
You need at least gcc and make.
|
||||||
|
A few libraries are required for full features:
|
||||||
|
Debian: libssl-dev libreadline-dev libwrap0-dev
|
||||||
|
Red Hat: openssl-devel readline-devel tcp_wrappers-libs
|
||||||
|
Arch Linux: openssl readline
|
||||||
|
|
||||||
|
|
||||||
Get the tarball and extract it:
|
Get the tarball and extract it:
|
||||||
tar xzf socat.tar.gz
|
tar xzf socat.tar.gz
|
||||||
|
@ -69,7 +76,7 @@ Get the tarball and extract it:
|
||||||
su
|
su
|
||||||
make install # installs socat, filan, and procan in /usr/local/bin
|
make install # installs socat, filan, and procan in /usr/local/bin
|
||||||
|
|
||||||
For compiling socat, gcc (or clang) is recommended.
|
For compiling socat, gcc or a compatible compiler (e.g. clang) is recommended.
|
||||||
If gcc (or a compiler with similar front end) is not available, the configure
|
If gcc (or a compiler with similar front end) is not available, the configure
|
||||||
script might fail to determine some features
|
script might fail to determine some features
|
||||||
|
|
||||||
|
|
15
doc/socat.yo
15
doc/socat.yo
|
@ -1429,7 +1429,8 @@ label(ADDRESS_UDP_SENDTO)dit(bf(tt(UDP-SENDTO:<host>:<port>)))
|
||||||
link(pf)(OPTION_PROTOCOL_FAMILY). It sends packets to and receives packets
|
link(pf)(OPTION_PROTOCOL_FAMILY). It sends packets to and receives packets
|
||||||
from that peer socket only.
|
from that peer socket only.
|
||||||
This address effectively implements a datagram client.
|
This address effectively implements a datagram client.
|
||||||
It works well with socat UDP-RECVFROM and UDP-RECV address peers.nl()
|
It works well with socat UDP-RECVFROM and UDP-RECV address peers.
|
||||||
|
When the peer might send data first, link(UDP-DATAGRAM)(ADDRESS_UDP_DATAGRAM) is preferable.nl()
|
||||||
Option groups: link(FD)(GROUP_FD),link(SOCKET)(GROUP_SOCKET),link(IP4)(GROUP_IP4),link(IP6)(GROUP_IP6) nl()
|
Option groups: link(FD)(GROUP_FD),link(SOCKET)(GROUP_SOCKET),link(IP4)(GROUP_IP4),link(IP6)(GROUP_IP6) nl()
|
||||||
Useful options:
|
Useful options:
|
||||||
link(ttl)(OPTION_TTL),
|
link(ttl)(OPTION_TTL),
|
||||||
|
@ -1467,7 +1468,8 @@ label(ADDRESS_UDP_RECVFROM)dit(bf(tt(UDP-RECVFROM:<port>)))
|
||||||
label(NOTE_RECVFROM)Note: When the second address fails before entering the transfer loop the
|
label(NOTE_RECVFROM)Note: When the second address fails before entering the transfer loop the
|
||||||
packet is dropped. Use option link(retry)(OPTION_RETRY) or
|
packet is dropped. Use option link(retry)(OPTION_RETRY) or
|
||||||
link(forever)(OPTION_FOREVER) on the second address to avoid data loss.
|
link(forever)(OPTION_FOREVER) on the second address to avoid data loss.
|
||||||
nl()
|
When you know the peer address, link(UDP-DATAGRAM)(ADDRESS_UDP_DATAGRAM) is
|
||||||
|
preferable.nl()
|
||||||
Option groups: link(FD)(GROUP_FD),link(SOCKET)(GROUP_SOCKET),link(IP4)(GROUP_IP4),link(IP6)(GROUP_IP6),link(CHILD)(GROUP_CHILD),link(RANGE)(GROUP_RANGE) nl()
|
Option groups: link(FD)(GROUP_FD),link(SOCKET)(GROUP_SOCKET),link(IP4)(GROUP_IP4),link(IP6)(GROUP_IP6),link(CHILD)(GROUP_CHILD),link(RANGE)(GROUP_RANGE) nl()
|
||||||
Useful options:
|
Useful options:
|
||||||
link(fork)(OPTION_FORK),
|
link(fork)(OPTION_FORK),
|
||||||
|
@ -2996,6 +2998,8 @@ label(OPTION_NOFORK)dit(bf(tt(nofork)))
|
||||||
it() the first socat address cannot be OPENSSL or READLINE
|
it() the first socat address cannot be OPENSSL or READLINE
|
||||||
it() socat options -b, -t, -D, -l, -v, -x become useless
|
it() socat options -b, -t, -D, -l, -v, -x become useless
|
||||||
it() for both addresses, options ignoreeof, cr, and crnl become useless
|
it() for both addresses, options ignoreeof, cr, and crnl become useless
|
||||||
|
it() for both addresses, address specific end/shutdown handling (e.g.,
|
||||||
|
graceful socket shutdown) and related options become useless
|
||||||
it() for the second address (the one with option nofork), options
|
it() for the second address (the one with option nofork), options
|
||||||
append, metaCOMMENT(async,) cloexec, flock, user, group, mode, nonblock,
|
append, metaCOMMENT(async,) cloexec, flock, user, group, mode, nonblock,
|
||||||
perm-late, setlk, and setpgid cannot be applied. Some of these could be
|
perm-late, setlk, and setpgid cannot be applied. Some of these could be
|
||||||
|
@ -3543,7 +3547,8 @@ label(TYPE_COMMAND_LINE)dit(command-line)
|
||||||
A string specifying a program name and its arguments, separated by single
|
A string specifying a program name and its arguments, separated by single
|
||||||
spaces.
|
spaces.
|
||||||
label(TYPE_DATA)dit(data)
|
label(TYPE_DATA)dit(data)
|
||||||
This is a more general data specification. The given text string contains
|
This is a more general data specification, "dalan" (low level data
|
||||||
|
description language). The given text string contains
|
||||||
information about the target data type and value. Generally a leading
|
information about the target data type and value. Generally a leading
|
||||||
character specifies the type of the following data item. In its specific
|
character specifies the type of the following data item. In its specific
|
||||||
context a default data type may exist.nl()
|
context a default data type may exist.nl()
|
||||||
|
@ -3559,12 +3564,12 @@ label(TYPE_DATA)dit(data)
|
||||||
dit(b) A signed byte (signed char).nl()
|
dit(b) A signed byte (signed char).nl()
|
||||||
dit(B) An unsigned byte (unsigned char).nl()
|
dit(B) An unsigned byte (unsigned char).nl()
|
||||||
dit(x) Following is an even number of hex digits, stored as sequence of
|
dit(x) Following is an even number of hex digits, stored as sequence of
|
||||||
bytes.nl()
|
bytes, the data length is the resulting number of bytes.nl()
|
||||||
Example: bf(x7f000001) (IP address 127.0.0.1)
|
Example: bf(x7f000001) (IP address 127.0.0.1)
|
||||||
dit(") Following is a string that is used with the common conversions
|
dit(") Following is a string that is used with the common conversions
|
||||||
\n \r \t \f \b \a \e \0; the string must be closed with '"'. Please note
|
\n \r \t \f \b \a \e \0; the string must be closed with '"'. Please note
|
||||||
that the quotes and backslashes need to be escaped from shell and socat()
|
that the quotes and backslashes need to be escaped from shell and socat()
|
||||||
conversion.nl()
|
conversion. No implicit \0 is appended.nl()
|
||||||
Example: bf("Hello world!\n")
|
Example: bf("Hello world!\n")
|
||||||
dit(') A single char, with the usual conversions. Please note that the
|
dit(') A single char, with the usual conversions. Please note that the
|
||||||
quotes and backslashes need to be escaped from shell and socat() conversion.
|
quotes and backslashes need to be escaped from shell and socat() conversion.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue