Skip to content
Snippets Groups Projects
Commit b07a65b0 authored by Richard T. Carback III's avatar Richard T. Carback III
Browse files

Merge branch 'develop' into 'release'

Develop

See merge request !57
parents f8fe78bf 9645ef70
No related branches found
No related tags found
No related merge requests found
...@@ -94,24 +94,27 @@ basice2e: ...@@ -94,24 +94,27 @@ basice2e:
- basice2e/results/ - basice2e/results/
- bin/ - bin/
basice2eTLS:
stage: tests # NOTE: This was removed because of port conflicts with the base test. Instead
image: $DOCKER_IMAGE # we run in TLS mode by default and disable this version
script: # basice2eTLS:
- mkdir -p ~/.elixxir # stage: tests
- echo $PWD # image: $DOCKER_IMAGE
- cd basice2e # script:
- for CONFIG in $(echo *.yaml); do echo $CONFIG; sed -i 's/cert\:\ \"\"/cert\:\ \"\.\.\/keys\/cmix\.rip\.crt\"/g' $CONFIG; sed -i 's/key\:\ \ \"\"/key\:\ \ \"\.\.\/keys\/cmix\.rip\.key\"/g' $CONFIG; done # - mkdir -p ~/.elixxir
- for CONFIG in $(echo *.yaml); do echo $CONFIG; sed -i 's/ertPath\:\ \"\"/ertPath\:\ \"\.\.\/keys\/cmix\.rip\.crt\"/g' $CONFIG; sed -i 's/keyPath\:\ \"\"/keyPath\:\ \"\.\.\/keys\/cmix\.rip\.key\"/g' $CONFIG; done # - echo $PWD
- sed -i "s/\"Tls\_certificate\"\:\ \"\"/\"Tls\_certificate\"\:\ \"$(awk -v ORS='\\n' '1' ../keys/cmix.rip.crt | sed -e 's/[\/&]/\\&/g')\"/g" ndf.json # - cd basice2e
- sed -i 's/\-\-noTLS//g' run.sh # - for CONFIG in $(echo *.yaml); do echo $CONFIG; sed -i 's/cert\:\ \"\"/cert\:\ \"\.\.\/keys\/cmix\.rip\.crt\"/g' $CONFIG; sed -i 's/key\:\ \ \"\"/key\:\ \ \"\.\.\/keys\/cmix\.rip\.key\"/g' $CONFIG; done
- ./run.sh # - for CONFIG in $(echo *.yaml); do echo $CONFIG; sed -i 's/ertPath\:\ \"\"/ertPath\:\ \"\.\.\/keys\/cmix\.rip\.crt\"/g' $CONFIG; sed -i 's/keyPath\:\ \"\"/keyPath\:\ \"\.\.\/keys\/cmix\.rip\.key\"/g' $CONFIG; done
- cd .. # - sed -i "s/\"Tls\_certificate\"\:\ \"\"/\"Tls\_certificate\"\:\ \"$(awk -v ORS='\\n' '1' ../keys/cmix.rip.crt | sed -e 's/[\/&]/\\&/g')\"/g" ndf.json
artifacts: # - sed -i 's/\-\-noTLS//g' run.sh
when: always # - ./run.sh
paths: # - cd ..
- basice2e/ # artifacts:
- bin/ # when: always
# paths:
# - basice2e/
# - bin/
smokeinfra: smokeinfra:
stage: tests stage: tests
......
Received: Hello from Ben43, with E2E Encryption
Sending Message to 0, : Hello from Rick42, with E2E Encryption
Received: Hello from Rick42, with E2E Encryption
Sending Message to 0, : Hello from Ben43, with E2E Encryption
...@@ -16,16 +16,24 @@ DUMMYOUT=results/dummy-console.txt ...@@ -16,16 +16,24 @@ DUMMYOUT=results/dummy-console.txt
UDBOUT=results/udb-console.txt UDBOUT=results/udb-console.txt
CLIENTCLEAN=results/clients-cleaned CLIENTCLEAN=results/clients-cleaned
CLIENTOPTS="-v -n ndf.json --skipNDFVerification -P dummypassword --noTLS" CLIENTOPTS="-v -n ndf.json --skipNDFVerification -P dummypassword "
mkdir -p $SERVERLOGS mkdir -p $SERVERLOGS
mkdir -p $GATEWAYLOGS mkdir -p $GATEWAYLOGS
mkdir -p $CLIENTOUT mkdir -p $CLIENTOUT
mkdir -p $CLIENTCLEAN mkdir -p $CLIENTCLEAN
# Start a user discovery bot server
echo "STARTING UDB..."
UDBCMD="../bin/udb -v --config udb.yaml "
$UDBCMD >> $UDBOUT 2>&1 &
PIDVAL=$!
echo $PIDVAL >> results/serverpids
echo "$UDBCMD -- $PIDVAL"
echo "STARTING SERVERS..." echo "STARTING SERVERS..."
PERMCMD="../bin/permissioning -c permissioning.yaml --noTLS" PERMCMD="../bin/permissioning -c permissioning.yaml "
$PERMCMD > $SERVERLOGS/permissioning.log 2>&1 & $PERMCMD > $SERVERLOGS/permissioning.log 2>&1 &
PIDVAL=$! PIDVAL=$!
echo "$PERMCMD -- $PIDVAL" echo "$PERMCMD -- $PIDVAL"
...@@ -33,7 +41,7 @@ echo "$PERMCMD -- $PIDVAL" ...@@ -33,7 +41,7 @@ echo "$PERMCMD -- $PIDVAL"
for SERVERID in $(seq 5 -1 1) for SERVERID in $(seq 5 -1 1)
do do
IDX=$(($SERVERID - 1)) IDX=$(($SERVERID - 1))
SERVERCMD="../bin/server --disablePermissioning --noTLS -v -i $IDX --roundBufferTimeout 300s --config server-$SERVERID.yaml" SERVERCMD="../bin/server --disablePermissioning -v -i $IDX --roundBufferTimeout 300s --config server-$SERVERID.yaml"
if [ $SERVERID -eq 4 ]; then if [ $SERVERID -eq 4 ]; then
sleep 15 # This will force a CDE timeout sleep 15 # This will force a CDE timeout
fi fi
...@@ -48,7 +56,7 @@ sleep 5 # Give servers some time to boot ...@@ -48,7 +56,7 @@ sleep 5 # Give servers some time to boot
for GWID in $(seq 5 -1 1) for GWID in $(seq 5 -1 1)
do do
IDX=$(($GWID - 1)) IDX=$(($GWID - 1))
GATEWAYCMD="../bin/gateway -v -i $IDX --disablePermissioning --noTLS --config gateway-$GWID.yaml" GATEWAYCMD="../bin/gateway -v -i $IDX --disablePermissioning --config gateway-$GWID.yaml"
$GATEWAYCMD > $GATEWAYLOGS/gateway-$GWID-console.txt 2>&1 & $GATEWAYCMD > $GATEWAYLOGS/gateway-$GWID-console.txt 2>&1 &
PIDVAL=$! PIDVAL=$!
echo "$GATEWAYCMD -- $PIDVAL" echo "$GATEWAYCMD -- $PIDVAL"
...@@ -65,9 +73,9 @@ finish() { ...@@ -65,9 +73,9 @@ finish() {
echo "KILLING $job" echo "KILLING $job"
kill $job || true kill $job || true
done done
tail $SERVERLOGS/* #tail $SERVERLOGS/*
tail $CLIENTCLEAN/* #tail $CLIENTCLEAN/*
diff -ruN clients.goldoutput $CLIENTCLEAN #diff -ruN clients.goldoutput $CLIENTCLEAN
} }
trap finish EXIT trap finish EXIT
...@@ -110,31 +118,23 @@ runclients() { ...@@ -110,31 +118,23 @@ runclients() {
done done
} }
# Start a user discovery bot server echo "RUNNING BASIC CLIENTS..."
UDBCMD="../bin/udb -v --config udb.yaml --noTLS"
$UDBCMD >> $UDBOUT 2>&1 &
PIDVAL=$!
echo $PIDVAL >> results/serverpids
echo "$UDBCMD -- $PIDVAL"
echo "RUNNING CLIENTS..."
runclients runclients
echo "RUNNING CLIENTS (2nd time)..." echo "RUNNING BASIC CLIENTS (2nd time)..."
runclients runclients
# Register two users and then do UDB search on each other # Register two users and then do UDB search on each other
echo "REGISTERING AND SEARCHING WITH PRECANNED USERS..."
CLIENTCMD="timeout 60s ../bin/client $CLIENTOPTS -f blob9 -E niamh@elixxir.io -i 9 -d 9 -m \"Hi\"" CLIENTCMD="timeout 60s ../bin/client $CLIENTOPTS -f blob9 -E niamh@elixxir.io -i 9 -d 9 -m \"Hi\""
eval $CLIENTCMD >> $CLIENTOUT/client9.txt 2>&1 & eval $CLIENTCMD >> $CLIENTOUT/client9.txt 2>&1 &
PIDVAL=$! PIDVAL=$!
echo "$CLIENTCMD -- $PIDVAL" echo "$CLIENTCMD -- $PIDVAL"
wait $PIDVAL wait $PIDVAL
CLIENTCMD="timeout 60s ../bin/client $CLIENTOPTS -f blob18 -E bernardo@elixxir.io -i 18 -d 9 -s \"niamh@elixxir.io\" --keyParams 3,4,2,1.0,2" CLIENTCMD="timeout 60s ../bin/client $CLIENTOPTS -f blob18 -E bernardo@elixxir.io -i 18 -d 9 -s \"niamh@elixxir.io\" --keyParams 3,4,2,1.0,2"
eval $CLIENTCMD >> $CLIENTOUT/client18.txt 2>&1 & eval $CLIENTCMD >> $CLIENTOUT/client18.txt 2>&1 &
PIDVAL=$! PIDVAL=$!
echo "$CLIENTCMD -- $PIDVAL" echo "$CLIENTCMD -- $PIDVAL"
wait $PIDVAL wait $PIDVAL
CLIENTCMD="timeout 60s ../bin/client $CLIENTOPTS -f blob9 -i 9 -d 18 -s \"bernardo@elixxir.io\" --keyParams 3,4,2,1.0,2" CLIENTCMD="timeout 60s ../bin/client $CLIENTOPTS -f blob9 -i 9 -d 18 -s \"bernardo@elixxir.io\" --keyParams 3,4,2,1.0,2"
eval $CLIENTCMD >> $CLIENTOUT/client9.txt 2>&1 & eval $CLIENTCMD >> $CLIENTOUT/client9.txt 2>&1 &
PIDVAL=$! PIDVAL=$!
...@@ -142,24 +142,64 @@ echo "$CLIENTCMD -- $PIDVAL" ...@@ -142,24 +142,64 @@ echo "$CLIENTCMD -- $PIDVAL"
wait $PIDVAL wait $PIDVAL
# Send multiple E2E encrypted messages between users that discovered each other # Send multiple E2E encrypted messages between users that discovered each other
echo "SENDING MESSAGES TO PRECANNED USERS AND FORCING A REKAY..."
CLIENTCMD="timeout 180s ../bin/client $CLIENTOPTS -c 20 -w 20 -i 18 -d 9 -s \"niamh@elixxir.io\" -f blob18 -m \"Hello, 9, with E2E Encryption\" --end2end" CLIENTCMD="timeout 180s ../bin/client $CLIENTOPTS -c 20 -w 20 -i 18 -d 9 -s \"niamh@elixxir.io\" -f blob18 -m \"Hello, 9, with E2E Encryption\" --end2end"
eval $CLIENTCMD >> $CLIENTOUT/client18_rekey.txt 2>&1 || true & eval $CLIENTCMD >> $CLIENTOUT/client18_rekey.txt 2>&1 || true &
PIDVAL=$! PIDVAL=$!
echo "$CLIENTCMD -- $PIDVAL" echo "$CLIENTCMD -- $PIDVAL"
CLIENTCMD="timeout 180s ../bin/client $CLIENTOPTS -c 20 -w 20 -i 9 -d 18 -s \"bernardo@elixxir.io\" -f blob9 -m \"Hello, 18, with E2E Encryption\" --end2end" CLIENTCMD="timeout 180s ../bin/client $CLIENTOPTS -c 20 -w 20 -i 9 -d 18 -s \"bernardo@elixxir.io\" -f blob9 -m \"Hello, 18, with E2E Encryption\" --end2end"
eval $CLIENTCMD >> $CLIENTOUT/client9_rekey.txt 2>&1 || true & eval $CLIENTCMD >> $CLIENTOUT/client9_rekey.txt 2>&1 || true &
PIDVAL=$! PIDVAL=$!
echo "$CLIENTCMD -- $PIDVAL" echo "$CLIENTCMD -- $PIDVAL"
set +e set +e
wait $PIDVAL || true wait $PIDVAL || true
# CLIENTCMD="timeout 60s ../bin/client $CLIENTOPTS -f blob9 -E rick42@elixxir.io -i 9 -d 9 -m \"Hi\""
# eval $CLIENTCMD >> $CLIENTOUT/client9.txt 2>&1 & # Register non-precanned users
# PIDVAL=$! echo "REGISTERING NEW USERS..."
# echo "$CLIENTCMD -- $PIDVAL" CLIENTCMD="timeout 60s ../bin/client $CLIENTOPTS -f blob42 -E rick42@elixxir.io"
# wait $PIDVAL eval $CLIENTCMD >> $CLIENTOUT/client42.txt 2>&1 &
PIDVAL=$!
echo "$CLIENTCMD -- $PIDVAL"
CLIENTCMD="timeout 60s ../bin/client $CLIENTOPTS -f blob43 -E ben43@elixxir.io"
eval $CLIENTCMD >> $CLIENTOUT/client43.txt 2>&1 &
PIDVAL2=$!
echo "$CLIENTCMD -- $PIDVAL"
wait $PIDVAL
wait $PIDVAL2
# Have each non-precanned user search for each other
echo "SEARCHING FOR NEW USERS..."
CLIENTCMD="timeout 60s ../bin/client $CLIENTOPTS -f blob42 -s \"ben43@elixxir.io\" --keyParams 3,4,2,1.0,2"
eval $CLIENTCMD >> $CLIENTOUT/client42.txt 2>&1 &
PIDVAL=$!
echo "$CLIENTCMD -- $PIDVAL"
CLIENTCMD="timeout 60s ../bin/client $CLIENTOPTS -f blob43 -s \"rick42@elixxir.io\" --keyParams 3,4,2,1.0,2"
eval $CLIENTCMD >> $CLIENTOUT/client43.txt 2>&1 &
PIDVAL2=$!
echo "$CLIENTCMD -- $PIDVAL"
wait $PIDVAL
wait $PIDVAL2
# Extract generated user name from logs
echo "EXTRACTING USER IDs FROM LOG FILES..."
TMPID=$(cat $CLIENTOUT/client42.txt | grep "Successfully registered user" | awk -F' ' '{print $8}')
RICKID=${TMPID%?} # remove ! from end
TMPID=$(cat $CLIENTOUT/client43.txt | grep "Successfully registered user" | awk -F' ' '{print $8}')
BENID=${TMPID%?} # remove ! from end
# Non-precanned user messaging
echo "SENDING E2E MESSAGES TO NEW USERS..."
CLIENTCMD="timeout 180s ../bin/client $CLIENTOPTS -c 1 -w 1 --dest64 $BENID -s \"ben43@elixxir.io\" -f blob42 -m \"Hello from Rick42, with E2E Encryption\" --end2end"
eval $CLIENTCMD >> $CLIENTOUT/client42.txt 2>&1 || true &
PIDVAL=$!
echo "$CLIENTCMD -- $PIDVAL"
CLIENTCMD="timeout 180s ../bin/client $CLIENTOPTS -c 1 -w 1 --dest64 $RICKID -s \"rick42@elixxir.io\" -f blob43 -m \"Hello from Ben43, with E2E Encryption\" --end2end"
eval $CLIENTCMD >> $CLIENTOUT/client43.txt 2>&1 || true &
PIDVAL2=$!
echo "$CLIENTCMD -- $PIDVAL"
wait $PIDVAL
wait $PIDVAL2
# FIXME: Go into client and clean up it's output so this is not necessary # FIXME: Go into client and clean up it's output so this is not necessary
...@@ -176,6 +216,12 @@ head -10 $CLIENTCLEAN/client9_rekey.txt | strings | grep -v "\.\.\." > $CLIENTCL ...@@ -176,6 +216,12 @@ head -10 $CLIENTCLEAN/client9_rekey.txt | strings | grep -v "\.\.\." > $CLIENTCL
head -10 $CLIENTCLEAN/client18_rekey.txt | strings | grep -v "\.\.\." > $CLIENTCLEAN/client18.txt || true head -10 $CLIENTCLEAN/client18_rekey.txt | strings | grep -v "\.\.\." > $CLIENTCLEAN/client18.txt || true
rm $CLIENTCLEAN/client9_rekey.txt $CLIENTCLEAN/client18_rekey.txt || true rm $CLIENTCLEAN/client9_rekey.txt $CLIENTCLEAN/client18_rekey.txt || true
strings $CLIENTCLEAN/client42.txt | grep -v "\.\.\." > $CLIENTCLEAN/client42-clean.txt || true
strings $CLIENTCLEAN/client43.txt | grep -v "\.\.\." > $CLIENTCLEAN/client43-clean.txt || true
mv $CLIENTCLEAN/client42-clean.txt $CLIENTCLEAN/client42.txt
mv $CLIENTCLEAN/client43-clean.txt $CLIENTCLEAN/client43.txt
for C in $(ls -1 $CLIENTCLEAN); do for C in $(ls -1 $CLIENTCLEAN); do
sort -o tmp $CLIENTCLEAN/$C || true sort -o tmp $CLIENTCLEAN/$C || true
uniq tmp $CLIENTCLEAN/$C || true uniq tmp $CLIENTCLEAN/$C || true
...@@ -183,6 +229,9 @@ done ...@@ -183,6 +229,9 @@ done
set -e set -e
echo "TESTS EXITED SUCCESSFULLY, CHECKING OUTPUT..."
set +x
diff -ruN clients.goldoutput $CLIENTCLEAN diff -ruN clients.goldoutput $CLIENTCLEAN
cat $CLIENTOUT/* | strings | grep -e "ERROR" -e "FATAL" > results/client-errors || true cat $CLIENTOUT/* | strings | grep -e "ERROR" -e "FATAL" > results/client-errors || true
...@@ -198,4 +247,4 @@ cat $GATEWAYLOGS/*.log | grep "ERROR" | grep -v "context" | grep -v "certificate ...@@ -198,4 +247,4 @@ cat $GATEWAYLOGS/*.log | grep "ERROR" | grep -v "context" | grep -v "certificate
cat $GATEWAYLOGS/*.log | grep "FATAL" | grep -v "context" >> results/gateway-errors.txt || true cat $GATEWAYLOGS/*.log | grep "FATAL" | grep -v "context" >> results/gateway-errors.txt || true
diff -ruN results/gateway-errors.txt noerrors.txt diff -ruN results/gateway-errors.txt noerrors.txt
echo "SUCCESS!" echo "NO OUTPUT ERRORS, SUCCESS!"
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
################################################################################ ################################################################################
# batch size # batch size
batch: 4 batch: 4
skipReg: true
# debug logging # debug logging
verbose: true verbose: true
node: node:
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
################################################################################ ################################################################################
# batch size # batch size
batch: 4 batch: 4
skipReg: true
# debug logging # debug logging
verbose: true verbose: true
node: node:
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
################################################################################ ################################################################################
# batch size # batch size
batch: 4 batch: 4
skipReg: true
# debug logging # debug logging
verbose: true verbose: true
node: node:
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
################################################################################ ################################################################################
# batch size # batch size
batch: 4 batch: 4
skipReg: true
# debug logging # debug logging
verbose: true verbose: true
node: node:
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
################################################################################ ################################################################################
# batch size # batch size
batch: 4 batch: 4
skipReg: true
# debug logging # debug logging
verbose: true verbose: true
node: node:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment