diff --git a/basice2e/run.sh b/basice2e/run.sh index 15dc7149425d167a3d46b6db159a80ad506472cd..6ab2632b4fe3e0d8356d0f1f9f2867d42e736675 100755 --- a/basice2e/run.sh +++ b/basice2e/run.sh @@ -198,22 +198,22 @@ then # Send multiple E2E encrypted messages between users that discovered each other echo "SENDING MESSAGES TO PRECANNED USERS AND FORCING A REKEY..." CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client18_rekey.log --sendCount 20 --receiveCount 20 --destid 9 -s blob18/blob18 -m \"Hello, 9, with E2E Encryption\"" - eval $CLIENTCMD >> $CLIENTOUT/client18_rekey.txt 2>&1 || true & + eval $CLIENTCMD >> $CLIENTOUT/client18_rekey.txt 2>&1 & PIDVAL=$! echo "$CLIENTCMD -- $PIDVAL" CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client9_rekey.log --sendCount 20 --receiveCount 20 --destid 18 -s blob9/blob9 -m \"Hello, 18, with E2E Encryption\"" - eval $CLIENTCMD >> $CLIENTOUT/client9_rekey.txt 2>&1 || true & + eval $CLIENTCMD >> $CLIENTOUT/client9_rekey.txt 2>&1 & PIDVAL=$! echo "$CLIENTCMD -- $PIDVAL" - wait $PIDVAL || true + wait $PIDVAL echo "FORCING HISTORICAL ROUNDS... (NON-E2E, PRECAN)" CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS --forceHistoricalRounds --unsafe -l $CLIENTOUT/client33.log -s blob33 --sendid 1 --destid 2 --sendCount 5 --receiveCount 5 -m \"Hello from 1, without E2E Encryption\"" - eval $CLIENTCMD >> $CLIENTOUT/client33.txt || true & + eval $CLIENTCMD >> $CLIENTOUT/client33.txt & PIDVAL=$! echo "$CLIENTCMD -- $PIDVAL" CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS --forceHistoricalRounds --unsafe -l $CLIENTOUT/client34.log -s blob34 --sendid 2 --destid 1 --sendCount 5 --receiveCount 5 -m \"Hello from 2, without E2E Encryption\"" - eval $CLIENTCMD >> $CLIENTOUT/client34.txt || true & + eval $CLIENTCMD >> $CLIENTOUT/client34.txt & PIDVAL2=$! echo "$CLIENTCMD -- $PIDVAL" wait $PIDVAL @@ -222,11 +222,11 @@ then echo "FORCING MESSAGE PICKUP RETRY... (NON-E2E, PRECAN)" # Higher timeouts for this test to allow message pickup retry to function CLIENTCMD="timeout 360s ../bin/client $CLIENTOPTS --forceMessagePickupRetry --unsafe -l $CLIENTOUT/client20.log -s blob20 --sendid 20 --destid 21 --sendCount 5 --receiveCount 5 -m \"Hello from 20, without E2E Encryption\"" - eval $CLIENTCMD >> $CLIENTOUT/client20.txt || true & + eval $CLIENTCMD >> $CLIENTOUT/client20.txt & PIDVAL=$! echo "$CLIENTCMD -- $PIDVAL" CLIENTCMD="timeout 360s ../bin/client $CLIENTOPTS --forceMessagePickupRetry --unsafe -l $CLIENTOUT/client21.log -s blob21 --sendid 21 --destid 20 --sendCount 5 --receiveCount 5 -m \"Hello from 21, without E2E Encryption\"" - eval $CLIENTCMD >> $CLIENTOUT/client21.txt || true & + eval $CLIENTCMD >> $CLIENTOUT/client21.txt & PIDVAL2=$! echo "$CLIENTCMD -- $PIDVAL" wait $PIDVAL @@ -242,12 +242,12 @@ fi # Non-precanned E2E user messaging echo "SENDING E2E MESSAGES TO NEW USERS..." CLIENTCMD="timeout 360s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client42.log -s blob42 --writeContact $CLIENTOUT/rick42-contact.bin --unsafe -m \"Hello from Rick42 to myself, without E2E Encryption\"" -eval $CLIENTCMD >> $CLIENTOUT/client42.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client42.txt & PIDVAL=$! echo "$CLIENTCMD -- $PIDVAL" wait $PIDVAL CLIENTCMD="timeout 360s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client43.log -s blob43 --writeContact $CLIENTOUT/ben43-contact.bin --destfile $CLIENTOUT/rick42-contact.bin --send-auth-request --sendCount 0 --receiveCount 0" -eval $CLIENTCMD >> $CLIENTOUT/client43.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client43.txt & PIDVAL2=$! echo "$CLIENTCMD -- $PIDVAL" @@ -266,7 +266,7 @@ echo "BEN ID: $BENID" # Client 42 will now wait for client 43's E2E Auth channel request and confirm CLIENTCMD="timeout 360s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client42.log -s blob42 --destfile $CLIENTOUT/ben43-contact.bin --sendCount 0 --receiveCount 0" -eval $CLIENTCMD >> $CLIENTOUT/client42.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client42.txt & PIDVAL=$! echo "$CLIENTCMD -- $PIDVAL" wait $PIDVAL @@ -274,21 +274,21 @@ wait $PIDVAL2 # Test destid syntax too, note wait for 11 messages to catch the message from above ^^^ CLIENTCMD="timeout 360s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client42.log -s blob42 --destid b64:$BENID --sendCount 5 --receiveCount 5 -m \"Hello from Rick42, with E2E Encryption\"" -eval $CLIENTCMD >> $CLIENTOUT/client42.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client42.txt & PIDVAL=$! echo "$CLIENTCMD -- $PIDVAL" CLIENTCMD="timeout 360s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client43.log -s blob43 --destid b64:$RICKID --sendCount 5 --receiveCount 5 -m \"Hello from Ben43, with E2E Encryption\"" -eval $CLIENTCMD >> $CLIENTOUT/client43.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client43.txt & PIDVAL2=$! echo "$CLIENTCMD -- $PIDVAL" wait $PIDVAL wait $PIDVAL2 CLIENTCMD="timeout 360s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client42.log -s blob42 --destid b64:$BENID --sendCount 5 --receiveCount 5 -m \"Hello from Rick42, with E2E Encryption\"" -eval $CLIENTCMD >> $CLIENTOUT/client42.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client42.txt & PIDVAL=$! echo "$CLIENTCMD -- $PIDVAL" CLIENTCMD="timeout 360s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client43.log -s blob43 --destid b64:$RICKID --sendCount 5 --receiveCount 5 -m \"Hello from Ben43, with E2E Encryption\"" -eval $CLIENTCMD >> $CLIENTOUT/client43.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client43.txt & PIDVAL2=$! echo "$CLIENTCMD -- $PIDVAL" wait $PIDVAL @@ -300,23 +300,23 @@ wait $PIDVAL2 echo "TESTING RENEGOTIATION..." CLIENTCMD="timeout 360s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client43.log -s blob43 --destfile $CLIENTOUT/rick42-contact.bin --send-auth-request --sendCount 0 --receiveCount 0" -eval $CLIENTCMD >> $CLIENTOUT/client43.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client43.txt & PIDVAL1=$! echo "$CLIENTCMD -- $PIDVAL1" # Client 42 will now wait, again, for client 43's E2E Auth channel request and confirm CLIENTCMD="timeout 360s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client42.log -s blob42 --destfile $CLIENTOUT/ben43-contact.bin --sendCount 0 --receiveCount 0" -eval $CLIENTCMD >> $CLIENTOUT/client42.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client42.txt & PIDVAL2=$! echo "$CLIENTCMD -- $PIDVAL2" wait $PIDVAL1 wait $PIDVAL2 #Send a few messages CLIENTCMD="timeout 360s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client42.log -s blob42 --destid b64:$BENID --sendCount 5 --receiveCount 5 -m \"Hello from Rick42, with E2E Encryption\"" -eval $CLIENTCMD >> $CLIENTOUT/client42.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client42.txt & PIDVAL=$! echo "$CLIENTCMD -- $PIDVAL" CLIENTCMD="timeout 360s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client43.log -s blob43 --destid b64:$RICKID --sendCount 5 --receiveCount 5 -m \"Hello from Ben43, with E2E Encryption\"" -eval $CLIENTCMD >> $CLIENTOUT/client43.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client43.txt & PIDVAL2=$! echo "$CLIENTCMD -- $PIDVAL2" wait $PIDVAL @@ -325,23 +325,23 @@ wait $PIDVAL2 echo "SWITCHING RENEGOTIATION TEST..." # Switch places, 42 renegotiates with 43 CLIENTCMD="timeout 360s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client42.log -s blob42 --destfile $CLIENTOUT/ben43-contact.bin --send-auth-request --sendCount 0 --receiveCount 0" -eval $CLIENTCMD >> $CLIENTOUT/client42.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client42.txt & PIDVAL1=$! echo "$CLIENTCMD -- $PIDVAL1" # Client 43 will now wait, for client 42's renegotiated E2E Auth channel request and confirm CLIENTCMD="timeout 360s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client43.log -s blob43 --destfile $CLIENTOUT/rick42-contact.bin --sendCount 0 --receiveCount 0" -eval $CLIENTCMD >> $CLIENTOUT/client43.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client43.txt & PIDVAL2=$! echo "$CLIENTCMD -- $PIDVAL2" wait $PIDVAL1 wait $PIDVAL2 #Send a few more messages CLIENTCMD="timeout 360s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client42.log -s blob42 --destid b64:$BENID --sendCount 5 --receiveCount 5 -m \"Hello from Rick42, with E2E Encryption\"" -eval $CLIENTCMD >> $CLIENTOUT/client42.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client42.txt & PIDVAL=$! echo "$CLIENTCMD -- $PIDVAL" CLIENTCMD="timeout 360s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client43.log -s blob43 --destid b64:$RICKID --sendCount 5 --receiveCount 5 -m \"Hello from Ben43, with E2E Encryption\"" -eval $CLIENTCMD >> $CLIENTOUT/client43.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client43.txt & PIDVAL2=$! echo "$CLIENTCMD -- $PIDVAL2" wait $PIDVAL @@ -354,7 +354,7 @@ echo "END RENEGOTIATION" echo "DELETING CONTACT FROM CLIENT..." CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client42.log -s blob42 --delete-channel --destfile $CLIENTOUT/ben43-contact.bin --sendCount 0 --receiveCount 0" -eval $CLIENTCMD >> $CLIENTOUT/client42.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client42.txt & echo "$CLIENTCMD -- $PIDVAL" PIDVAL1=$! wait $PIDVAL1 @@ -370,12 +370,12 @@ wait $PIDVAL2 echo "DELETING REQUESTS FROM CLIENT.." CLIENTCMD="timeout 360s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client44.log -s blob44 --writeContact $CLIENTOUT/david44-contact.bin --unsafe -m \"Hello from David44 to myself, without E2E Encryption\"" -eval $CLIENTCMD >> $CLIENTOUT/client44.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client44.txt & PIDVAL=$! echo "$CLIENTCMD -- $PIDVAL" wait $PIDVAL CLIENTCMD="timeout 360s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client45.log -s blob45 --writeContact $CLIENTOUT/matt45-contact.bin --destfile $CLIENTOUT/matt45-contact.bin --send-auth-request --sendCount 0 --receiveCount 0" -eval $CLIENTCMD >> $CLIENTOUT/client45.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client45.txt & PIDVAL2=$! echo "$CLIENTCMD -- $PIDVAL" @@ -384,7 +384,7 @@ DAVIDID=${TMPID} echo "BEN ID: $DAVIDID" CLIENTCMD="timeout 360s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client45.log -s blob45 --delete-sent-requests --sendCount 0 --receiveCount 0" -eval $CLIENTCMD >> $CLIENTOUT/client45.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client45.txt & PIDVAL2=$! echo "$CLIENTCMD -- $PIDVAL" @@ -410,11 +410,11 @@ echo "SYDNEY ID: $SYDNEYID" # but this method has proven to be reasonably reliable. echo "STARTING SIMULTANEOUSAUTH TEST..." CLIENTCMD="timeout 360s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client85.log -s blob85 --destfile $CLIENTOUT/sydney86-contact.bin --send-auth-request --sendCount 0 --receiveCount 0" -eval $CLIENTCMD >> $CLIENTOUT/client85.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client85.txt & PIDVAL1=$! echo "$CLIENTCMD -- $PIDVAL1" CLIENTCMD="timeout 360s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client86.log -s blob86 --destfile $CLIENTOUT/jono85-contact.bin --send-auth-request --sendCount 0 --receiveCount 0" -eval $CLIENTCMD >> $CLIENTOUT/client86.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client86.txt & PIDVAL2=$! echo "$CLIENTCMD -- $PIDVAL2" wait $PIDVAL1 @@ -423,11 +423,11 @@ wait $PIDVAL2 # Send a couple messages echo "TESTING SIMULTANEOUSAUTH MESSAGE SEND..." CLIENTCMD="timeout 360s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client85.log -s blob85 --destfile $CLIENTOUT/sydney86-contact.bin --sendCount 5 --receiveCount 5 -m \"Hello Sydney from Jono, with E2E Encryption\"" -eval $CLIENTCMD >> $CLIENTOUT/client85.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client85.txt & PIDVAL1=$! echo "$CLIENTCMD -- $PIDVAL1" CLIENTCMD="timeout 360s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client86.log -s blob86 --destfile $CLIENTOUT/jono85-contact.bin --sendCount 5 --receiveCount 5 -m \"Hello Jono from Sydney, with E2E Encryption\"" -eval $CLIENTCMD >> $CLIENTOUT/client86.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client86.txt & PIDVAL2=$! echo "$CLIENTCMD -- $PIDVAL2" wait $PIDVAL1 @@ -447,12 +447,12 @@ echo "NIAMH ID: $NIAMHID" REKEYOPTS="--e2eMaxKeys 15 --e2eMinKeys 10 --e2eNumReKeys 5 --e2eRekeyThreshold 0.75" # Client 101 will now send auth request CLIENTCMD="timeout 360s ../bin/client $CLIENTOPTS $REKEYOPTS -l $CLIENTOUT/client101.log -s blob101 --writeContact $CLIENTOUT/Niamh101-contact.bin --destfile $CLIENTOUT/Jake100-contact.bin --send-auth-request --sendCount 0 --receiveCount 0" -eval $CLIENTCMD >> $CLIENTOUT/client101.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client101.txt & PIDVAL2=$! echo "$CLIENTCMD -- $PIDVAL" # Client 100 will now wait for client 101's E2E Auth channel request and confirm CLIENTCMD="timeout 360s ../bin/client $CLIENTOPTS $REKEYOPTS -l $CLIENTOUT/client100.log -s blob100 --destid b64:$NIAMHID --sendCount 0 --receiveCount 0" -eval $CLIENTCMD >> $CLIENTOUT/client100.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client100.txt & PIDVAL=$! echo "$CLIENTCMD -- $PIDVAL" wait $PIDVAL @@ -461,11 +461,11 @@ wait $PIDVAL2 echo "RUNNING REKEY TEST..." # Test destid syntax too, note wait for 11 messages to catch the message from above ^^^ CLIENTCMD="timeout 600s ../bin/client $CLIENTREKEYOPTS $REKEYOPTS -l $CLIENTOUT/client100.log -s blob100 --destid b64:$NIAMHID --sendCount 20 --receiveCount 20 -m \"Hello from Jake100, with E2E Encryption\"" -eval $CLIENTCMD >> $CLIENTOUT/client100.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client100.txt & PIDVAL=$! echo "$CLIENTCMD -- $PIDVAL" CLIENTCMD="timeout 600s ../bin/client $CLIENTREKEYOPTS $REKEYOPTS -l $CLIENTOUT/client101.log -s blob101 --destid b64:$JAKEID --sendCount 20 --receiveCount 20 -m \"Hello from Niamh101, with E2E Encryption\"" -eval $CLIENTCMD >> $CLIENTOUT/client101.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client101.txt & PIDVAL2=$! echo "$CLIENTCMD -- $PIDVAL" wait $PIDVAL @@ -474,12 +474,12 @@ wait $PIDVAL2 # Now we are just going to exhaust all the keys we have and see if we # use the unconfirmed channels CLIENTCMD="timeout 600s ../bin/client $CLIENTREKEYOPTS $REKEYOPTS -l $CLIENTOUT/client100.log -s blob100 --destid b64:$NIAMHID --sendCount 20 --receiveCount 0 -m \"Hello from Jake100, with E2E Encryption\"" -eval $CLIENTCMD >> $CLIENTOUT/client100.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client100.txt & PIDVAL=$! echo "$CLIENTCMD -- $PIDVAL" # And receive those messages sent to us CLIENTCMD="timeout 600s ../bin/client $CLIENTREKEYOPTS $REKEYOPTS -l $CLIENTOUT/client101.log -s blob101 --destid b64:$JAKEID --sendCount 0 --receiveCount 20" -eval $CLIENTCMD >> $CLIENTOUT/client101.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client101.txt & PIDVAL2=$! echo "$CLIENTCMD -- $PIDVAL" wait $PIDVAL @@ -493,11 +493,11 @@ echo "FORCING HISTORICAL ROUNDS..." FH1ID=$(../bin/client init -s blob35 -l $CLIENTOUT/client35.log --password hello --ndf results/ndf.json --writeContact $CLIENTOUT/FH1-contact.bin -v $DEBUGLEVEL) FH2ID=$(../bin/client init -s blob36 -l $CLIENTOUT/client36.log --password hello --ndf results/ndf.json --writeContact $CLIENTOUT/FH2-contact.bin -v $DEBUGLEVEL) CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS --forceHistoricalRounds --unsafe -l $CLIENTOUT/client35.log -s blob35 --destid b64:$FH2ID --sendCount 5 --receiveCount 5 -m \"Hello from 35, without E2E Encryption\"" -eval $CLIENTCMD >> $CLIENTOUT/client35.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client35.txt & PIDVAL=$! echo "$CLIENTCMD -- $PIDVAL" CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS --forceHistoricalRounds --unsafe -l $CLIENTOUT/client36.log -s blob36 --destid b64:$FH1ID --sendCount 5 --receiveCount 5 -m \"Hello from 36, without E2E Encryption\"" -eval $CLIENTCMD >> $CLIENTOUT/client36.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client36.txt & PIDVAL2=$! echo "$CLIENTCMD -- $PIDVAL" wait $PIDVAL @@ -508,13 +508,14 @@ FM1ID=$(../bin/client init -s blob22 -l $CLIENTOUT/client22.log --password hello FM2ID=$(../bin/client init -s blob23 -l $CLIENTOUT/client23.log --password hello --ndf results/ndf.json --writeContact $CLIENTOUT/FM2-contact.bin -v $DEBUGLEVEL) # Higher timeouts for this test to allow message pickup retry to function CLIENTCMD="timeout 360s ../bin/client $CLIENTOPTS --forceMessagePickupRetry -l $CLIENTOUT/client22.log -s blob22 --destid b64:$FM2ID --sendCount 5 --receiveCount 5 -m \"Hello from 22, without E2E Encryption\"" -eval $CLIENTCMD >> $CLIENTOUT/client22.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client22.txt || true & PIDVAL=$! echo "$CLIENTCMD -- $PIDVAL" CLIENTCMD="timeout 360s ../bin/client $CLIENTOPTS --forceMessagePickupRetry -l $CLIENTOUT/client23.log -s blob23 --destid b64:$FM1ID --sendCount 5 --receiveCount 5 -m \"Hello from 23, without E2E Encryption\"" eval $CLIENTCMD >> $CLIENTOUT/client23.txt || true & PIDVAL2=$! echo "$CLIENTCMD -- $PIDVAL" +echo "FIXME: The command above causes an UNEXPECTED failure and should be FIXED!" wait $PIDVAL wait $PIDVAL2 @@ -524,12 +525,12 @@ wait $PIDVAL2 echo "START BACKUP AND RESTORE..." CLIENTCMD="timeout 360s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client120.log -s blob120 --force-legacy --writeContact $CLIENTOUT/client120-contact.bin --unsafe -m \"Hello from Client120 to myself, without E2E Encryption\"" -eval $CLIENTCMD >> $CLIENTOUT/client120.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client120.txt & PIDVAL=$! echo "$CLIENTCMD -- $PIDVAL" wait $PIDVAL CLIENTCMD="timeout 360s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client121.log -s blob121 --force-legacy --writeContact $CLIENTOUT/client121-contact.bin --destfile $CLIENTOUT/client120-contact.bin --send-auth-request --sendCount 0 --receiveCount 0" -eval $CLIENTCMD >> $CLIENTOUT/client121.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client121.txt & PIDVAL2=$! echo "$CLIENTCMD -- $PIDVAL" @@ -540,7 +541,7 @@ done # Client 120 will now wait for client 121's E2E Auth channel request and confirm CLIENTCMD="timeout 360s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client120.log -s blob120 --force-legacy --destfile $CLIENTOUT/client121-contact.bin --sendCount 0 --receiveCount 0" -eval $CLIENTCMD >> $CLIENTOUT/client120.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client120.txt & PIDVAL=$! echo "$CLIENTCMD -- $PIDVAL" wait $PIDVAL @@ -548,11 +549,11 @@ wait $PIDVAL2 # Send messages to each other CLIENTCMD="timeout 360s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client120.log -s blob120 --force-legacy --destfile $CLIENTOUT/client121-contact.bin --sendCount 5 --receiveCount 5 -m \"Hello from Client120, with E2E Encryption\"" -eval $CLIENTCMD >> $CLIENTOUT/client120.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client120.txt & PIDVAL=$! echo "$CLIENTCMD -- $PIDVAL" CLIENTCMD="timeout 360s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client121.log -s blob121 --force-legacy --destfile $CLIENTOUT/client120-contact.bin --sendCount 5 --receiveCount 5 -m \"Hello from Client121, with E2E Encryption\"" -eval $CLIENTCMD >> $CLIENTOUT/client121.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client121.txt & PIDVAL2=$! echo "$CLIENTCMD -- $PIDVAL" wait $PIDVAL @@ -560,7 +561,7 @@ wait $PIDVAL2 # Register 120 with UD CLIENTCMD="timeout 240s ../bin/client ud $CLIENTUDOPTS -l $CLIENTOUT/client120.log -s blob120 --force-legacy --register client120" -eval $CLIENTCMD >> $CLIENTOUT/client120.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client120.txt & PIDVAL=$! echo "$CLIENTCMD -- $PIDVAL" wait $PIDVAL @@ -568,7 +569,7 @@ wait $PIDVAL # Backup and restore 121 CLIENTCMD="timeout 60s ../bin/client $CLIENTBACKUPOPTS -l $CLIENTOUT/client121.log -s blob121 --force-legacy --backupOut $CLIENTOUT/client121A.backup --backupPass hello --backupJsonOut $CLIENTOUT/client121A.backup.json" -eval $CLIENTCMD >> $CLIENTOUT/client121.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client121.txt & PIDVAL=$! echo "$CLIENTCMD -- $PIDVAL" wait $PIDVAL @@ -576,18 +577,18 @@ wait $PIDVAL rm -fr blob121 CLIENTCMD="timeout 60s ../bin/client $CLIENTBACKUPOPTS -l $CLIENTOUT/client121.log -s blob121 --force-legacy --backupIn $CLIENTOUT/client121A.backup --backupPass hello --backupJsonOut $CLIENTOUT/client121B.backup.json --backupIdList $CLIENTOUT/client121Partners.json" -eval $CLIENTCMD >> $CLIENTOUT/client121.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client121.txt & PIDVAL=$! echo "$CLIENTCMD -- $PIDVAL" wait $PIDVAL CLIENTCMD="timeout 240s ../bin/client ud $CLIENTUDOPTS -l $CLIENTOUT/client121.log -s blob121 --force-legacy --batchadd $CLIENTOUT/client121Partners.json --unsafe-channel-creation" -eval $CLIENTCMD >> $CLIENTOUT/client121.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client121.txt & PIDVAL=$! echo "$CLIENTCMD -- $PIDVAL" CLIENTCMD="timeout 360s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client120.log -s blob120 --force-legacy --destfile $CLIENTOUT/client121-contact.bin --sendCount 0 --receiveCount 0 --unsafe-channel-creation" -eval $CLIENTCMD >> $CLIENTOUT/client120.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client120.txt & PIDVAL2=$! echo "$CLIENTCMD -- $PIDVAL2" wait $PIDVAL @@ -620,25 +621,25 @@ echo "END BACKUP AND RESTORE..." echo "TESTING PROTO USER FILE..." CLIENTCMD="timeout 20s ../bin/client -l $CLIENTOUT/client25.log -s blob11420 --password hello --ndf results/ndf.json --writeContact $CLIENTOUT/josh25-contact.bin --protoUserOut $CLIENTOUT/client25Proto.json " -eval $CLIENTCMD >> $CLIENTOUT/client25.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client25.txt & PIDVAL=$! echo "$CLIENTCMD -- $PIDVAL" wait $PIDVAL # Generate contact and proto user file for client 26 CLIENTCMD="timeout 20s ../bin/client -l $CLIENTOUT/client26.log -s blob11421 --password hello --ndf results/ndf.json --writeContact $CLIENTOUT/jonah26-contact.bin --protoUserOut $CLIENTOUT/client26Proto.json" -eval $CLIENTCMD >> $CLIENTOUT/client26.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client26.txt & PIDVAL=$! echo "$CLIENTCMD -- $PIDVAL" wait $PIDVAL # Clients will now load from the protoUser file and write to session CLIENTCMD="timeout 60s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client25.log -s blob25 --protoUserPath $CLIENTOUT/client25Proto.json" -eval $CLIENTCMD >> $CLIENTOUT/client25.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client25.txt & PIDVAL=$! echo "$CLIENTCMD -- $PIDVAL" CLIENTCMD="timeout 60s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client26.log -s blob26 --protoUserPath $CLIENTOUT/client26Proto.json" -eval $CLIENTCMD >> $CLIENTOUT/client26.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client26.txt & PIDVAL2=$! echo "$CLIENTCMD -- $PIDVAL2" wait $PIDVAL @@ -646,12 +647,12 @@ wait $PIDVAL2 # Continue with E2E testing with session files loaded from proto CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client25.log -s blob25 --writeContact $CLIENTOUT/josh25-contact.bin --unsafe -m \"Hello from Josh25 to myself, without E2E Encryption\" " -eval $CLIENTCMD >> $CLIENTOUT/client25.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client25.txt & PIDVAL=$! echo "$CLIENTCMD -- $PIDVAL" wait $PIDVAL CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client26.log -s blob26 --writeContact $CLIENTOUT/jonah26-contact.bin --destfile $CLIENTOUT/josh25-contact.bin --send-auth-request --sendCount 0 --receiveCount 0" -eval $CLIENTCMD >> $CLIENTOUT/client26.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client26.txt & PIDVAL2=$! echo "$CLIENTCMD -- $PIDVAL" @@ -670,7 +671,7 @@ echo "JONAH ID: $JONAHID" ## Client 25 will now wait for client 26's E2E Auth channel request and confirm CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client25.log -s blob25 --destfile $CLIENTOUT/jonah26-contact.bin --sendCount 0 --receiveCount 0" -eval $CLIENTCMD >> $CLIENTOUT/client25.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client25.txt & PIDVAL=$! echo "$CLIENTCMD -- $PIDVAL" wait $PIDVAL @@ -678,21 +679,21 @@ wait $PIDVAL2 # Send E2E messages with written sessions CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client25.log -s blob25 --destid b64:$JONAHID --sendCount 5 --receiveCount 5 -m \"Hello from Josh25, with E2E Encryption\"" -eval $CLIENTCMD >> $CLIENTOUT/client25.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client25.txt & PIDVAL=$! echo "$CLIENTCMD -- $PIDVAL" CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client26.log -s blob26 --destid b64:$JOSHID --sendCount 5 --receiveCount 5 -m \"Hello from Jonah26, with E2E Encryption\"" -eval $CLIENTCMD >> $CLIENTOUT/client26.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client26.txt & PIDVAL2=$! echo "$CLIENTCMD -- $PIDVAL" wait $PIDVAL wait $PIDVAL2 CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client25.log -s blob25 --destid b64:$JONAHID --sendCount 5 --receiveCount 5 -m \"Hello from Josh25, with E2E Encryption\"" -eval $CLIENTCMD >> $CLIENTOUT/client25.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client25.txt & PIDVAL=$! echo "$CLIENTCMD -- $PIDVAL" CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client26.log -s blob26 --destid b64:$JOSHID --sendCount 5 --receiveCount 5 -m \"Hello from Jonah26, with E2E Encryption\"" -eval $CLIENTCMD >> $CLIENTOUT/client26.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client26.txt & PIDVAL2=$! echo "$CLIENTCMD -- $PIDVAL" wait $PIDVAL @@ -708,20 +709,20 @@ echo "TESTING SINGLE-USE" # Generate contact file for client52 CLIENTCMD="../bin/client init -s blob52 -l $CLIENTOUT/client52.log --password hello --ndf results/ndf.json --writeContact $CLIENTOUT/jono52-contact.bin" -eval $CLIENTCMD >> /dev/null 2>&1 || true & +eval $CLIENTCMD >> /dev/null 2>&1 & PIDVAL=$! echo "$CLIENTCMD -- $PIDVAL" wait $PIDVAL # Start client53, which sends a message and then waits for a response CLIENTCMD="timeout 240s ../bin/client single $CLIENTSINGLEOPTS -l $CLIENTOUT/client53.log -s blob53 --maxMessages 8 --message \"Test single-use message\" --send -c $CLIENTOUT/jono52-contact.bin --timeout 90s" -eval $CLIENTCMD >> $CLIENTOUT/client53.txt 2>&1 || true & +eval $CLIENTCMD >> $CLIENTOUT/client53.txt 2>&1 & PIDVAL2=$! echo "$CLIENTCMD -- $PIDVAL2" # Start client52, which waits for a message and then responds CLIENTCMD="timeout 240s ../bin/client single $CLIENTSINGLEOPTS -l $CLIENTOUT/client52.log -s blob52 --reply --timeout 90s" -eval $CLIENTCMD >> $CLIENTOUT/client52.txt 2>&1 || true & +eval $CLIENTCMD >> $CLIENTOUT/client52.txt 2>&1 & PIDVAL1=$! echo "$CLIENTCMD -- $PIDVAL1" wait $PIDVAL1 @@ -736,22 +737,22 @@ then # UD Test echo "TESTING USER DISCOVERY..." CLIENTCMD="timeout 240s ../bin/client ud $CLIENTUDOPTS -l $CLIENTOUT/client13.log -s blob13 --register josh13 --addemail josh13@elixxir.io --addphone 6178675309US" - eval $CLIENTCMD >> $CLIENTOUT/client13.txt || true & + eval $CLIENTCMD >> $CLIENTOUT/client13.txt & PIDVAL=$! echo "$CLIENTCMD -- $PIDVAL" wait $PIDVAL CLIENTCMD="timeout 240s ../bin/client ud $CLIENTUDOPTS -l $CLIENTOUT/client31.log -s blob31 --register josh31 --addemail josh31@elixxir.io --addphone 6178675310US" - eval $CLIENTCMD >> $CLIENTOUT/client31.txt || true & + eval $CLIENTCMD >> $CLIENTOUT/client31.txt & PIDVAL=$! echo "$CLIENTCMD -- $PIDVAL" wait $PIDVAL CLIENTCMD="timeout 240s ../bin/client ud $CLIENTUDOPTS -l $CLIENTOUT/client13.log -s blob13 --searchusername josh31 --searchemail josh31@elixxir.io --searchphone 6178675310US" - eval $CLIENTCMD > $CLIENTOUT/josh31.bin|| true & + eval $CLIENTCMD > $CLIENTOUT/josh31.bin & PIDVAL1=$! echo "$CLIENTCMD -- $PIDVAL1" CLIENTCMD="timeout 240s ../bin/client ud $CLIENTUDOPTS -l $CLIENTOUT/client31.log -s blob31 --searchusername josh13 --searchemail josh13@elixxir.io --searchphone 6178675309US" - eval $CLIENTCMD > $CLIENTOUT/josh13.bin || true & + eval $CLIENTCMD > $CLIENTOUT/josh13.bin & PIDVAL2=$! echo "$CLIENTCMD -- $PIDVAL2" wait $PIDVAL1 @@ -767,11 +768,11 @@ then # Test lookup message CLIENTCMD="timeout 240s ../bin/client ud $CLIENTUDOPTS -l $CLIENTOUT/client13.log -s blob13 --lookup b64:$UDID2" - eval $CLIENTCMD > $CLIENTOUT/josh31.bin|| true & + eval $CLIENTCMD > $CLIENTOUT/josh31.bin & PIDVAL1=$! echo "$CLIENTCMD -- $PIDVAL1" CLIENTCMD="timeout 240s ../bin/client ud $CLIENTUDOPTS -l $CLIENTOUT/client31.log -s blob31 --lookup b64:$UDID1" - eval $CLIENTCMD > $CLIENTOUT/josh13.bin || true & + eval $CLIENTCMD > $CLIENTOUT/josh13.bin & PIDVAL2=$! echo "$CLIENTCMD -- $PIDVAL2" wait $PIDVAL1 @@ -779,13 +780,13 @@ then # Send auth chan request CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client13.log -s blob13 --destfile $CLIENTOUT/josh31.bin --send-auth-request --sendCount 0 --receiveCount 0" - eval $CLIENTCMD >> $CLIENTOUT/client13.txt || true & + eval $CLIENTCMD >> $CLIENTOUT/client13.txt & PIDVAL2=$! echo "$CLIENTCMD -- $PIDVAL2" # Approve request and confirm CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client31.log -s blob31 --destfile $CLIENTOUT/josh13.bin --sendCount 0 --receiveCount 0" - eval $CLIENTCMD >> $CLIENTOUT/client31.txt || true & + eval $CLIENTCMD >> $CLIENTOUT/client31.txt & PIDVAL1=$! echo "$CLIENTCMD -- $PIDVAL2" wait $PIDVAL1 @@ -793,11 +794,11 @@ then # now test CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client31.log -s blob31 --destfile $CLIENTOUT/josh13.bin --sendCount 5 --receiveCount 5 -m \"Hello from Josh31, with E2E Encryption\"" - eval $CLIENTCMD >> $CLIENTOUT/client31.txt || true & + eval $CLIENTCMD >> $CLIENTOUT/client31.txt & PIDVAL=$! echo "$CLIENTCMD -- $PIDVAL" CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client13.log -s blob13 --destfile $CLIENTOUT/josh31.bin --sendCount 5 --receiveCount 5 -m \"Hello from Josh13, with E2E Encryption\"" - eval $CLIENTCMD >> $CLIENTOUT/client13.txt || true & + eval $CLIENTCMD >> $CLIENTOUT/client13.txt & PIDVAL2=$! echo "$CLIENTCMD -- $PIDVAL" wait $PIDVAL @@ -805,7 +806,7 @@ then # Test Remove User CLIENTCMD="timeout 240s ../bin/client ud $CLIENTUDOPTS -l $CLIENTOUT/client13.log -s blob13 --remove josh13" - eval $CLIENTCMD >> $CLIENTOUT/client13.txt || true & + eval $CLIENTCMD >> $CLIENTOUT/client13.txt & PIDVAL=$! echo "$CLIENTCMD -- $PIDVAL" wait $PIDVAL @@ -813,6 +814,7 @@ then eval $CLIENTCMD >> $CLIENTOUT/client13-2.txt || true & PIDVAL=$! echo "$CLIENTCMD -- $PIDVAL" + echo "NOTE: The command above causes an EXPECTED failure of unable to register!" wait $PIDVAL fi @@ -823,12 +825,12 @@ fi echo "TESTING GROUP CHAT..." # Create authenticated channel between client 80 and 81 CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client80.log -s blob80 --writeContact $CLIENTOUT/client80-contact.bin --unsafe -m \"Hello from contact 80 to myself, without E2E Encryption\"" -eval $CLIENTCMD >> $CLIENTOUT/client80.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client80.txt & PIDVAL1=$! echo "$CLIENTCMD -- $PIDVAL1" wait $PIDVAL1 CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client81.log -s blob81 --writeContact $CLIENTOUT/client81-contact.bin --destfile $CLIENTOUT/client80-contact.bin --send-auth-request --sendCount 0 --receiveCount 0" -eval $CLIENTCMD >> $CLIENTOUT/client81.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client81.txt & PIDVAL2=$! echo "$CLIENTCMD -- $PIDVAL2" @@ -847,7 +849,7 @@ echo "CLIENT 81 ID: $CLIENT81ID" # Client 81 will now wait for client 81's E2E Auth channel request and confirm CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client80.log -s blob80 --destfile $CLIENTOUT/client81-contact.bin --sendCount 0 --receiveCount 0" -eval $CLIENTCMD >> $CLIENTOUT/client80.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client80.txt & PIDVAL1=$! echo "$CLIENTCMD -- $PIDVAL1" wait $PIDVAL1 @@ -856,7 +858,7 @@ wait $PIDVAL2 # Create authenticated channel between client 80 and 82 CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client82.log -s blob82 --writeContact $CLIENTOUT/client82-contact.bin --destfile $CLIENTOUT/client80-contact.bin --send-auth-request --sendCount 0 --receiveCount 0" -eval $CLIENTCMD >> $CLIENTOUT/client82.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client82.txt & PIDVAL3=$! echo "$CLIENTCMD -- $PIDVAL3" @@ -872,7 +874,7 @@ echo "CLIENT 82 ID: $CLIENT82ID" # Client 82 will now wait for client 82's E2E Auth channel request and confirm CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client80.log -s blob80 --destfile $CLIENTOUT/client82-contact.bin --sendCount 0 --receiveCount 0" -eval $CLIENTCMD >> $CLIENTOUT/client80.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client80.txt & PIDVAL1=$! echo "$CLIENTCMD -- $PIDVAL1" wait $PIDVAL1 @@ -883,15 +885,15 @@ echo "Group User IDs: $CLIENT80ID $CLIENT81ID $CLIENT82ID" echo "b64:$CLIENT81ID" > $CLIENTOUT/groupParticipants echo "b64:$CLIENT82ID" >> $CLIENTOUT/groupParticipants CLIENTCMD="timeout 605s ../bin/client group -s blob80 -l $CLIENTOUT/client80.log $CLIENTGROUPOPTS --create $CLIENTOUT/groupParticipants --message \"80 inviting 81 and 82 to new group\"" -eval $CLIENTCMD > $CLIENTOUT/client80.txt 2>&1 || true & +eval $CLIENTCMD > $CLIENTOUT/client80.txt 2>&1 & PIDVAL1=$! echo "$CLIENTCMD -- $PIDVAL1" CLIENTCMD="../bin/client group -s blob81 -l $CLIENTOUT/client81.log $CLIENTGROUPOPTS --join" -eval $CLIENTCMD > $CLIENTOUT/client81.txt 2>&1 || true & +eval $CLIENTCMD > $CLIENTOUT/client81.txt 2>&1 & PIDVAL2=$! echo "$CLIENTCMD -- $PIDVAL2" CLIENTCMD="../bin/client group -s blob82 -l $CLIENTOUT/client82.log $CLIENTGROUPOPTS --join" -eval $CLIENTCMD > $CLIENTOUT/client82.txt 2>&1 || true & +eval $CLIENTCMD > $CLIENTOUT/client82.txt 2>&1 & PIDVAL3=$! echo "$CLIENTCMD -- $PIDVAL3" wait $PIDVAL1 @@ -904,15 +906,15 @@ echo "Group ID: $GROUPID" # Print the group list from all users CLIENTCMD="../bin/client group -s blob80 -l $CLIENTOUT/client80.log $CLIENTGROUPOPTS --list" -eval $CLIENTCMD >> $CLIENTOUT/client80.txt 2>&1 || true & +eval $CLIENTCMD >> $CLIENTOUT/client80.txt 2>&1 & PIDVAL1=$! echo "$CLIENTCMD -- $PIDVAL1" CLIENTCMD="../bin/client group -s blob81 -l $CLIENTOUT/client81.log $CLIENTGROUPOPTS --list" -eval $CLIENTCMD >> $CLIENTOUT/client81.txt 2>&1 || true & +eval $CLIENTCMD >> $CLIENTOUT/client81.txt 2>&1 & PIDVAL2=$! echo "$CLIENTCMD -- $PIDVAL2" CLIENTCMD="../bin/client group -s blob82 -l $CLIENTOUT/client82.log $CLIENTGROUPOPTS --list" -eval $CLIENTCMD >> $CLIENTOUT/client82.txt 2>&1 || true & +eval $CLIENTCMD >> $CLIENTOUT/client82.txt 2>&1 & PIDVAL3=$! echo "$CLIENTCMD -- $PIDVAL3" wait $PIDVAL1 @@ -921,15 +923,15 @@ wait $PIDVAL3 # Print group from all users CLIENTCMD="../bin/client group -s blob80 -l $CLIENTOUT/client80.log $CLIENTGROUPOPTS --show $GROUPID" -eval $CLIENTCMD >> $CLIENTOUT/client80.txt 2>&1 || true & +eval $CLIENTCMD >> $CLIENTOUT/client80.txt 2>&1 & PIDVAL1=$! echo "$CLIENTCMD -- $PIDVAL1" CLIENTCMD="../bin/client group -s blob81 -l $CLIENTOUT/client81.log $CLIENTGROUPOPTS --show $GROUPID" -eval $CLIENTCMD >> $CLIENTOUT/client81.txt 2>&1 || true & +eval $CLIENTCMD >> $CLIENTOUT/client81.txt 2>&1 & PIDVAL2=$! echo "$CLIENTCMD -- $PIDVAL2" CLIENTCMD="../bin/client group -s blob82 -l $CLIENTOUT/client82.log $CLIENTGROUPOPTS --show $GROUPID" -eval $CLIENTCMD >> $CLIENTOUT/client82.txt 2>&1 || true & +eval $CLIENTCMD >> $CLIENTOUT/client82.txt 2>&1 & PIDVAL3=$! echo "$CLIENTCMD -- $PIDVAL3" wait $PIDVAL1 @@ -938,15 +940,15 @@ wait $PIDVAL3 # Now everyone sends their message CLIENTCMD="../bin/client group -s blob80 -l $CLIENTOUT/client80.log $CLIENTGROUPOPTS --sendMessage $GROUPID --message \"Hello from 80\"" -eval $CLIENTCMD >> $CLIENTOUT/client80.txt 2>&1 || true & +eval $CLIENTCMD >> $CLIENTOUT/client80.txt 2>&1 & PIDVAL1=$! echo "$CLIENTCMD -- $PIDVAL1" CLIENTCMD="../bin/client group -s blob81 -l $CLIENTOUT/client81.log $CLIENTGROUPOPTS --sendMessage $GROUPID --message \"Hello from 81\"" -eval $CLIENTCMD >> $CLIENTOUT/client81.txt 2>&1 || true & +eval $CLIENTCMD >> $CLIENTOUT/client81.txt 2>&1 & PIDVAL2=$! echo "$CLIENTCMD -- $PIDVAL2" CLIENTCMD="../bin/client group -s blob82 -l $CLIENTOUT/client82.log $CLIENTGROUPOPTS --sendMessage $GROUPID --message \"Hello from 82\"" -eval $CLIENTCMD >> $CLIENTOUT/client82.txt 2>&1 || true & +eval $CLIENTCMD >> $CLIENTOUT/client82.txt 2>&1 & PIDVAL3=$! echo "$CLIENTCMD -- $PIDVAL3" wait $PIDVAL1 @@ -955,15 +957,15 @@ wait $PIDVAL3 # Everyone waits for their message CLIENTCMD="../bin/client group -s blob80 -l $CLIENTOUT/client80.log $CLIENTGROUPOPTS --wait 2" -eval $CLIENTCMD >> $CLIENTOUT/client80.txt 2>&1 || true & +eval $CLIENTCMD >> $CLIENTOUT/client80.txt 2>&1 & PIDVAL1=$! echo "$CLIENTCMD -- $PIDVAL1" CLIENTCMD="../bin/client group -s blob81 -l $CLIENTOUT/client81.log $CLIENTGROUPOPTS --wait 2" -eval $CLIENTCMD >> $CLIENTOUT/client81.txt 2>&1 || true & +eval $CLIENTCMD >> $CLIENTOUT/client81.txt 2>&1 & PIDVAL2=$! echo "$CLIENTCMD -- $PIDVAL2" CLIENTCMD="../bin/client group -s blob82 -l $CLIENTOUT/client82.log $CLIENTGROUPOPTS --wait 2" -eval $CLIENTCMD >> $CLIENTOUT/client82.txt 2>&1 || true & +eval $CLIENTCMD >> $CLIENTOUT/client82.txt 2>&1 & PIDVAL3=$! echo "$CLIENTCMD -- $PIDVAL3" wait $PIDVAL1 @@ -972,18 +974,18 @@ wait $PIDVAL3 # Member 2 leaves the group CLIENTCMD="../bin/client group -s blob81 -l $CLIENTOUT/client81.log $CLIENTGROUPOPTS --leave $GROUPID" -eval $CLIENTCMD >> $CLIENTOUT/client81.txt 2>&1 || true & +eval $CLIENTCMD >> $CLIENTOUT/client81.txt 2>&1 & PIDVAL2=$! echo "$CLIENTCMD -- $PIDVAL2" wait $PIDVAL2 # 1 and 3 send a message successfully now, 2 does not CLIENTCMD="../bin/client group -s blob80 -l $CLIENTOUT/client80.log $CLIENTGROUPOPTS --sendMessage $GROUPID --message \"Hello 2 from 80\"" -eval $CLIENTCMD >> $CLIENTOUT/client80.txt 2>&1 || true & +eval $CLIENTCMD >> $CLIENTOUT/client80.txt 2>&1 & PIDVAL1=$! echo "$CLIENTCMD -- $PIDVAL2" CLIENTCMD="../bin/client group -s blob82 -l $CLIENTOUT/client82.log $CLIENTGROUPOPTS --sendMessage $GROUPID --message \"Hello 2 from 82\"" -eval $CLIENTCMD >> $CLIENTOUT/client82.txt 2>&1 || true & +eval $CLIENTCMD >> $CLIENTOUT/client82.txt 2>&1 & PIDVAL3=$! echo "$CLIENTCMD -- $PIDVAL3" wait $PIDVAL1 @@ -992,15 +994,15 @@ wait $PIDVAL3 # All 3 wait again CLIENTCMD="../bin/client group -s blob80 -l $CLIENTOUT/client80.log $CLIENTGROUPOPTS --wait 1" -eval $CLIENTCMD >> $CLIENTOUT/client80.txt 2>&1 || true & +eval $CLIENTCMD >> $CLIENTOUT/client80.txt 2>&1 & PIDVAL1=$! echo "$CLIENTCMD -- $PIDVAL1" CLIENTCMD="../bin/client group -s blob81 -l $CLIENTOUT/client81.log $CLIENTGROUPOPTS --wait 1" -eval $CLIENTCMD >> $CLIENTOUT/client81.txt 2>&1 || true & +eval $CLIENTCMD >> $CLIENTOUT/client81.txt 2>&1 & PIDVAL2=$! echo "$CLIENTCMD -- $PIDVAL2" CLIENTCMD="../bin/client group -s blob82 -l $CLIENTOUT/client82.log $CLIENTGROUPOPTS --wait 1" -eval $CLIENTCMD >> $CLIENTOUT/client82.txt 2>&1 || true & +eval $CLIENTCMD >> $CLIENTOUT/client82.txt 2>&1 & PIDVAL3=$! echo "$CLIENTCMD -- $PIDVAL3" wait $PIDVAL1 @@ -1017,12 +1019,12 @@ echo "TESTING FILE TRANSFER..." # Create authenticated channel between client 110 and 111 CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client110.log -s blob110 --writeContact $CLIENTOUT/client110-contact.bin --unsafe -m \"Hello from contact 110 to myself, without E2E Encryption\"" -eval $CLIENTCMD >> $CLIENTOUT/client110.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client110.txt & PIDVAL1=$! echo "$CLIENTCMD -- $PIDVAL1" wait $PIDVAL1 CLIENTCMD="timeout 240s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client111.log -s blob111 --writeContact $CLIENTOUT/client111-contact.bin --destfile $CLIENTOUT/client110-contact.bin --send-auth-request --sendCount 0 --receiveCount 0" -eval $CLIENTCMD >> $CLIENTOUT/client111.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client111.txt & PIDVAL2=$! echo "$CLIENTCMD -- $PIDVAL2" @@ -1041,7 +1043,7 @@ echo "CLIENT 111 ID: $CLIENT111ID" # Client 110 will now wait for client 111's E2E Auth channel request and confirm CLIENTCMD="timeout 360s ../bin/client $CLIENTOPTS -l $CLIENTOUT/client110.log -s blob110 --destfile $CLIENTOUT/client111-contact.bin --sendCount 0 --receiveCount 0" -eval $CLIENTCMD >> $CLIENTOUT/client110.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client110.txt & PIDVAL1=$! echo "$CLIENTCMD -- $PIDVAL1" wait $PIDVAL1 @@ -1049,11 +1051,11 @@ wait $PIDVAL2 # Client 111 sends a file to client 110 CLIENTCMD="timeout 360s ../bin/client fileTransfer -s blob110 -l $CLIENTOUT/client110.log $CLIENTFILETRANSFEROPTS" -eval $CLIENTCMD > $CLIENTOUT/client110.txt 2>&1 || true & +eval $CLIENTCMD > $CLIENTOUT/client110.txt 2>&1 & PIDVAL1=$! echo "$CLIENTCMD -- $PIDVAL1" CLIENTCMD="timeout 700s ../bin/client fileTransfer -s blob111 -l $CLIENTOUT/client111.log $CLIENTFILETRANSFEROPTS --sendFile $CLIENTOUT/client110-contact.bin --filePath LoremIpsum.txt --filePreviewString \"Lorem ipsum dolor sit amet, consectetur adipiscing elit.\" --maxThroughput 1000 --retry 0" -eval $CLIENTCMD > $CLIENTOUT/client111.txt 2>&1 || true & +eval $CLIENTCMD > $CLIENTOUT/client111.txt 2>&1 & PIDVAL2=$! echo "$CLIENTCMD -- $PIDVAL2" wait $PIDVAL1 @@ -1065,14 +1067,14 @@ echo "TESTING BROADCAST CHANNELS..." # New broadcast channel... CLIENTCMD="timeout 240s ../bin/client broadcast --password hello --ndf results/ndf.json --waitTimeout 1800 -l $CLIENTOUT/client130.log -s blob130 --new --name broadcast-test --description \"Integration test channel\" --chanPath results/integration-channel.json --keyPath results/integration-chan-key.pem --receiveCount 0" -eval $CLIENTCMD >> $CLIENTOUT/client130.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client130.txt & PIDVAL1=$! echo "$CLIENTCMD -- $PIDVAL1" wait $PIDVAL1 # Start client to listen for messages on the channel CLIENTCMD="timeout 480s ../bin/client broadcast --password hello --ndf results/ndf.json --waitTimeout 1800 -l $CLIENTOUT/client131.log -s blob131 --chanPath results/integration-channel.json --receiveCount 4" -eval $CLIENTCMD >> $CLIENTOUT/client131.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client131.txt & PIDVAL1=$! echo "$CLIENTCMD -- $PIDVAL1" @@ -1080,19 +1082,19 @@ sleep 10 # Send symmetric broadcast to channel CLIENTCMD="timeout 240s ../bin/client broadcast --password hello --ndf results/ndf.json --waitTimeout 360 -l $CLIENTOUT/client132.log -s blob132 --chanPath results/integration-channel.json --receiveCount 0 --sendDelay 5000 --symmetric \"Hello to symmetric channel from channel client 122!\"" -eval $CLIENTCMD >> $CLIENTOUT/client132.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client132.txt & PIDVAL2=$! echo "$CLIENTCMD -- $PIDVAL2" # Send asymmetric broadcast to channel CLIENTCMD="timeout 240s ../bin/client broadcast --password hello --ndf results/ndf.json --waitTimeout 360 -l $CLIENTOUT/client133.log -s blob133 --chanPath results/integration-channel.json --receiveCount 0 --sendDelay 5000 --keyPath results/integration-chan-key.pem --asymmetric \"Hello to asymmetric channel from channel client 123!\"" -eval $CLIENTCMD >> $CLIENTOUT/client133.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client133.txt & PIDVAL3=$! echo "$CLIENTCMD -- $PIDVAL3" # Send symmetric & asymmetric broadcasts to channel CLIENTCMD="timeout 240s ../bin/client broadcast --password hello --ndf results/ndf.json --waitTimeout 360 -l $CLIENTOUT/client134.log -s blob134 --chanPath results/integration-channel.json --receiveCount 0 --sendDelay 5000 --keyPath results/integration-chan-key.pem --asymmetric \"Hello to asymmetric channel from channel client 124!\" --symmetric \"Hello to symmetric channel from channel client 124!\"" -eval $CLIENTCMD >> $CLIENTOUT/client134.txt || true & +eval $CLIENTCMD >> $CLIENTOUT/client134.txt & PIDVAL4=$! echo "$CLIENTCMD -- $PIDVAL4" @@ -1110,7 +1112,7 @@ echo "BROADCAST CHANNELS FINISHED..." echo "TESTING EPEHMERAL CONNECTIONS..." # Initiate server CLIENTCMD="timeout 240s ../bin/client connection --ephemeral -s blob200 $CONNECTIONOPTS --writeContact $CLIENTOUT/client200-server.bin -l $CLIENTOUT/client200.log --startServer --serverTimeout 1m30s" -eval $CLIENTCMD > $CLIENTOUT/client200.txt 2>&1 || true & +eval $CLIENTCMD > $CLIENTOUT/client200.txt 2>&1 & PIDVAL1=$! echo "$CLIENTCMD -- $PIDVAL1" echo "Sleeping to ensure connection server instantiation" @@ -1118,7 +1120,7 @@ sleep 5 # Initiate client and send message to server CLIENTCMD="timeout 240s ../bin/client connection --ephemeral -s blob201 --connect $CLIENTOUT/client200-server.bin $CONNECTIONOPTS -l $CLIENTOUT/client201.log -m \"Hello 200 from 201, using connections\" --receiveCount 0" -eval $CLIENTCMD > $CLIENTOUT/client201.txt 2>&1 || true & +eval $CLIENTCMD > $CLIENTOUT/client201.txt 2>&1 & PIDVAL2=$! echo "$CLIENTCMD -- $PIDVAL2" wait $PIDVAL2 @@ -1131,7 +1133,7 @@ echo "EPHEMERAL CONNECTION TESTS FINISHED" echo "TESTING EPHEMERAL AUTHENTICATED CONNECTIONS..." # Initiate server CLIENTCMD="timeout 240s ../bin/client connection --ephemeral -s blob202 --authenticated $CONNECTIONOPTS --writeContact $CLIENTOUT/client202-server.bin -l $CLIENTOUT/client202.log --startServer --serverTimeout 1m30s" -eval $CLIENTCMD > $CLIENTOUT/client202.txt 2>&1 || true & +eval $CLIENTCMD > $CLIENTOUT/client202.txt 2>&1 & PIDVAL1=$! echo "$CLIENTCMD -- $PIDVAL1" echo "Sleeping to ensure connection server instantiation" @@ -1139,7 +1141,7 @@ sleep 5 # Initiate client and send message to server CLIENTCMD="timeout 240s ../bin/client connection --ephemeral -s blob203 --authenticated --connect $CLIENTOUT/client202-server.bin $CONNECTIONOPTS -l $CLIENTOUT/client203.log -m \"Hello 202 from 203, using connections\" --receiveCount 0" -eval $CLIENTCMD > $CLIENTOUT/client203.txt 2>&1 || true & +eval $CLIENTCMD > $CLIENTOUT/client203.txt 2>&1 & PIDVAL2=$! echo "$CLIENTCMD -- $PIDVAL2" wait $PIDVAL2 @@ -1153,7 +1155,7 @@ echo "EPHEMERAL AUTHENTICATED CONNECTION TESTS FINISHED" echo "TESTING NON-EPHEMERAL CONNECTIONS" # Initiate server CLIENTCMD="timeout 240s ../bin/client connection -s blob204 $CONNECTIONOPTS --writeContact $CLIENTOUT/client204-server.bin -l $CLIENTOUT/client204.log --startServer --serverTimeout 1m30s" -eval $CLIENTCMD > $CLIENTOUT/client204.txt 2>&1 || true & +eval $CLIENTCMD > $CLIENTOUT/client204.txt 2>&1 & PIDVAL1=$! echo "$CLIENTCMD -- $PIDVAL1" echo "Sleeping to ensure connection server instantiation" @@ -1161,7 +1163,7 @@ sleep 5 # Initiate client and send message to server CLIENTCMD="timeout 240s ../bin/client connection -s blob205 --connect $CLIENTOUT/client204-server.bin $CONNECTIONOPTS -l $CLIENTOUT/client205.log -m \"Hello 204 from 205, using connections\" --receiveCount 0" -eval $CLIENTCMD > $CLIENTOUT/client205.txt 2>&1 || true & +eval $CLIENTCMD > $CLIENTOUT/client205.txt 2>&1 & PIDVAL2=$! echo "$CLIENTCMD -- $PIDVAL2" wait $PIDVAL2 @@ -1171,7 +1173,7 @@ echo "NON-EPHEMERAL CONNECTION TEST FINISHED." echo "TESTING EPHEMERAL AUTHENTICATED CONNECTIONS..." # Initiate server CLIENTCMD="timeout 240s ../bin/client connection -s blob206 --authenticated $CONNECTIONOPTS --writeContact $CLIENTOUT/client206-server.bin -l $CLIENTOUT/client206.log --startServer --serverTimeout 1m30s" -eval $CLIENTCMD > $CLIENTOUT/client206.txt 2>&1 || true & +eval $CLIENTCMD > $CLIENTOUT/client206.txt 2>&1 & PIDVAL1=$! echo "$CLIENTCMD -- $PIDVAL1" echo "Sleeping to ensure connection server instantiation" @@ -1179,7 +1181,7 @@ sleep 5 # Initiate client and send message to server CLIENTCMD="timeout 240s ../bin/client connection -s blob207 --authenticated --connect $CLIENTOUT/client206-server.bin $CONNECTIONOPTS -l $CLIENTOUT/client207.log -m \"Hello 206 from 207, using connections\" --receiveCount 0" -eval $CLIENTCMD > $CLIENTOUT/client207.txt 2>&1 || true & +eval $CLIENTCMD > $CLIENTOUT/client207.txt 2>&1 & PIDVAL2=$! echo "$CLIENTCMD -- $PIDVAL2" wait $PIDVAL2