From 378696c83190bf11da1d8e838316e5e4a9207e6c Mon Sep 17 00:00:00 2001
From: Spencer Brown <spencer@privategrity.com>
Date: Thu, 14 Feb 2019 14:57:06 -0800
Subject: [PATCH] Add TLS support and use different user IDs

---
 basice2e/clients.goldoutput/client12.out      |  5 ----
 basice2e/clients.goldoutput/client23.out      |  5 ----
 basice2e/clients.goldoutput/client34.out      |  5 ----
 basice2e/clients.goldoutput/client41.out      |  5 ----
 basice2e/clients.goldoutput/client45.out      |  5 ++++
 basice2e/clients.goldoutput/client5.out       |  2 --
 basice2e/clients.goldoutput/client56.out      |  5 ++++
 basice2e/clients.goldoutput/client67.out      |  5 ++++
 basice2e/clients.goldoutput/client74.out      |  5 ++++
 basice2e/clients.goldoutput/client8.out       |  2 ++
 .../{client6.out => client9.out}              |  2 +-
 basice2e/gateway.yaml                         |  6 +++++
 basice2e/run.sh                               | 24 +++++++++----------
 basice2e/server-1.yaml                        |  3 +++
 basice2e/server-2.yaml                        |  3 +++
 basice2e/server-3.yaml                        |  3 +++
 basice2e/server-4.yaml                        |  3 +++
 basice2e/server-5.yaml                        |  3 +++
 basice2e/udb.yaml                             |  1 +
 build.sh                                      | 19 ++++++++-------
 update.sh                                     |  1 +
 21 files changed, 68 insertions(+), 44 deletions(-)
 delete mode 100644 basice2e/clients.goldoutput/client12.out
 delete mode 100644 basice2e/clients.goldoutput/client23.out
 delete mode 100644 basice2e/clients.goldoutput/client34.out
 delete mode 100644 basice2e/clients.goldoutput/client41.out
 create mode 100644 basice2e/clients.goldoutput/client45.out
 delete mode 100644 basice2e/clients.goldoutput/client5.out
 create mode 100644 basice2e/clients.goldoutput/client56.out
 create mode 100644 basice2e/clients.goldoutput/client67.out
 create mode 100644 basice2e/clients.goldoutput/client74.out
 create mode 100644 basice2e/clients.goldoutput/client8.out
 rename basice2e/clients.goldoutput/{client6.out => client9.out} (93%)

diff --git a/basice2e/clients.goldoutput/client12.out b/basice2e/clients.goldoutput/client12.out
deleted file mode 100644
index a7b388d..0000000
--- a/basice2e/clients.goldoutput/client12.out
+++ /dev/null
@@ -1,5 +0,0 @@
-Sending Message to 2, Jim: Hello, 2
-Message from channel 31, #General: Message from 5, Spencer Received: Channel, Hello
-Message from 4, Rick Received: Hello, 1
-Sending Message to 2, Jim: Hello, 2
-Message from 4, Rick Received: Hello, 1
diff --git a/basice2e/clients.goldoutput/client23.out b/basice2e/clients.goldoutput/client23.out
deleted file mode 100644
index d46afc3..0000000
--- a/basice2e/clients.goldoutput/client23.out
+++ /dev/null
@@ -1,5 +0,0 @@
-Sending Message to 3, Ben: Hello, 3
-Message from channel 31, #General: Message from 5, Spencer Received: Channel, Hello
-Message from 1, David Received: Hello, 2
-Sending Message to 3, Ben: Hello, 3
-Message from 1, David Received: Hello, 2
diff --git a/basice2e/clients.goldoutput/client34.out b/basice2e/clients.goldoutput/client34.out
deleted file mode 100644
index 6d36cb9..0000000
--- a/basice2e/clients.goldoutput/client34.out
+++ /dev/null
@@ -1,5 +0,0 @@
-Sending Message to 4, Rick: Hello, 4
-Message from channel 31, #General: Message from 5, Spencer Received: Channel, Hello
-Message from 2, Jim Received: Hello, 3
-Sending Message to 4, Rick: Hello, 4
-Message from 2, Jim Received: Hello, 3
diff --git a/basice2e/clients.goldoutput/client41.out b/basice2e/clients.goldoutput/client41.out
deleted file mode 100644
index 1d83221..0000000
--- a/basice2e/clients.goldoutput/client41.out
+++ /dev/null
@@ -1,5 +0,0 @@
-Sending Message to 1, David: Hello, 1
-Message from channel 31, #General: Message from 5, Spencer Received: Channel, Hello
-Message from 3, Ben Received: Hello, 4
-Sending Message to 1, David: Hello, 1
-Message from 3, Ben Received: Hello, 4
diff --git a/basice2e/clients.goldoutput/client45.out b/basice2e/clients.goldoutput/client45.out
new file mode 100644
index 0000000..ee33c10
--- /dev/null
+++ b/basice2e/clients.goldoutput/client45.out
@@ -0,0 +1,5 @@
+Sending Message to 5, Ben: Hello, 5
+Message from channel 31, #General: Message from 8, Jake Received: Channel, Hello
+Message from 7, Rick Received: Hello, 4
+Sending Message to 5, Ben: Hello, 5
+Message from 7, Rick Received: Hello, 4
diff --git a/basice2e/clients.goldoutput/client5.out b/basice2e/clients.goldoutput/client5.out
deleted file mode 100644
index 0cd5f35..0000000
--- a/basice2e/clients.goldoutput/client5.out
+++ /dev/null
@@ -1,2 +0,0 @@
-Sending Message to 31, #General: Channel, Hello
-Message from channel 31, #General: Message from 5, Spencer Received: Channel, Hello
diff --git a/basice2e/clients.goldoutput/client56.out b/basice2e/clients.goldoutput/client56.out
new file mode 100644
index 0000000..5195898
--- /dev/null
+++ b/basice2e/clients.goldoutput/client56.out
@@ -0,0 +1,5 @@
+Sending Message to 6, Steph: Hello, 6
+Message from channel 31, #General: Message from 8, Jake Received: Channel, Hello
+Message from 4, Jim Received: Hello, 5
+Sending Message to 6, Steph: Hello, 6
+Message from 4, Jim Received: Hello, 5
diff --git a/basice2e/clients.goldoutput/client67.out b/basice2e/clients.goldoutput/client67.out
new file mode 100644
index 0000000..6a43c17
--- /dev/null
+++ b/basice2e/clients.goldoutput/client67.out
@@ -0,0 +1,5 @@
+Sending Message to 7, Rick: Hello, 7
+Message from channel 31, #General: Message from 8, Jake Received: Channel, Hello
+Message from 5, Ben Received: Hello, 6
+Sending Message to 7, Rick: Hello, 7
+Message from 5, Ben Received: Hello, 6
diff --git a/basice2e/clients.goldoutput/client74.out b/basice2e/clients.goldoutput/client74.out
new file mode 100644
index 0000000..65a54b0
--- /dev/null
+++ b/basice2e/clients.goldoutput/client74.out
@@ -0,0 +1,5 @@
+Sending Message to 4, Jim: Hello, 4
+Message from channel 31, #General: Message from 8, Jake Received: Channel, Hello
+Message from 6, Steph Received: Hello, 7
+Sending Message to 4, Jim: Hello, 4
+Message from 6, Steph Received: Hello, 7
diff --git a/basice2e/clients.goldoutput/client8.out b/basice2e/clients.goldoutput/client8.out
new file mode 100644
index 0000000..abe847f
--- /dev/null
+++ b/basice2e/clients.goldoutput/client8.out
@@ -0,0 +1,2 @@
+Sending Message to 31, #General: Channel, Hello
+Message from channel 31, #General: Message from 8, Jake Received: Channel, Hello
diff --git a/basice2e/clients.goldoutput/client6.out b/basice2e/clients.goldoutput/client9.out
similarity index 93%
rename from basice2e/clients.goldoutput/client6.out
rename to basice2e/clients.goldoutput/client9.out
index 8f1f6d2..bbb2d45 100644
--- a/basice2e/clients.goldoutput/client6.out
+++ b/basice2e/clients.goldoutput/client9.out
@@ -1,2 +1,2 @@
 UDB registration successful.
-UDB search successful. Returned user 6, public key "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00this is not a real public key"
+UDB search successful. Returned user 9, public key "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00this is not a real public key"
diff --git a/basice2e/gateway.yaml b/basice2e/gateway.yaml
index eeffe0d..3bb6236 100644
--- a/basice2e/gateway.yaml
+++ b/basice2e/gateway.yaml
@@ -7,6 +7,8 @@
 # Output log file
 log: "results/gateway.log"
 
+verbose: "true"
+
 # The cMix nodes in the network
 cMixNodes:
  - "localhost:50000"
@@ -24,6 +26,10 @@ GatewayAddress: "localhost:8443"
 # deleted from the user's message queue
 MessageTimeout: 1800
 
+keyPath: "/home/spencer/go/src/gitlab.com/elixxir/integration/keys/gateway.cmix.rip.key"
+certPath: "/home/spencer/go/src/gitlab.com/elixxir/integration/keys/gateway.cmix.rip.crt"
+serverCertPath: "/home/spencer/go/src/gitlab.com/elixxir/integration/keys/cmix.rip.crt"
+
 ### Anything below this line is to be deprecated ###
 
 # Number of nodes in the cMix Network
diff --git a/basice2e/run.sh b/basice2e/run.sh
index 50ec125..c8fb00a 100755
--- a/basice2e/run.sh
+++ b/basice2e/run.sh
@@ -23,9 +23,9 @@ for SERVERID in $(seq 5 -1 1)
 do
     IDX=$(($SERVERID - 1))
     SERVERCMD="../bin/server -v -i $IDX --config server-$SERVERID.yaml"
-    if [ $SERVERID -eq 4 ]; then
-        sleep 15 # This will force a CDE timeout
-    fi
+#    if [ $SERVERID -eq 4 ]; then
+#        sleep 15 # This will force a CDE timeout
+#    fi
     $SERVERCMD > $SERVERLOGS/server-$SERVERID.console 2>&1 &
     PIDVAL=$!
     echo "$SERVERCMD -- $PIDVAL"
@@ -57,7 +57,7 @@ runclients() {
     echo "Starting clients..."
     CTR=0
 
-    for cid in $(seq 1 4)
+    for cid in $(seq 4 7)
     do
         # TODO: Change the recipients to send multiple messages. We can't
         #       run multiple clients with the same user id so we need
@@ -66,10 +66,10 @@ runclients() {
 
         for nid in 1
         do
-            nid=$((($cid % 4) + 1))
+            nid=$(((($cid + 1) % 4) + 4))
             eval NICK=\${NICK${cid}}
             # Send a regular message
-            CLIENTCMD="timeout 240s ../bin/client -f blob$cid --numnodes 5 -g $GATEWAY -i $cid -d $nid -m \"Hello, $nid\""
+            CLIENTCMD="timeout 80s ../bin/client -f blob$cid --numnodes 5 -g $GATEWAY -i $cid -d $nid -m \"Hello, $nid\""
             eval $CLIENTCMD >> $CLIENTOUT/client$cid$nid.out 2>&1 &
             PIDVAL=$!
             eval CLIENTS${CTR}=$PIDVAL
@@ -87,7 +87,7 @@ runclients() {
 }
 
 # Start a channelbot server
-CHANNELCMD="../bin/channelbot -v -i 31 --numnodes 5 -g $GATEWAY -f blobchannel"
+CHANNELCMD="../bin/channelbot -v -i 31 --numnodes 5 --certpath ..//keys/gateway.cmix.rip.crt -g $GATEWAY -f blobchannel"
 $CHANNELCMD >> $CHANNELOUT 2>&1 &
 PIDVAL=$!
 echo $PIDVAL >> results/serverpids
@@ -101,7 +101,7 @@ echo $PIDVAL >> results/serverpids
 echo "$UDBCMD -- $PIDVAL"
 
 # Start a dummy client
-DUMMYCMD="../bin/client -i 35 -d 35 -g $GATEWAY --numnodes 5 -m \"dummy\" --dummyfrequency 2 -f blobdummy"
+DUMMYCMD="../bin/client -i 35 -d 35 -g $GATEWAY --numnodes 5 -m \"dummy\" --dummyfrequency 2 --certpath /home/spencer/go/src/gitlab.com/elixxir/integration/keys/gateway.cmix.rip.crt -f blobdummy"
 $DUMMYCMD >> $DUMMYOUT 2>&1 &
 PIDVAL=$!
 echo $PIDVAL >> results/serverpids
@@ -117,16 +117,16 @@ echo "$GATEWAYCMD -- $PIDVAL"
 # Send a registration command
 cat registration-commands.txt | while read LINE
 do
-    CLIENTCMD="timeout 240s ../bin/client -f blob6 --numnodes 5 -g $GATEWAY -i 6 -d 13 -m \"$LINE\""
-    eval $CLIENTCMD >> $CLIENTOUT/client6.out 2>&1 &
+    CLIENTCMD="timeout 240s ../bin/client -f blob9 --numnodes 5 -g $GATEWAY -i 9 -d 3 --certpath /home/spencer/go/src/gitlab.com/elixxir/integration/keys/gateway.cmix.rip.crt -m \"$LINE\""
+    eval $CLIENTCMD >> $CLIENTOUT/client9.out 2>&1 &
     PIDVAL=$!
     echo "$CLIENTCMD -- $PIDVAL"
     wait $PIDVAL
 done
 
 # Send a channel message that all clients will receive
-CLIENTCMD="timeout 240s ../bin/client -f blob5 --numnodes 5 -g $GATEWAY -i 5 -d 31 -m \"Channel, Hello\""
-eval $CLIENTCMD >> $CLIENTOUT/client5.out 2>&1 &
+CLIENTCMD="timeout 240s ../bin/client -f blob8 --numnodes 5 --certpath /home/spencer/go/src/gitlab.com/elixxir/integration/keys/gateway.cmix.rip.crt -g $GATEWAY -i 8 -d 31 -m \"Channel, Hello\""
+eval $CLIENTCMD >> $CLIENTOUT/client8.out 2>&1 &
 PIDVAL=$!
 echo "$CLIENTCMD -- $PIDVAL"
 wait $PIDVAL
diff --git a/basice2e/server-1.yaml b/basice2e/server-1.yaml
index 6addd7e..b45f9da 100644
--- a/basice2e/server-1.yaml
+++ b/basice2e/server-1.yaml
@@ -18,3 +18,6 @@ servers:
     - localhost:50004
 gateways:
     - "localhost:8443"
+keyPath: "/home/spencer/go/src/gitlab.com/elixxir/integration/keys/cmix.rip.key"
+certPath: "/home/spencer/go/src/gitlab.com/elixxir/integration/keys/cmix.rip.crt"
+gatewayCertPath: "/home/spencer/go/src/gitlab.com/elixxir/integration/keys/gateway.cmix.rip.crt"
diff --git a/basice2e/server-2.yaml b/basice2e/server-2.yaml
index 6480e9a..9b68cc1 100644
--- a/basice2e/server-2.yaml
+++ b/basice2e/server-2.yaml
@@ -18,3 +18,6 @@ servers:
     - localhost:50004
 gateways:
     - "localhost:8443"
+keyPath: "/home/spencer/go/src/gitlab.com/elixxir/integration/keys/cmix.rip.key"
+certPath: "/home/spencer/go/src/gitlab.com/elixxir/integration/keys/cmix.rip.crt"
+gatewayCertPath: "/home/spencer/go/src/gitlab.com/elixxir/integration/keys/gateway.cmix.rip.crt"
diff --git a/basice2e/server-3.yaml b/basice2e/server-3.yaml
index b61dde4..3ef2c5b 100644
--- a/basice2e/server-3.yaml
+++ b/basice2e/server-3.yaml
@@ -18,3 +18,6 @@ servers:
     - localhost:50004
 gateways:
     - "localhost:8443"
+keyPath: "/home/spencer/go/src/gitlab.com/elixxir/integration/keys/cmix.rip.key"
+certPath: "/home/spencer/go/src/gitlab.com/elixxir/integration/keys/cmix.rip.crt"
+gatewayCertPath: "/home/spencer/go/src/gitlab.com/elixxir/integration/keys/gateway.cmix.rip.crt"
diff --git a/basice2e/server-4.yaml b/basice2e/server-4.yaml
index af75d86..ae783b9 100644
--- a/basice2e/server-4.yaml
+++ b/basice2e/server-4.yaml
@@ -18,3 +18,6 @@ servers:
     - localhost:50004
 gateways:
     - "localhost:8443"
+keyPath: "/home/spencer/go/src/gitlab.com/elixxir/integration/keys/cmix.rip.key"
+certPath: "/home/spencer/go/src/gitlab.com/elixxir/integration/keys/cmix.rip.crt"
+gatewayCertPath: "/home/spencer/go/src/gitlab.com/elixxir/integration/keys/gateway.cmix.rip.crt"
diff --git a/basice2e/server-5.yaml b/basice2e/server-5.yaml
index 81e5a27..924ae58 100644
--- a/basice2e/server-5.yaml
+++ b/basice2e/server-5.yaml
@@ -18,3 +18,6 @@ servers:
     - localhost:50004
 gateways:
     - "localhost:8443"
+keyPath: "/home/spencer/go/src/gitlab.com/elixxir/integration/keys/cmix.rip.key"
+certPath: "/home/spencer/go/src/gitlab.com/elixxir/integration/keys/cmix.rip.crt"
+gatewayCertPath: "/home/spencer/go/src/gitlab.com/elixxir/integration/keys/gateway.cmix.rip.crt"
diff --git a/basice2e/udb.yaml b/basice2e/udb.yaml
index 9964e10..59d8da7 100644
--- a/basice2e/udb.yaml
+++ b/basice2e/udb.yaml
@@ -3,3 +3,4 @@ logPath: "logfile.log"
 numNodes: 5
 gateways:
     - "localhost:8443"
+certPath: "/home/spencer/go/src/gitlab.com/elixxir/integration/keys/gateway.cmix.rip.crt"
diff --git a/build.sh b/build.sh
index ed73f97..a3b33d1 100755
--- a/build.sh
+++ b/build.sh
@@ -6,33 +6,34 @@
 
 mkdir -p bin
 
+build() {
+    #go generate cmd/version.go
+    go build
+}
+
 pushd $GOPATH/src/gitlab.com/elixxir/client
-go generate cmd/version.go
-go build
+build
 popd
 mv $GOPATH/src/gitlab.com/elixxir/client/client bin
 
 pushd $GOPATH/src/gitlab.com/elixxir/server
-go generate cmd/version.go
-go build
+build
 popd
 mv $GOPATH/src/gitlab.com/elixxir/server/server bin
 
 pushd $GOPATH/src/gitlab.com/elixxir/channelbot
-go generate cmd/version.go
-go build
+build
 popd
 mv $GOPATH/src/gitlab.com/elixxir/channelbot/channelbot bin
 
 UDBPATH=gitlab.com/elixxir/user-discovery-bot
 pushd $GOPATH/src/$UDBPATH
-go generate cmd/version.go
+#go generate cmd/version.go
 popd
 go build -o udb $UDBPATH
 mv ./udb bin
 
 pushd $GOPATH/src/gitlab.com/elixxir/gateway
-go generate cmd/version.go
-go build
+build
 popd
 mv $GOPATH/src/gitlab.com/elixxir/gateway/gateway bin
diff --git a/update.sh b/update.sh
index bb5893d..791e482 100755
--- a/update.sh
+++ b/update.sh
@@ -7,6 +7,7 @@ git pull
 rm -fr ~/.glide
 
 update() {
+    git stash
     git clean -ffdx
     git checkout master
     git pull
-- 
GitLab