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.
|
||||
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:
|
||||
|
||||
Security:
|
||||
|
|
13
README
13
README
|
@ -58,8 +58,15 @@ Rocky 9
|
|||
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:
|
||||
tar xzf socat.tar.gz
|
||||
|
@ -69,7 +76,7 @@ Get the tarball and extract it:
|
|||
su
|
||||
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
|
||||
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
|
||||
from that peer socket only.
|
||||
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()
|
||||
Useful options:
|
||||
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
|
||||
packet is dropped. Use option link(retry)(OPTION_RETRY) or
|
||||
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()
|
||||
Useful options:
|
||||
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() 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, 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
|
||||
append, metaCOMMENT(async,) cloexec, flock, user, group, mode, nonblock,
|
||||
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
|
||||
spaces.
|
||||
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
|
||||
character specifies the type of the following data item. In its specific
|
||||
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) An unsigned byte (unsigned char).nl()
|
||||
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)
|
||||
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
|
||||
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")
|
||||
dit(') A single char, with the usual conversions. Please note that the
|
||||
quotes and backslashes need to be escaped from shell and socat() conversion.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue