mirror of
https://repo.or.cz/socat.git
synced 2024-12-23 15:52:33 +00:00
merged actual branch 1 fixes
This commit is contained in:
commit
2ade09e5ab
4 changed files with 19 additions and 13 deletions
8
CHANGES
8
CHANGES
|
@ -1,5 +1,5 @@
|
||||||
|
|
||||||
####################### V 2.0.0-b1:
|
####################### V 2.0.0-b2:
|
||||||
|
|
||||||
new features:
|
new features:
|
||||||
address chains consisting of inter and endpoint addresses, linked with
|
address chains consisting of inter and endpoint addresses, linked with
|
||||||
|
@ -27,6 +27,12 @@ new features:
|
||||||
|
|
||||||
new form of FD address with output/input fd numbers
|
new form of FD address with output/input fd numbers
|
||||||
|
|
||||||
|
corrections:
|
||||||
|
help displayed some option types wrong
|
||||||
|
|
||||||
|
under some circumstances shutdown was called multiple times for the
|
||||||
|
same fd
|
||||||
|
|
||||||
####################### V 1.7.0.0:
|
####################### V 1.7.0.0:
|
||||||
|
|
||||||
new features:
|
new features:
|
||||||
|
|
8
test.sh
8
test.sh
|
@ -4592,7 +4592,7 @@ N=$((N+1))
|
||||||
|
|
||||||
NAME=PROXY2SPACES
|
NAME=PROXY2SPACES
|
||||||
case "$TESTS" in
|
case "$TESTS" in
|
||||||
*%functions%*|*%$NAME%*)
|
*%functions%*|*%proxy%*|*%$NAME%*)
|
||||||
TEST="$NAME: proxy connect accepts status with multiple spaces"
|
TEST="$NAME: proxy connect accepts status with multiple spaces"
|
||||||
if ! eval $NUMCOND; then :;
|
if ! eval $NUMCOND; then :;
|
||||||
elif ! testaddrs proxy >/dev/null; then
|
elif ! testaddrs proxy >/dev/null; then
|
||||||
|
@ -4888,7 +4888,7 @@ N=$((N+1))
|
||||||
#!
|
#!
|
||||||
NAME=OUTBOUNDIN
|
NAME=OUTBOUNDIN
|
||||||
case "$TESTS" in
|
case "$TESTS" in
|
||||||
*%functions%*|*%$NAME%*)
|
*%functions%*|*%proxy%*|*%$NAME%*)
|
||||||
TEST="$NAME: gender changer via SSL through HTTP proxy, oneshot"
|
TEST="$NAME: gender changer via SSL through HTTP proxy, oneshot"
|
||||||
if ! eval $NUMCOND; then :;
|
if ! eval $NUMCOND; then :;
|
||||||
elif ! feat=$(testaddrs openssl proxy); then
|
elif ! feat=$(testaddrs openssl proxy); then
|
||||||
|
@ -4975,7 +4975,7 @@ PORT=$((RANDOM+16184))
|
||||||
#!
|
#!
|
||||||
NAME=INTRANETRIPPER
|
NAME=INTRANETRIPPER
|
||||||
case "$TESTS" in
|
case "$TESTS" in
|
||||||
*%functions%*|*%$NAME%*)
|
*%functions%*|*%proxy%*|*%$NAME%*)
|
||||||
TEST="$NAME: gender changer via SSL through HTTP proxy, daemons"
|
TEST="$NAME: gender changer via SSL through HTTP proxy, daemons"
|
||||||
if ! eval $NUMCOND; then :;
|
if ! eval $NUMCOND; then :;
|
||||||
elif ! feat=$(testaddrs openssl proxy); then
|
elif ! feat=$(testaddrs openssl proxy); then
|
||||||
|
@ -7902,7 +7902,7 @@ NAME=IP4BROADCAST
|
||||||
# because we receive - in addition to the regular reply - our own broadcast,
|
# because we receive - in addition to the regular reply - our own broadcast,
|
||||||
# we use a token XXXX that is changed to YYYY in the regular reply packet.
|
# we use a token XXXX that is changed to YYYY in the regular reply packet.
|
||||||
case "$TESTS" in
|
case "$TESTS" in
|
||||||
*%functions%*|*%rawip%*|*%rawip4%*|*%ip4%*|*%dgram%*|*%broadcast%*|*%root%*|*%$NAME%*)
|
*%functions%*|*%engine%*|*%rawip%*|*%rawip4%*|*%ip4%*|*%dgram%*|*%broadcast%*|*%root%*|*%$NAME%*)
|
||||||
TEST="$NAME: raw IPv4 broadcast"
|
TEST="$NAME: raw IPv4 broadcast"
|
||||||
if ! eval $NUMCOND; then :;
|
if ! eval $NUMCOND; then :;
|
||||||
elif ! feat=$(testaddrs ip4 rawip) || ! runsip4 >/dev/null; then
|
elif ! feat=$(testaddrs ip4 rawip) || ! runsip4 >/dev/null; then
|
||||||
|
|
|
@ -436,7 +436,7 @@ int _socat(xiofile_t *xfd1, xiofile_t *xfd2) {
|
||||||
|
|
||||||
/* NOW handle EOFs */
|
/* NOW handle EOFs */
|
||||||
|
|
||||||
if (bytes1 == 0) {
|
if (bytes1 == 0 || XIO_RDSTREAM(sock1)->eof >= 2) {
|
||||||
if (XIO_RDSTREAM(sock1)->ignoreeof &&
|
if (XIO_RDSTREAM(sock1)->ignoreeof &&
|
||||||
!XIO_RDSTREAM(sock1)->actescape && !sock1->stream.closing) {
|
!XIO_RDSTREAM(sock1)->actescape && !sock1->stream.closing) {
|
||||||
Debug1("socket 1 (fd %d) is at EOF, ignoring",
|
Debug1("socket 1 (fd %d) is at EOF, ignoring",
|
||||||
|
@ -459,7 +459,7 @@ int _socat(xiofile_t *xfd1, xiofile_t *xfd2) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (bytes2 == 0) {
|
if (bytes2 == 0 || XIO_RDSTREAM(sock2)->eof >= 2) {
|
||||||
if (XIO_RDSTREAM(sock2)->ignoreeof &&
|
if (XIO_RDSTREAM(sock2)->ignoreeof &&
|
||||||
!XIO_RDSTREAM(sock2)->actescape && !sock2->stream.closing) {
|
!XIO_RDSTREAM(sock2)->actescape && !sock2->stream.closing) {
|
||||||
Debug1("socket 2 (fd %d) is at EOF, ignoring",
|
Debug1("socket 2 (fd %d) is at EOF, ignoring",
|
||||||
|
|
10
xiohelp.c
10
xiohelp.c
|
@ -18,19 +18,19 @@ static const char *optiontypenames[] = {
|
||||||
"SHORT", "SIZE_T", "SOCKADDR", "UNSIGNED-INT",
|
"SHORT", "SIZE_T", "SOCKADDR", "UNSIGNED-INT",
|
||||||
"UNSIGNED-LONG","UNSIGNED-SHORT","MODE_T", "GID_T",
|
"UNSIGNED-LONG","UNSIGNED-SHORT","MODE_T", "GID_T",
|
||||||
"UID_T", "INT[3]", "STRUCT-TIMEVAL", "STRUCT-TIMESPEC",
|
"UID_T", "INT[3]", "STRUCT-TIMEVAL", "STRUCT-TIMESPEC",
|
||||||
|
"DOUBLE", "STRING-NULL", "LONG-LONG", "OFF_T",
|
||||||
|
"OFF64_T", "INT:INT", "INT:INTP", "INT:BIN",
|
||||||
|
"INT:STRING", "INT:INT:INT", "INT:INT:BIN", "INT:INT:STRING",
|
||||||
|
"IP4NAME",
|
||||||
|
|
||||||
#if HAVE_STRUCT_LINGER
|
#if HAVE_STRUCT_LINGER
|
||||||
"STRUCT-LINGER",
|
"STRUCT-LINGER",
|
||||||
#endif
|
#endif
|
||||||
"DOUBLE", "STRING-NULL", "LONG-LONG",
|
|
||||||
"OFF_T", "OFF64_T",
|
|
||||||
#if HAVE_STRUCT_IP_MREQN
|
#if HAVE_STRUCT_IP_MREQN
|
||||||
"STRUCT-IP_MREQN",
|
"STRUCT-IP_MREQN",
|
||||||
#elif HAVE_STRUCT_IP_MREQ
|
#elif HAVE_STRUCT_IP_MREQ
|
||||||
"STRUCT-IP_MREQ",
|
"STRUCT-IP_MREQ",
|
||||||
#endif
|
#endif
|
||||||
"IP4NAME",
|
|
||||||
"INT:INT", "INT:INTP", "INT:BIN", "INT:STRING",
|
|
||||||
"INT:INT:INT", "INT:INT:BIN", "INT:INT:STRING",
|
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue