Skip to content
Snippets Groups Projects
Commit 99f6b96b authored by Jonah Husson's avatar Jonah Husson Committed by Jake Taylor
Browse files

Xx 4639/condense network

parent 504de49e
No related branches found
No related tags found
2 merge requests!68Master merge,!62Xx 4639/condense network
Showing
with 194 additions and 670 deletions
......@@ -9,7 +9,7 @@ bin/*
blob*
junk*
*.wasm
tmp
*tmp
# Vim swap files
*.swp
......
......@@ -69,7 +69,7 @@ installbinaries:
paths:
- bin/
basice2e:
basice2e_local:
stage: tests
tags:
# - gpu
......@@ -77,7 +77,6 @@ basice2e:
script:
- mkdir -p ~/.elixxir
- echo $PWD
- cd basice2e
- rm -fr results
- rm -fr results-cpu
- rm -fr results-gpu
......@@ -86,17 +85,16 @@ basice2e:
# - mv results results-cpu
# - sleep 60
- mkdir -p /opt/xxnetwork/lib
- ./run.sh
- ./run.sh --run basice2e_local
- mv results results-gpu
- cd ..
artifacts:
when: always
expire_in: '1 day'
paths:
- basice2e/
- results/
- bin/
channels:
basice2e:
stage: tests
tags:
# - gpu
......@@ -104,8 +102,6 @@ channels:
script:
- mkdir -p ~/.elixxir
- echo $PWD
- cd channels
- cp ../network/network.sh network.sh
- rm -fr results
- rm -fr results-cpu
- rm -fr results-gpu
......@@ -114,37 +110,48 @@ channels:
# - mv results results-cpu
# - sleep 60
- mkdir -p /opt/xxnetwork/lib
- ./run.sh
- ./run.sh --run basice2e
- mv results results-gpu
- if [ -f network.sh ]; then rm network.sh; fi
- cd ..
artifacts:
when: always
expire_in: '1 day'
paths:
- channels/
- results/
- bin/
channelsFileTransfer:
dm:
stage: tests
image: $DOCKER_IMAGE
script:
- mkdir -p ~/.elixxir
- echo $PWD
- cd channelsFileTransfer
- cp ../network/network.sh network.sh
- rm -fr results
- ./run.sh
- if [ -f network.sh ]; then rm network.sh; fi
- cd ..
- ./run.sh --run dm
artifacts:
when: always
expire_in: '1 day'
paths:
- channelsFileTransfer/
- results/
- bin/
fileTransfer:
historical:
stage: tests
image: $DOCKER_IMAGE
script:
- mkdir -p ~/.elixxir
- echo $PWD
- rm -fr results
- ./run.sh --run historical
artifacts:
when: always
expire_in: '1 day'
paths:
- results/
- bin/
channels:
stage: tests
tags:
#- gpu
......@@ -152,22 +159,51 @@ fileTransfer:
script:
- mkdir -p ~/.elixxir
- echo $PWD
- cd fileTransfer
- cp ../network/network.sh network.sh
- rm -fr results
- rm -fr results-cpu
- rm -fr results-gpu
# - ls -lha
# - ./run.sh
# - mv results results-cpu
# - sleep 60
- mkdir -p /opt/xxnetwork/lib
- ./run.sh
- ./run.sh --run channels
- mv results results-gpu
- if [ -f network.sh ]; then rm network.sh; fi
- cd ..
artifacts:
when: always
expire_in: '1 day'
paths:
- fileTransfer/
- results/
- bin/
channelsFileTransfer:
stage: tests
image: $DOCKER_IMAGE
script:
- mkdir -p ~/.elixxir
- echo $PWD
- rm -fr results
- ./run.sh --run channelsFileTransfer
artifacts:
when: always
expire_in: '1 day'
paths:
- results/
- bin/
fileTransfer:
stage: tests
image: $DOCKER_IMAGE
script:
- mkdir -p ~/.elixxir
- echo $PWD
- rm -fr results
- ./run.sh --run fileTransfer
artifacts:
when: always
expire_in: '1 day'
paths:
- results/
- bin/
connect:
......@@ -176,126 +212,99 @@ connect:
script:
- mkdir -p ~/.elixxir
- echo $PWD
- cd connect #modify with your package name
- cp ../network/network.sh network.sh
- rm -fr results
- ./run.sh
- if [ -f network.sh ]; then rm network.sh; fi
- cd ..
- ./run.sh --run connect
artifacts:
when: always
expire_in: '1 day'
paths:
- connect/ #modify with your package name
- results/
- bin/
broadcast:
stage: tests
image: $DOCKER_IMAGE
script:
- mkdir -p ~/.elixxir
- echo $PWD
- cd broadcast #modify with your package name
- cp ../network/network.sh network.sh
- rm -fr results
- ./run.sh
- if [ -f network.sh ]; then rm network.sh; fi
- cd ..
- ./run.sh --run broadcast
artifacts:
when: always
expire_in: '1 day'
paths:
- broadcast/ #modify with your package name
- results/
- bin/
singleUse:
stage: tests
image: $DOCKER_IMAGE
script:
- mkdir -p ~/.elixxir
- echo $PWD
- cd singleUse #modify with your package name
- cp ../network/network.sh network.sh
- rm -fr results
- ./run.sh
- if [ -f network.sh ]; then rm network.sh; fi
- cd ..
- ./run.sh --run singleUse
artifacts:
when: always
expire_in: '1 day'
paths:
- singleUse/ #modify with your package name
- results/
- bin/
ephemeralRegistration:
stage: tests
tags:
#- gpu
image: $DOCKER_IMAGE
script:
- mkdir -p ~/.elixxir
- echo $PWD
- cd ephemeralRegistration #modify with your package name
- cp ../network/network.sh network.sh
- rm -fr results
- rm -fr results-cpu
- rm -fr results-gpu
# - ls -lha
# - ./run.sh
# - mv results results-cpu
# - sleep 60
- mkdir -p /opt/xxnetwork/lib
- ./run.sh
- if [ -f network.sh ]; then rm network.sh; fi
- cd ..
- ./run.sh --run ephemeralRegistration
artifacts:
when: always
expire_in: '1 day'
paths:
- ephemeralRegistration/ #modify with your package name
- results/
- bin/
ud: #modify with your package name
stage: tests
image: $DOCKER_IMAGE
script:
- mkdir -p ~/.elixxir
- echo $PWD
- cd ud #modify with your package name
- cp ../network/network.sh network.sh
- rm -fr results
- ./run.sh
- if [ -f network.sh ]; then rm network.sh; fi
- cd ..
- ./run.sh --run ud
artifacts:
when: always
expire_in: '1 day'
paths:
- ud/ #modify with your package name
- results/
- bin/
groupChat: #modify with your package name
stage: tests
image: $DOCKER_IMAGE
script:
- mkdir -p ~/.elixxir
- echo $PWD
- cd groupChat #modify with your package name
- cp ../network/network.sh network.sh
- rm -fr results
- ./run.sh
- if [ -f network.sh ]; then rm network.sh; fi
- cd ..
- ./run.sh --run groupChat
artifacts:
when: always
expire_in: '1 day'
paths:
- groupChat/ #modify with your package name
- results/
- bin/
basice2e_protonet:
stage: tests
image: $DOCKER_IMAGE
......
File moved
# Integration V2 (post-cleanup)
The integration test has been split into components and refactored to make this
repository both easier to use and more modular. It retains all the old
functionality with some helpful additions.
## Repository Structure
``` text
integration/
├── run.sh # Basic integration runner
├── start.sh # More advanced runner for continuous/simultaneous testing
├── stop.sh # Cleanup for start.sh
├── tests/ # Tests directory contains individual tests which can be run by the top-level scripts
│ ├── basice2e_local # Test names correspond to the directory name
│ │ ├── run.sh # Each test must contain a run.sh script and clients.goldoutput directory
│ │ └── clients.goldoutput/
│ ├── channels
│ └── ...
├── network/ # This network package is used across all tests
│ ├── network.sh # network and/or cleanup files should be sourced into files as always
│ ├── cleanup.sh
│ └── [network configs]
└── results/ # This is generated by running tests and is not in source control
├── network # Local network outputs to results/network
├── basice2e_local
│ ├── clients/ # Raw client outputs for this test
│ ├── clients-cleaned/ # Cleaned client outputs for this test
│ └── testout.txt # Raw console output for this test
├── ... # Results contain directories of client logs for each test run
└── testreport.txt
```
## Running Integration Tests
Integration tests can be run as they always have been, with some small changes.
All testing must now run through `run.sh` in the root directory. By default,
the script will run all tests in sequence. it accepts an optional argument for
the environment (`mainnet`, `devnet`, `protonet`).
```shell
./run.sh [mainnet|devnet|protonet]
```
It supports an additional named argument for running single tests or subsets as
well.
```shell
./run.sh --run [testname]
```
Use `run.sh help` for more information on the usage.
## Advanced Integration Testing
Also included in the repo are the scripts `start.sh` and `stop.sh`. These can
be used to the same effect as the single runner, with some notable differences.
Running `start.sh` will check for a live network in the expected location, and
will connect to it if found. This is somewhat intelligent, but not well tested yet.
It will not shut down the network when the test is finished, leaving it active
for other local testing if needed. To shut down the network, use the `stop.sh`
script. The help commands on each script contain more detailed information on
usage.
## Adding New Tests
The `generatePackage.py` script has been deprecated by this update. While it may
be updated in the future, adding new tests is not nearly as complicated anymore.
A template for `run.sh` can be found in `gen/`. To create a new test, add a directory
to `tests/` with the desired test name. Copy the `run.sh` file from `gen/`, and
add a `clients.goldoutput/` directory to your new test package. You can now
add test code to `tests/{your_test_name}/run.sh`, and run it using the `--run`
argument with `run.sh` in the root directory.
New tests must be separately added to the list in `run.sh` to be run as part of
the full suite. Additionally, a new step must be added to the `.gitlab_ci` file
for it to run as part of continuous integration. An example of this can be found
below:
```yaml
your_test_name:
stage: tests
image: $DOCKER_IMAGE
script:
- mkdir -p ~/.elixxir
- echo $PWD
- rm -fr results
- ./run.sh --run { your_test_name_here }
artifacts:
when: always
expire_in: '1 day'
paths:
- results/
- bin/
```
## Planned Upgrades
Leaving this section as a note for the future, some things that are out of scope
for the time being but would improve the quality of this repo.
- Finish splitting up basice2e
- bring back generatePackage.py? (may not be needed, this is fairly easy now)
- CI testing using single network
- Suppress individual test output since this now goes to a file, add verbose flag for users who want the old behavior
- Top-level script code review
- Potential rewrite/wrapper in python?
<xxc(2)AAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADrgZ7Ugdw/BAr6aVzSIM900EqY40/W5o3YY6wA0nxEnY24HWzbZb2dJZzBKjFpByuwIrb3lCZjB7YYO5dby5dVfTO3v2zz39gYQgevQE+l7ldt1Zs+WRF+Aj8u62ne0ueiH+3LON4GKg7zexrn85M0xvUoLuhmcmlwMWkhKNFHFINj6YinnQtVW0yA/B749mjacXwFnNB/mfy87Q/sRxGTvTELegB8u4whqJe3TuTicNnclSyWtDBZs7v1THRlw+sMNVR6jf4Kz/8UPUCEWRReIrn8wGqwLragnxCN2QYmvGhY55gfdvJaPLULG38I5FKeHVALI4YFmJJmIMv+uVBY9ftYV/lX+hUrchazXeZ+MP1RSINKQkLyBhEStyHevxEpfWNltkb0fX+x+HLz1376VsOIHPVYNpXZcAsOz7B6yy0NYJudGjJfke63BbGi+ZIKdOVc4NDH0HRJnOeNlmKuy67WziPL0J2IxmNJaU2eoPjeL+64mhSnE5DulwwVpCruNJ8Wee82WJFYcr24WG/nGT/0AfKohk1+gAAAgA7UzPW3Wfs4l75kY4xsCao1A==xxc>
\ No newline at end of file
= Basic End-to-End Integration Test (basice2e)
This test runs several servers and clients as a smoke test against the
system. We run a multi node, multi message, multi user test of the
system over multiple rounds all over network traffic. The basic
structure is as follows:
* 5 Nodes, BatchSize of 4
* 5 Gateways, each connected to its own node
* User Discovery Bot
* Channel Bot
* Client sending 2 dummy messages per second, in order to fill batches
Then, the following tests are performed:
* 2 Clients (9 and 18) register with the system and UDB by Email
* These users look each other up on UDB
* Test is successful if the first line of gold output file matches
* The same 2 clients exchange E2E encrypted messages for 65s at a rate of 0.1msg/s
* This will result in clients sending 6 messages to each other
* It will also test that 2 rekeys on each side happen properly
* Test is successful if all the aforementioned messages are accounted for.
This is done by grep'ing the logs for sent messages, received messages, sent rekeys
and received rekeys, and comparing to gold output of 6, 6, 2, 2
* 4 Clients are started at two separate times and send messages to channel and to each other
* 2 messages to itself
* 1 message to each of the other clients
* Test is successful if all gold output files match for client conversations:
4-5, 5-6, 6-7, 7-4
For now, we do nothing on assertion of crypto, we just assume
api-level compliance with sending and receiving messages.
This test does not produce any results, but it does produce logs for each
server and client.
# ==================================
# Client Registrar Configuration
# ==================================
# Log message level (0 = info, 1 = debug, >1 = trace)
logLevel: 0
# Path to log file
logPath: "results/client-registrar.log"
# Public address, used in NDF it gives to client
publicAddress: "0.0.0.0:11421"
# The listening port of this server
port: 11421
# === REQUIRED FOR ENABLING TLS ===
# Path to the registration server private key file
keyPath: "../keys/cmix.rip.key"
# Path to the registration server certificate file
certPath: "../keys/cmix.rip.crt"
# Maximum number of connections per period
userRegCapacity: 1000
# How often the number of connections is reset
userRegLeakPeriod: "24h"
# Database connection information
dbUsername: "cmix"
dbPassword: ""
dbName: "cmix_server"
dbAddress: ""
# List of client codes to be added to the database (for testing)
clientRegCodes:
- "AAAA"
- "BBBB"
- "CCCC"
# Client Session Tests: this script will run the "old" `client` binary to init session files and setup the environment
# for the "new" `client-release` binary to run tests on the old session files.
set -e
#set -o xtrace
# --- Define variables to use for the test & local network ---
DEBUGLEVEL=${DEBUGLEVEL-1}
CLIENTOPTS="--password hello --ndf results/ndf.json --sendDelay 100 --waitTimeout 360 --unsafe-channel-creation -v $DEBUGLEVEL"
SERVERLOGS=results/servers
GATEWAYLOGS=results/gateways
UDBOUT=results/udb-console.txt
# --- Setup a local network ---
rm -rf client*.log blob* rick*.bin ben*.bin
rm -rf results.bak results
mkdir results
mkdir -p $SERVERLOGS
mkdir -p $GATEWAYLOGS
# Start the network
source network.sh
echo "DOWNLOADING TLS Cert..."
CMD="openssl s_client -showcerts -connect $(tr -d '[:space:]' < results/startgwserver.txt)"
echo $CMD
eval $CMD < /dev/null 2>&1 > "results/startgwcert.bin"
CMD="cat results/startgwcert.bin | openssl x509 -outform PEM"
echo $CMD
eval $CMD > "results/startgwcert.pem"
head "results/startgwcert.pem"
echo "DOWNLOADING NDF..."
CLIENTCMD="../bin/client getndf --gwhost $(tr -d '[:space:]' < results/startgwserver.txt) --cert results/startgwcert.pem"
eval $CLIENTCMD >> results/ndf.json 2>&1 &
PIDVAL=$!
echo "$CLIENTCMD -- $PIDVAL"
wait $PIDVAL
# ------------------------------------------------------------------------------
# TESTS BEGIN BELOW
# ------------------------------------------------------------------------------
# --- Pre-canned messaging to self ---
timeout 240s ../bin/client --password hello --ndf results/ndf.json --sendDelay 100 --waitTimeout 360 --unsafe-channel-creation -v 1 -l client9-master.log --sendCount 2 --receiveCount 2 -s blob9/blob9 --sendid 9 --destid 9 -m "Hi 9->9, with E2E Encryption"
timeout 240s ../bin/client-release --force-legacy --password hello --ndf results/ndf.json --sendDelay 100 --waitTimeout 360 --unsafe-channel-creation -v 1 -l client9-release.log --sendCount 2 --receiveCount 2 -s blob9/blob9 --sendid 9 --destid 9 -m "Hi 9->9, with E2E Encryption"
# --- Messaging to another use, E2E ---
# Init storage and request an E2E channel with each other
echo "SENDING E2E MESSAGES TO NEW USERS..."
CLIENTCMD="timeout 360s ../bin/client $CLIENTOPTS -l client42-master-init.log -s blob42 --writeContact rick42-contact.bin --unsafe -m \"Hello from Rick42 to myself, without E2E Encryption\""
eval $CLIENTCMD || true &
PIDVAL=$!
echo "$CLIENTCMD -- $PIDVAL"
wait $PIDVAL
CLIENTCMD="timeout 360s ../bin/client $CLIENTOPTS -l client43-master-init.log -s blob43 --writeContact ben43-contact.bin --destfile rick42-contact.bin --send-auth-request --sendCount 0 --receiveCount 0"
eval $CLIENTCMD || true &
PIDVAL2=$!
echo "$CLIENTCMD -- $PIDVAL"
echo "Waiting for contact files to be created..."
while [ ! -s ben43-contact.bin ]; do
sleep 1
done
# Get the user's IDs
TMPID=$(cat client42-master-init.log | grep -a "User\:" | awk -F' ' '{print $5}')
RICKID=${TMPID}
echo "RICK ID: $RICKID"
TMPID=$(cat client43-master-init.log | grep -a "User\:" | awk -F' ' '{print $5}')
BENID=${TMPID}
echo "BEN ID: $BENID"
# Confirm channel with each other
CLIENTCMD="timeout 360s ../bin/client $CLIENTOPTS -l client42-master-confirm.log -s blob42 --destfile ben43-contact.bin --sendCount 0 --receiveCount 0"
eval $CLIENTCMD || true &
PIDVAL=$!
echo "$CLIENTCMD -- $PIDVAL"
wait $PIDVAL
wait $PIDVAL2
# Send 5 messages to each other
CLIENTCMD="timeout 360s ../bin/client $CLIENTOPTS -l client42-master-send.log -s blob42 --destid b64:$BENID --sendCount 5 --receiveCount 5 -m \"Hello from Rick42, with E2E Encryption\""
eval $CLIENTCMD || true &
PIDVAL=$!
echo "$CLIENTCMD -- $PIDVAL"
CLIENTCMD="timeout 360s ../bin/client $CLIENTOPTS -l client43-master-send.log -s blob43 --destid b64:$RICKID --sendCount 5 --receiveCount 5 -m \"Hello from Ben43, with E2E Encryption\""
eval $CLIENTCMD || true &
PIDVAL2=$!
echo "$CLIENTCMD -- $PIDVAL"
wait $PIDVAL
wait $PIDVAL2
# Send 5 messages to each other with new client
CLIENTCMD="timeout 360s ../bin/client-release $CLIENTOPTS -l client42-release-send.log -s blob42 --force-legacy --destid b64:$BENID --sendCount 5 --receiveCount 5 -m \"Hello from Rick42, with E2E Encryption\""
eval $CLIENTCMD || true &
PIDVAL=$!
echo "$CLIENTCMD -- $PIDVAL"
CLIENTCMD="timeout 360s ../bin/client-release $CLIENTOPTS -l client43-release-send.log -s blob43 --force-legacy --destid b64:$RICKID --sendCount 5 --receiveCount 5 -m \"Hello from Ben43, with E2E Encryption\""
eval $CLIENTCMD || true &
PIDVAL2=$!
echo "$CLIENTCMD -- $PIDVAL"
wait $PIDVAL
wait $PIDVAL2
Message received: Hello from Niamh101, with E2E Encryption
Message received: Hello from Niamh101, with E2E Encryption
Message received: Hello from Niamh101, with E2E Encryption
Message received: Hello from Niamh101, with E2E Encryption
Message received: Hello from Niamh101, with E2E Encryption
Message received: Hello from Niamh101, with E2E Encryption
Message received: Hello from Niamh101, with E2E Encryption
Message received: Hello from Niamh101, with E2E Encryption
Message received: Hello from Niamh101, with E2E Encryption
Message received: Hello from Niamh101, with E2E Encryption
Message received: Hello from Niamh101, with E2E Encryption
Message received: Hello from Niamh101, with E2E Encryption
Message received: Hello from Niamh101, with E2E Encryption
Message received: Hello from Niamh101, with E2E Encryption
Message received: Hello from Niamh101, with E2E Encryption
Message received: Hello from Niamh101, with E2E Encryption
Message received: Hello from Niamh101, with E2E Encryption
Message received: Hello from Niamh101, with E2E Encryption
Message received: Hello from Niamh101, with E2E Encryption
Message received: Hello from Niamh101, with E2E Encryption
Message received: type is KeyExchangeConfirm
Message received: type is KeyExchangeTrigger
Received 0
Received 0
Received 20
Sent: Hello from Jake100, with E2E Encryption
Sent: Hello from Jake100, with E2E Encryption
Sent: Hello from Jake100, with E2E Encryption
Sent: Hello from Jake100, with E2E Encryption
Sent: Hello from Jake100, with E2E Encryption
Sent: Hello from Jake100, with E2E Encryption
Sent: Hello from Jake100, with E2E Encryption
Sent: Hello from Jake100, with E2E Encryption
Sent: Hello from Jake100, with E2E Encryption
Sent: Hello from Jake100, with E2E Encryption
Sent: Hello from Jake100, with E2E Encryption
Sent: Hello from Jake100, with E2E Encryption
Sent: Hello from Jake100, with E2E Encryption
Sent: Hello from Jake100, with E2E Encryption
Sent: Hello from Jake100, with E2E Encryption
Sent: Hello from Jake100, with E2E Encryption
Sent: Hello from Jake100, with E2E Encryption
Sent: Hello from Jake100, with E2E Encryption
Sent: Hello from Jake100, with E2E Encryption
Sent: Hello from Jake100, with E2E Encryption
Sent: Hello from Jake100, with E2E Encryption
Sent: Hello from Jake100, with E2E Encryption
Sent: Hello from Jake100, with E2E Encryption
Sent: Hello from Jake100, with E2E Encryption
Sent: Hello from Jake100, with E2E Encryption
Sent: Hello from Jake100, with E2E Encryption
Sent: Hello from Jake100, with E2E Encryption
Sent: Hello from Jake100, with E2E Encryption
Sent: Hello from Jake100, with E2E Encryption
Sent: Hello from Jake100, with E2E Encryption
Sent: Hello from Jake100, with E2E Encryption
Sent: Hello from Jake100, with E2E Encryption
Sent: Hello from Jake100, with E2E Encryption
Sent: Hello from Jake100, with E2E Encryption
Sent: Hello from Jake100, with E2E Encryption
Sent: Hello from Jake100, with E2E Encryption
Sent: Hello from Jake100, with E2E Encryption
Sent: Hello from Jake100, with E2E Encryption
Sent: Hello from Jake100, with E2E Encryption
Sent: Hello from Jake100, with E2E Encryption
Adding
Message received: Hello from Jake100, with E2E Encryption
Message received: Hello from Jake100, with E2E Encryption
Message received: Hello from Jake100, with E2E Encryption
Message received: Hello from Jake100, with E2E Encryption
Message received: Hello from Jake100, with E2E Encryption
Message received: Hello from Jake100, with E2E Encryption
Message received: Hello from Jake100, with E2E Encryption
Message received: Hello from Jake100, with E2E Encryption
Message received: Hello from Jake100, with E2E Encryption
Message received: Hello from Jake100, with E2E Encryption
Message received: Hello from Jake100, with E2E Encryption
Message received: Hello from Jake100, with E2E Encryption
Message received: Hello from Jake100, with E2E Encryption
Message received: Hello from Jake100, with E2E Encryption
Message received: Hello from Jake100, with E2E Encryption
Message received: Hello from Jake100, with E2E Encryption
Message received: Hello from Jake100, with E2E Encryption
Message received: Hello from Jake100, with E2E Encryption
Message received: Hello from Jake100, with E2E Encryption
Message received: Hello from Jake100, with E2E Encryption
Message received: Hello from Jake100, with E2E Encryption
Message received: Hello from Jake100, with E2E Encryption
Message received: Hello from Jake100, with E2E Encryption
Message received: Hello from Jake100, with E2E Encryption
Message received: Hello from Jake100, with E2E Encryption
Message received: Hello from Jake100, with E2E Encryption
Message received: Hello from Jake100, with E2E Encryption
Message received: Hello from Jake100, with E2E Encryption
Message received: Hello from Jake100, with E2E Encryption
Message received: Hello from Jake100, with E2E Encryption
Message received: Hello from Jake100, with E2E Encryption
Message received: Hello from Jake100, with E2E Encryption
Message received: Hello from Jake100, with E2E Encryption
Message received: Hello from Jake100, with E2E Encryption
Message received: Hello from Jake100, with E2E Encryption
Message received: Hello from Jake100, with E2E Encryption
Message received: Hello from Jake100, with E2E Encryption
Message received: Hello from Jake100, with E2E Encryption
Message received: Hello from Jake100, with E2E Encryption
Message received: Hello from Jake100, with E2E Encryption
Message received: type is KeyExchangeConfirm
Message received: type is KeyExchangeTrigger
Received 0
Received 20
Received 20
Sent: Hello from Niamh101, with E2E Encryption
Sent: Hello from Niamh101, with E2E Encryption
Sent: Hello from Niamh101, with E2E Encryption
Sent: Hello from Niamh101, with E2E Encryption
Sent: Hello from Niamh101, with E2E Encryption
Sent: Hello from Niamh101, with E2E Encryption
Sent: Hello from Niamh101, with E2E Encryption
Sent: Hello from Niamh101, with E2E Encryption
Sent: Hello from Niamh101, with E2E Encryption
Sent: Hello from Niamh101, with E2E Encryption
Sent: Hello from Niamh101, with E2E Encryption
Sent: Hello from Niamh101, with E2E Encryption
Sent: Hello from Niamh101, with E2E Encryption
Sent: Hello from Niamh101, with E2E Encryption
Sent: Hello from Niamh101, with E2E Encryption
Sent: Hello from Niamh101, with E2E Encryption
Sent: Hello from Niamh101, with E2E Encryption
Sent: Hello from Niamh101, with E2E Encryption
Sent: Hello from Niamh101, with E2E Encryption
Sent: Hello from Niamh101, with E2E Encryption
WARNING: unsafe channel creation enabled
Message received: Hello from Client120 to myself, without E2E Encryption
Message received: Hello from Client121, with E2E Encryption
Message received: Hello from Client121, with E2E Encryption
Message received: Hello from Client121, with E2E Encryption
Message received: Hello from Client121, with E2E Encryption
Message received: Hello from Client121, with E2E Encryption
Message received: Hello from Client121, with E2E Encryption after 121 restoring backup
Message received: Hello from Client121, with E2E Encryption after 121 restoring backup
Message received: Hello from Client121, with E2E Encryption after 121 restoring backup
Message received: Hello from Client121, with E2E Encryption after 121 restoring backup
Message received: Hello from Client121, with E2E Encryption after 121 restoring backup
Received 0
Received 0
Received 1
Received 5
Received 5
Sent: Hello from Client120 to myself, without E2E Encryption
Sent: Hello from Client120, with E2E Encryption
Sent: Hello from Client120, with E2E Encryption
Sent: Hello from Client120, with E2E Encryption
Sent: Hello from Client120, with E2E Encryption
Sent: Hello from Client120, with E2E Encryption
Sent: Hello from Client120, with E2E Encryption after 121 restoring backup
Sent: Hello from Client120, with E2E Encryption after 121 restoring backup
Sent: Hello from Client120, with E2E Encryption after 121 restoring backup
Sent: Hello from Client120, with E2E Encryption after 121 restoring backup
Sent: Hello from Client120, with E2E Encryption after 121 restoring backup
Adding
Backup update received.
Backup update received.
Message received: Hello from Client120, with E2E Encryption
Message received: Hello from Client120, with E2E Encryption
Message received: Hello from Client120, with E2E Encryption
Message received: Hello from Client120, with E2E Encryption
Message received: Hello from Client120, with E2E Encryption
Message received: Hello from Client120, with E2E Encryption after 121 restoring backup
Message received: Hello from Client120, with E2E Encryption after 121 restoring backup
Message received: Hello from Client120, with E2E Encryption after 121 restoring backup
Message received: Hello from Client120, with E2E Encryption after 121 restoring backup
Message received: Hello from Client120, with E2E Encryption after 121 restoring backup
Received 0
Received 0
Received 0
Received 5
Received 5
Sent: Hello from Client121, with E2E Encryption
Sent: Hello from Client121, with E2E Encryption
Sent: Hello from Client121, with E2E Encryption
Sent: Hello from Client121, with E2E Encryption
Sent: Hello from Client121, with E2E Encryption
Sent: Hello from Client121, with E2E Encryption after 121 restoring backup
Sent: Hello from Client121, with E2E Encryption after 121 restoring backup
Sent: Hello from Client121, with E2E Encryption after 121 restoring backup
Sent: Hello from Client121, with E2E Encryption after 121 restoring backup
Sent: Hello from Client121, with E2E Encryption after 121 restoring backup
WARNING: unsafe channel creation enabled
Message received: Hello from Jonah26, with E2E Encryption
Message received: Hello from Jonah26, with E2E Encryption
Message received: Hello from Jonah26, with E2E Encryption
Message received: Hello from Jonah26, with E2E Encryption
Message received: Hello from Jonah26, with E2E Encryption
Message received: Hello from Jonah26, with E2E Encryption
Message received: Hello from Jonah26, with E2E Encryption
Message received: Hello from Jonah26, with E2E Encryption
Message received: Hello from Jonah26, with E2E Encryption
Message received: Hello from Jonah26, with E2E Encryption
Message received: Hello from Josh25 to myself, without E2E Encryption
Received 0
Received 0
Received 0
Received 1
Received 5
Received 5
Sent: Hello from Josh25 to myself, without E2E Encryption
Sent: Hello from Josh25, with E2E Encryption
Sent: Hello from Josh25, with E2E Encryption
Sent: Hello from Josh25, with E2E Encryption
Sent: Hello from Josh25, with E2E Encryption
Sent: Hello from Josh25, with E2E Encryption
Sent: Hello from Josh25, with E2E Encryption
Sent: Hello from Josh25, with E2E Encryption
Sent: Hello from Josh25, with E2E Encryption
Sent: Hello from Josh25, with E2E Encryption
Sent: Hello from Josh25, with E2E Encryption
Adding
Message received: Hello from Josh25, with E2E Encryption
Message received: Hello from Josh25, with E2E Encryption
Message received: Hello from Josh25, with E2E Encryption
Message received: Hello from Josh25, with E2E Encryption
Message received: Hello from Josh25, with E2E Encryption
Message received: Hello from Josh25, with E2E Encryption
Message received: Hello from Josh25, with E2E Encryption
Message received: Hello from Josh25, with E2E Encryption
Message received: Hello from Josh25, with E2E Encryption
Message received: Hello from Josh25, with E2E Encryption
Received 0
Received 0
Received 0
Received 5
Received 5
Sent: Hello from Jonah26, with E2E Encryption
Sent: Hello from Jonah26, with E2E Encryption
Sent: Hello from Jonah26, with E2E Encryption
Sent: Hello from Jonah26, with E2E Encryption
Sent: Hello from Jonah26, with E2E Encryption
Sent: Hello from Jonah26, with E2E Encryption
Sent: Hello from Jonah26, with E2E Encryption
Sent: Hello from Jonah26, with E2E Encryption
Sent: Hello from Jonah26, with E2E Encryption
Sent: Hello from Jonah26, with E2E Encryption
WARNING: unsafe channel creation enabled
Message received: Hello from 2, without E2E Encryption
Message received: Hello from 2, without E2E Encryption
Message received: Hello from 2, without E2E Encryption
Message received: Hello from 2, without E2E Encryption
Message received: Hello from 2, without E2E Encryption
Received 5
Sent: Hello from 1, without E2E Encryption
Sent: Hello from 1, without E2E Encryption
Sent: Hello from 1, without E2E Encryption
Sent: Hello from 1, without E2E Encryption
Sent: Hello from 1, without E2E Encryption
Message received: Hello from 1, without E2E Encryption
Message received: Hello from 1, without E2E Encryption
Message received: Hello from 1, without E2E Encryption
Message received: Hello from 1, without E2E Encryption
Message received: Hello from 1, without E2E Encryption
Received 5
Sent: Hello from 2, without E2E Encryption
Sent: Hello from 2, without E2E Encryption
Sent: Hello from 2, without E2E Encryption
Sent: Hello from 2, without E2E Encryption
Sent: Hello from 2, without E2E Encryption
Message received: Hello from Ben43, with E2E Encryption
Message received: Hello from Ben43, with E2E Encryption
Message received: Hello from Ben43, with E2E Encryption
Message received: Hello from Ben43, with E2E Encryption
Message received: Hello from Ben43, with E2E Encryption
Message received: Hello from Ben43, with E2E Encryption
Message received: Hello from Ben43, with E2E Encryption
Message received: Hello from Ben43, with E2E Encryption
Message received: Hello from Ben43, with E2E Encryption
Message received: Hello from Ben43, with E2E Encryption
Message received: Hello from Ben43, with E2E Encryption
Message received: Hello from Ben43, with E2E Encryption
Message received: Hello from Ben43, with E2E Encryption
Message received: Hello from Ben43, with E2E Encryption
Message received: Hello from Ben43, with E2E Encryption
Message received: Hello from Ben43, with E2E Encryption
Message received: Hello from Ben43, with E2E Encryption
Message received: Hello from Ben43, with E2E Encryption
Message received: Hello from Ben43, with E2E Encryption
Message received: Hello from Ben43, with E2E Encryption
Message received: Hello from Rick42 to myself, without E2E Encryption
Message received: Waiting on renegotiation
Message received: Waiting on renegotiation
Message received: Waiting on renegotiation
Message received: Waiting on renegotiation
Message received: Waiting on renegotiation
Message received: Waiting on renegotiation
Message received: Waiting on renegotiation
Message received: Waiting on renegotiation
Message received: Waiting on renegotiation
Message received: Waiting on renegotiation
Received 0
Received 0
Received 0
Received 1
Received 10
Received 5
Received 5
Received 5
Received 5
Resetting
Sent: Hello from Rick42 to myself, without E2E Encryption
Sent: Hello from Rick42, with E2E Encryption
Sent: Hello from Rick42, with E2E Encryption
Sent: Hello from Rick42, with E2E Encryption
Sent: Hello from Rick42, with E2E Encryption
Sent: Hello from Rick42, with E2E Encryption
Sent: Hello from Rick42, with E2E Encryption
Sent: Hello from Rick42, with E2E Encryption
Sent: Hello from Rick42, with E2E Encryption
Sent: Hello from Rick42, with E2E Encryption
Sent: Hello from Rick42, with E2E Encryption
Sent: Hello from Rick42, with E2E Encryption
Sent: Hello from Rick42, with E2E Encryption
Sent: Hello from Rick42, with E2E Encryption
Sent: Hello from Rick42, with E2E Encryption
Sent: Hello from Rick42, with E2E Encryption
Sent: Hello from Rick42, with E2E Encryption
Sent: Hello from Rick42, with E2E Encryption
Sent: Hello from Rick42, with E2E Encryption
Sent: Hello from Rick42, with E2E Encryption
Sent: Hello from Rick42, with E2E Encryption
Sent: Waiting on renegotiation
Sent: Waiting on renegotiation
Sent: Waiting on renegotiation
Sent: Waiting on renegotiation
Sent: Waiting on renegotiation
Sent: Waiting on renegotiation
Sent: Waiting on renegotiation
Sent: Waiting on renegotiation
Sent: Waiting on renegotiation
Sent: Waiting on renegotiation
WARNING: unsafe channel creation enabled
Adding
Message received: Hello from Rick42, with E2E Encryption
Message received: Hello from Rick42, with E2E Encryption
Message received: Hello from Rick42, with E2E Encryption
Message received: Hello from Rick42, with E2E Encryption
Message received: Hello from Rick42, with E2E Encryption
Message received: Hello from Rick42, with E2E Encryption
Message received: Hello from Rick42, with E2E Encryption
Message received: Hello from Rick42, with E2E Encryption
Message received: Hello from Rick42, with E2E Encryption
Message received: Hello from Rick42, with E2E Encryption
Message received: Hello from Rick42, with E2E Encryption
Message received: Hello from Rick42, with E2E Encryption
Message received: Hello from Rick42, with E2E Encryption
Message received: Hello from Rick42, with E2E Encryption
Message received: Hello from Rick42, with E2E Encryption
Message received: Hello from Rick42, with E2E Encryption
Message received: Hello from Rick42, with E2E Encryption
Message received: Hello from Rick42, with E2E Encryption
Message received: Hello from Rick42, with E2E Encryption
Message received: Hello from Rick42, with E2E Encryption
Message received: Waiting on switching renegotiation
Message received: Waiting on switching renegotiation
Message received: Waiting on switching renegotiation
Message received: Waiting on switching renegotiation
Message received: Waiting on switching renegotiation
Message received: Waiting on switching renegotiation
Message received: Waiting on switching renegotiation
Message received: Waiting on switching renegotiation
Message received: Waiting on switching renegotiation
Message received: Waiting on switching renegotiation
Received 0
Received 0
Received 10
Received 5
Received 5
Received 5
Received 5
Resetting
Sent: Hello from Ben43, with E2E Encryption
Sent: Hello from Ben43, with E2E Encryption
Sent: Hello from Ben43, with E2E Encryption
Sent: Hello from Ben43, with E2E Encryption
Sent: Hello from Ben43, with E2E Encryption
Sent: Hello from Ben43, with E2E Encryption
Sent: Hello from Ben43, with E2E Encryption
Sent: Hello from Ben43, with E2E Encryption
Sent: Hello from Ben43, with E2E Encryption
Sent: Hello from Ben43, with E2E Encryption
Sent: Hello from Ben43, with E2E Encryption
Sent: Hello from Ben43, with E2E Encryption
Sent: Hello from Ben43, with E2E Encryption
Sent: Hello from Ben43, with E2E Encryption
Sent: Hello from Ben43, with E2E Encryption
Sent: Hello from Ben43, with E2E Encryption
Sent: Hello from Ben43, with E2E Encryption
Sent: Hello from Ben43, with E2E Encryption
Sent: Hello from Ben43, with E2E Encryption
Sent: Hello from Ben43, with E2E Encryption
Sent: Waiting on switching renegotiation
Sent: Waiting on switching renegotiation
Sent: Waiting on switching renegotiation
Sent: Waiting on switching renegotiation
Sent: Waiting on switching renegotiation
Sent: Waiting on switching renegotiation
Sent: Waiting on switching renegotiation
Sent: Waiting on switching renegotiation
Sent: Waiting on switching renegotiation
Sent: Waiting on switching renegotiation
WARNING: unsafe channel creation enabled
WARNING: unsafe channel creation enabled
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment