#!/bin/sh
-MTU=1439
+#MTU=1439
+MTU=1400
+
+TCPPORT=1245
TEST=$(basename $0 .sh)
PWD=$(dirname $0)
-#PWD=/opt/ulvpn/bin
+DATA=.
+[ "$1" ] && DATA=$1
+
+[ -t 1 -o "$DAEMON" ] || { export DAEMON=yes; $0 $1 &>$DATA/$TEST.log; exit 0; }
CRYPTOMOD=$PWD/cryptomod.exe
SIMULATOR=$PWD/simulator.exe
+TRAFFICSHAPING=$PWD/trafficshaping.sh
VPN=$PWD/ulvpn.exe
ulimit -c unlimited
launch create provisioning files
#dd if=/dev/random of=crypto.key bs=1 count=32 2>/dev/null
-echo -n "123456789abcdef0123456789abcdef0" > crypto.key
+echo -n "123456789abcdef0123456789abcdef0" > $DATA/crypto.key
#dd if=/dev/random of=prng.key bs=1 count=16 2>/dev/null
-echo -n "123456789abcdef0" >prng.key
-cat > provisioning.eth <<EOF
+echo -n "123456789abcdef0" > $DATA/prng.key
+cat > $DATA/provisioning.eth <<EOF
SLEEP 500
T:PROVISIONING LOAD_KEY_REQ KEYID=0 KEY=@crypto.key
R:PROVISIONING LOAD_KEY_RESP STATUS=0
pass OK
pids=
-trap "for pid in $pids; do echo killing $pid; kill -SIGTERM $pid; done;" 0 1 2 15
+trap "for pid in $pids; do echo killing $pid; kill -SIGTERM $pid; done;" 1 2 15
for DEV in $DEVS; do
N=$(echo ${DEV/:*} | sed 's/[^0-9]//g')
if [ "$CM" = soft ]; then
launch starting soft cm
- $CRYPTOMOD -v 1 -V 1 -l cryptomod.log \
+ #$CRYPTOMOD -v 1 -V 1 -l $DATA/cryptomod.log
+ $CRYPTOMOD -v 2 -V 1 \
-s BYPASS_B2R -t $LRED/080D -r $LBLK/083D \
-s BYPASS_R2B -t $LBLK/082D -r $LRED/081D \
-s CONTROL -t $LRED/080E -r $LRED/081E \
if [ "$VPNBLK" ]; then
launch starting black vpn
- $VPN -v 1 -V 1 -l vpnblk.log \
+ $VPN -v 1 -V 1 \
-n tun \
$VPNBLK \
-x $RBLK/0809 $RBLK/0809 \
if [ "$VPNRED" ]; then
launch starting red vpn
- $VPN -v 1 -V 1 -l vpnred.log \
+ #$VPN -v 1 -V 1
+ $VPN -v 2 -V 2 \
$VPNRED \
-n udp \
-n black \
ps | awk '$1 == '$pid' || $2 == '$pid' {exit 1}' && { fail KO; exit 1; } || pass OK
launch provisioning $CM cryptomod
- $SIMULATOR -v1 -V1 -s PROVISIONING -r $RRED/080B -t $RRED/$RPRO provisioning.eth && pass OK || { fail KO; exit 1; }
+ #{ cd $DATA; $SIMULATOR -v 2 -V 1 -l $DATA/sim.log -s PROVISIONING -r $RRED/080B -t $RRED/$RPRO provisioning.eth; } && pass OK || { fail KO; exit 1; }
+ $SIMULATOR -v 2 -V 1 -l $DATA/sim.log -s PROVISIONING -r $RRED/080B -t $RRED/$RPRO -p $TCPPORT &
+ pid=$!
+ pids="$pids $pid"
+ sleep 1
+ ps | awk '$1 == '$pid' || $2 == '$pid' {exit 1}' && { fail KO; exit 1; } || pass OK
+
+ launch start traffic shaping
+ $TRAFFICSHAPING start && pass OK || { fail KO; exit 1; }
fi
+[ "$DAEMON" ] && while true; do sleep 1000; done
title press any key to stop
read a