50 lines
918 B
Text
50 lines
918 B
Text
|
#!/bin/sh
|
||
|
|
||
|
. "${0%/*}/testlib.sh"
|
||
|
|
||
|
# Initialize one node
|
||
|
|
||
|
$tinc $c1 <<EOF
|
||
|
init foo
|
||
|
set DeviceType dummy
|
||
|
set Mode switch
|
||
|
set Broadcast no
|
||
|
set Address localhost
|
||
|
set Port 32758
|
||
|
EOF
|
||
|
|
||
|
# Generate an invitation offline and let another node join the VPN
|
||
|
|
||
|
invitation=`$tinc $c1 invite bar | sed 's/\r//'`
|
||
|
|
||
|
$tinc $c1 start $r1
|
||
|
|
||
|
$tinc $c2 join $invitation
|
||
|
|
||
|
# Test equivalence of host config files
|
||
|
|
||
|
cmp $d1/hosts/foo $d2/hosts/foo
|
||
|
test "`grep ^Ed25519PublicKey $d1/hosts/bar`" = "`grep ^Ed25519PublicKey $d2/hosts/bar`"
|
||
|
|
||
|
# Test Mode, Broadcast and ConnectTo statements
|
||
|
|
||
|
test `$tinc $c2 get Mode` = switch
|
||
|
test `$tinc $c2 get Broadcast` = no
|
||
|
test `$tinc $c2 get ConnectTo` = foo
|
||
|
|
||
|
# Check whether the new node can join the VPN
|
||
|
|
||
|
$tinc $c2 << EOF
|
||
|
set DeviceType dummy
|
||
|
set Port 0
|
||
|
start $r2
|
||
|
EOF
|
||
|
|
||
|
sleep 1
|
||
|
|
||
|
test `$tinc $c1 dump reachable nodes | wc -l` = 2
|
||
|
test `$tinc $c2 dump reachable nodes | wc -l` = 2
|
||
|
|
||
|
$tinc $c2 stop
|
||
|
$tinc $c1 stop
|