mirror of
https://repo.or.cz/socat.git
synced 2024-12-22 23:42:34 +00:00
Option ipv6-join-group is in PH_PASTSOCKET
This commit is contained in:
parent
e1a5931827
commit
b5be579187
3 changed files with 17 additions and 8 deletions
5
CHANGES
5
CHANGES
|
@ -26,6 +26,11 @@ corrections:
|
||||||
Introduces functions diag_sock_pair(), diag_fork()
|
Introduces functions diag_sock_pair(), diag_fork()
|
||||||
Thanks to Darren Zhao for analysing and reporting this problem.
|
Thanks to Darren Zhao for analysing and reporting this problem.
|
||||||
|
|
||||||
|
Option ipv6-join-group did not work because it was applied in the wrong
|
||||||
|
phase
|
||||||
|
Test: UDP6MULTICAST_UNIDIR
|
||||||
|
Thanks to Angus Gratton for sending a patch.
|
||||||
|
|
||||||
testing:
|
testing:
|
||||||
test.sh: Show a warning when phase-1 (insecure phase) of a security
|
test.sh: Show a warning when phase-1 (insecure phase) of a security
|
||||||
test fails
|
test fails
|
||||||
|
|
18
test.sh
18
test.sh
|
@ -77,7 +77,8 @@ else
|
||||||
*) INTERFACE="$(netstat -rn |grep -e "^default" -e "^0\.0\.0\.0" |awk '{print($4);}')" ;;
|
*) INTERFACE="$(netstat -rn |grep -e "^default" -e "^0\.0\.0\.0" |awk '{print($4);}')" ;;
|
||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
MCINTERFACE=lo # !!! Linux only
|
MCINTERFACE=lo # !!! Linux only - and not always
|
||||||
|
MCINTERFACE=$INTERFACE
|
||||||
#LOCALHOST=192.168.58.1
|
#LOCALHOST=192.168.58.1
|
||||||
LOCALHOST=localhost
|
LOCALHOST=localhost
|
||||||
#LOCALHOST=127.0.0.1
|
#LOCALHOST=127.0.0.1
|
||||||
|
@ -8606,7 +8607,7 @@ esac
|
||||||
PROTO=$((PROTO+1))
|
PROTO=$((PROTO+1))
|
||||||
N=$((N+1))
|
N=$((N+1))
|
||||||
|
|
||||||
if false; then
|
if true; then
|
||||||
NAME=UDP6MULTICAST_UNIDIR
|
NAME=UDP6MULTICAST_UNIDIR
|
||||||
case "$TESTS" in
|
case "$TESTS" in
|
||||||
*%$N%*|*%functions%*|*%udp%*|*%udp6%*|*%ip6%*|*%dgram%*|*%multicast%*|*%$NAME%*)
|
*%$N%*|*%functions%*|*%udp%*|*%udp6%*|*%ip6%*|*%dgram%*|*%multicast%*|*%$NAME%*)
|
||||||
|
@ -8624,7 +8625,8 @@ if1="$MCINTERFACE"
|
||||||
ts1a="[::1]"
|
ts1a="[::1]"
|
||||||
da="test$N $(date) $RANDOM"
|
da="test$N $(date) $RANDOM"
|
||||||
CMD1="$TRACE $SOCAT -u $opts UDP6-RECV:$ts1p,reuseaddr,ipv6-join-group=[ff02::2]:$if1 -"
|
CMD1="$TRACE $SOCAT -u $opts UDP6-RECV:$ts1p,reuseaddr,ipv6-join-group=[ff02::2]:$if1 -"
|
||||||
CMD2="$TRACE $SOCAT -u $opts - UDP6-SENDTO:[ff02::2]:$ts1p,bind=$ts1a"
|
#CMD2="$TRACE $SOCAT -u $opts - UDP6-SENDTO:[ff02::2]:$ts1p,bind=$ts1a"
|
||||||
|
CMD2="$TRACE $SOCAT -u $opts - UDP6-SENDTO:[ff02::2]:$ts1p"
|
||||||
printf "test $F_n $TEST... " $N
|
printf "test $F_n $TEST... " $N
|
||||||
$CMD1 2>"${te}1" >"${tf}" &
|
$CMD1 2>"${te}1" >"${tf}" &
|
||||||
pid1="$!"
|
pid1="$!"
|
||||||
|
@ -8635,19 +8637,21 @@ usleep $MICROS
|
||||||
kill "$pid1" 2>/dev/null; wait;
|
kill "$pid1" 2>/dev/null; wait;
|
||||||
if [ "$rc2" -ne 0 ]; then
|
if [ "$rc2" -ne 0 ]; then
|
||||||
$PRINTF "$FAILED: $TRACE $SOCAT:\n"
|
$PRINTF "$FAILED: $TRACE $SOCAT:\n"
|
||||||
echo "$CMD1 &"
|
echo -e "$CMD1 &\n$CMD2"
|
||||||
echo "$CMD2"
|
|
||||||
cat "${te}1"
|
cat "${te}1"
|
||||||
cat "${te}2"
|
cat "${te}2"
|
||||||
numFAIL=$((numFAIL+1))
|
numFAIL=$((numFAIL+1))
|
||||||
listFAIL="$listFAIL $N"
|
listFAIL="$listFAIL $N"
|
||||||
elif ! echo "$da" |diff - "$tf" >"$tdiff"; then
|
elif ! echo "$da" |diff - "$tf" >"$tdiff"; then
|
||||||
$PRINTF "$FAILED\n"
|
$PRINTF "$FAILED\n"
|
||||||
|
echo "$CMD1 &"
|
||||||
|
echo "$CMD2"
|
||||||
cat "$tdiff"
|
cat "$tdiff"
|
||||||
numFAIL=$((numFAIL+1))
|
numFAIL=$((numFAIL+1))
|
||||||
listFAIL="$listFAIL $N"
|
listFAIL="$listFAIL $N"
|
||||||
else
|
else
|
||||||
$PRINTF "$OK\n"
|
$PRINTF "$OK\n"
|
||||||
|
if [ "$VERBOSE" ]; then echo -e "$CMD1 &\n$CMD2"; fi
|
||||||
if [ -n "$debug" ]; then cat $te; fi
|
if [ -n "$debug" ]; then cat $te; fi
|
||||||
numOK=$((numOK+1))
|
numOK=$((numOK+1))
|
||||||
fi
|
fi
|
||||||
|
@ -8695,7 +8699,7 @@ elif ! echo "$da" |diff - "$tf" >"$tdiff"; then
|
||||||
listFAIL="$listFAIL $N"
|
listFAIL="$listFAIL $N"
|
||||||
else
|
else
|
||||||
$PRINTF "$OK\n"
|
$PRINTF "$OK\n"
|
||||||
if [ -n "$tut" ]; then
|
if [ -n "$VERBOSE" ]; then
|
||||||
echo "$CMD1 &"
|
echo "$CMD1 &"
|
||||||
echo "$CMD2"
|
echo "$CMD2"
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -23,7 +23,7 @@ static char *inet6addr_info(const struct in6_addr *sa, char *buff, size_t blen);
|
||||||
const struct optdesc opt_ipv6_v6only = { "ipv6-v6only", "ipv6only", OPT_IPV6_V6ONLY, GROUP_SOCK_IP6, PH_PREBIND, TYPE_INT, OFUNC_SOCKOPT, SOL_IPV6, IPV6_V6ONLY };
|
const struct optdesc opt_ipv6_v6only = { "ipv6-v6only", "ipv6only", OPT_IPV6_V6ONLY, GROUP_SOCK_IP6, PH_PREBIND, TYPE_INT, OFUNC_SOCKOPT, SOL_IPV6, IPV6_V6ONLY };
|
||||||
#endif
|
#endif
|
||||||
#ifdef IPV6_JOIN_GROUP
|
#ifdef IPV6_JOIN_GROUP
|
||||||
const struct optdesc opt_ipv6_join_group = { "ipv6-join-group", "join-group", OPT_IPV6_JOIN_GROUP, GROUP_SOCK_IP6, PH_PASTBIND, TYPE_IP_MREQN, OFUNC_SOCKOPT, SOL_IPV6, IPV6_JOIN_GROUP };
|
const struct optdesc opt_ipv6_join_group = { "ipv6-join-group", "join-group", OPT_IPV6_JOIN_GROUP, GROUP_SOCK_IP6, PH_PASTSOCKET, TYPE_IP_MREQN, OFUNC_SOCKOPT, SOL_IPV6, IPV6_JOIN_GROUP };
|
||||||
#endif
|
#endif
|
||||||
#ifdef IPV6_PKTINFO
|
#ifdef IPV6_PKTINFO
|
||||||
const struct optdesc opt_ipv6_pktinfo = { "ipv6-pktinfo", "pktinfo", OPT_IPV6_PKTINFO, GROUP_SOCK_IP6, PH_PASTSOCKET, TYPE_INT, OFUNC_SOCKOPT, SOL_IPV6, IPV6_PKTINFO };
|
const struct optdesc opt_ipv6_pktinfo = { "ipv6-pktinfo", "pktinfo", OPT_IPV6_PKTINFO, GROUP_SOCK_IP6, PH_PASTSOCKET, TYPE_INT, OFUNC_SOCKOPT, SOL_IPV6, IPV6_PKTINFO };
|
||||||
|
|
Loading…
Reference in a new issue