From a627e690d59bef4368f92a120cfdaa85c77a8212 Mon Sep 17 00:00:00 2001 From: "Richard T. Carback III" <rick.carback@gmail.com> Date: Fri, 2 Sep 2022 21:28:48 +0000 Subject: [PATCH] Remove || true from most calls. We want integration to stop immediately when failures like this occur unless they are expected. Leave the flags in place for FORCING MESSAGE PICKUP RETRY as that appears to be non-functional at this time, mark it with a comment. --- basice2e/run.sh | 238 ++++++++++++++++++++++++------------------------ 1 file changed, 120 insertions(+), 118 deletions(-) diff --git a/basice2e/run.sh b/basice2e/run.sh index 15dc714..6ab2632 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 -- GitLab