X-Git-Url: https://www.tinc-vpn.org/git/browse?a=blobdiff_plain;f=test%2Fsecurity.test;h=6c15bdab30126908b75de83e89086cf0ca0ad7a2;hb=6779e381e59092b317a63356180db9a832ffb47d;hp=91d29e298d949d3367ebea2eccbd5f075fd5801e;hpb=46f3eba7755089ff68fdc137b0754cae2fa523eb;p=tinc diff --git a/test/security.test b/test/security.test index 91d29e29..6c15bdab 100755 --- a/test/security.test +++ b/test/security.test @@ -4,7 +4,12 @@ # Skip this test if tools are missing -which socket >/dev/null || exit 77 +which nc >/dev/null || exit 77 + +if [ "$(uname)" = "Darwin" ]; then + alias timeout=gtimeout +fi + which timeout >/dev/null || exit 77 # Initialize two nodes @@ -37,29 +42,29 @@ $tinc $c2 start $r2 # No ID sent by responding node if we don't send an ID first, before the timeout -result=`(sleep 2; echo "0 bar 17.7") | timeout 3 socket localhost 32754` && exit 1 +result=`(sleep 2; echo "0 bar 17.7") | timeout 3 nc localhost 32754` && exit 1 test $? = 124 test -z "$result" # ID sent if initiator sends first, but still tarpitted -result=`echo "0 bar 17.7" | timeout 3 socket localhost 32754` && exit 1 +result=`echo "0 bar 17.7" | timeout 3 nc localhost 32754` && exit 1 test $? = 124 test "`echo "$result" | head -c 10`" = "0 foo 17.7" # No invalid IDs allowed -result=`echo "0 foo 17.7" | timeout 1 socket localhost 32754` && exit 1 +result=`echo "0 foo 17.7" | timeout 1 nc localhost 32754` && exit 1 test $? = 124 test -z "$result" -result=`echo "0 baz 17.7" | timeout 1 socket localhost 32754` && exit 1 +result=`echo "0 baz 17.7" | timeout 1 nc localhost 32754` && exit 1 test $? = 124 test -z "$result" # No NULL METAKEYs allowed -result=`printf "0 foo 17.0\n1 0 672 0 0 834188619F4D943FD0F4B1336F428BD4AC06171FEABA66BD2356BC9593F0ECD643F0E4B748C670D7750DFDE75DC9F1D8F65AB1026F5ED2A176466FBA4167CC567A2085ABD070C1545B180BDA86020E275EA9335F509C57786F4ED2378EFFF331869B856DDE1C05C461E4EECAF0E2FB97AF77B7BC2AD1B34C12992E45F5D1254BBF0C3FB224ABB3E8859594A83B6CA393ED81ECAC9221CE6BC71A727BCAD87DD80FC0834B87BADB5CB8FD3F08BEF90115A8DF1923D7CD9529729F27E1B8ABD83C4CF8818AE10257162E0057A658E265610B71F9BA4B365A20C70578FAC65B51B91100392171BA12A440A5E93C4AA62E0C9B6FC9B68F953514AAA7831B4B2C31C4\n" | timeout 3 socket localhost 32755` && exit 1 +result=`printf "0 foo 17.0\n1 0 672 0 0 834188619F4D943FD0F4B1336F428BD4AC06171FEABA66BD2356BC9593F0ECD643F0E4B748C670D7750DFDE75DC9F1D8F65AB1026F5ED2A176466FBA4167CC567A2085ABD070C1545B180BDA86020E275EA9335F509C57786F4ED2378EFFF331869B856DDE1C05C461E4EECAF0E2FB97AF77B7BC2AD1B34C12992E45F5D1254BBF0C3FB224ABB3E8859594A83B6CA393ED81ECAC9221CE6BC71A727BCAD87DD80FC0834B87BADB5CB8FD3F08BEF90115A8DF1923D7CD9529729F27E1B8ABD83C4CF8818AE10257162E0057A658E265610B71F9BA4B365A20C70578FAC65B51B91100392171BA12A440A5E93C4AA62E0C9B6FC9B68F953514AAA7831B4B2C31C4\n" | timeout 3 nc localhost 32755` && exit 1 test $? = 124 test -z "$result" # Not even the ID should be sent when the first packet contains illegal data