From 280d88faaf602812b9f435f95c4e85e431fb57f6 Mon Sep 17 00:00:00 2001 From: Vincent Bernardoff Date: Sat, 28 Apr 2018 10:19:21 +0200 Subject: [PATCH] TLS: add connectivity test --- src/bin_client/test/jbuild | 20 ++- src/bin_client/test/test_tls.sh | 21 +++ src/bin_client/tezos-init-sandboxed-client.sh | 12 +- src/bin_node/tezos-sandboxed-node.sh | 143 +++++++++++++++++- 4 files changed, 186 insertions(+), 10 deletions(-) create mode 100755 src/bin_client/test/test_tls.sh diff --git a/src/bin_client/test/jbuild b/src/bin_client/test/jbuild index 2f39f403d..8166dd713 100644 --- a/src/bin_client/test/jbuild +++ b/src/bin_client/test/jbuild @@ -102,6 +102,23 @@ ${bin:tezos-admin-client} )))) +(alias + ((name runtest_tls.sh) + (locks (/tcp-port/18731 + /tcp-port/19731)) + (deps (sandbox.json + test_lib.inc.sh + (glob_files demo/*) + )) + (action + (setenv USE_TLS true (run bash ${path:test_tls.sh} + ${bin:tezos-sandboxed-node.sh} + ${bin:tezos-node} + ${bin:tezos-init-sandboxed-client.sh} + ${bin:tezos-client} + ${bin:tezos-admin-client} + ))))) + (alias ((name runtest) (deps ((alias runtest_basic.sh) @@ -109,4 +126,5 @@ (alias runtest_multinode.sh) (alias runtest_injection.sh) (alias runtest_injection_alpha.sh) - (alias runtest_fork.sh))))) + (alias runtest_fork.sh) + (alias runtest_tls.sh))))) diff --git a/src/bin_client/test/test_tls.sh b/src/bin_client/test/test_tls.sh new file mode 100755 index 000000000..61edec2c4 --- /dev/null +++ b/src/bin_client/test/test_tls.sh @@ -0,0 +1,21 @@ +#! /usr/bin/env bash + +## from genesis to demo + +set -e + +test_dir="$(cd "$(dirname "$0")" && echo "$(pwd -P)")" +source $test_dir/test_lib.inc.sh "$@" + +start_node 1 + +show_logs="no" + +sleep 2 + +# Dummy command to test connection with node +$client bootstrapped + +echo +echo End of test +echo diff --git a/src/bin_client/tezos-init-sandboxed-client.sh b/src/bin_client/tezos-init-sandboxed-client.sh index fff0528cb..17267cba3 100755 --- a/src/bin_client/tezos-init-sandboxed-client.sh +++ b/src/bin_client/tezos-init-sandboxed-client.sh @@ -12,9 +12,15 @@ init_sandboxed_client() { rpc=$((18730 + id)) client_dir="$(mktemp -d -t tezos-tmp-client.XXXXXXXX)" client_dirs+=("$client_dir") - client="$local_client -base-dir $client_dir -addr 127.0.0.1 -port $rpc" - admin_client="$local_admin_client -base-dir $client_dir -addr 127.0.0.1 -port $rpc" - alpha_baker="$local_alpha_baker -base-dir $client_dir -addr 127.0.0.1 -port $rpc" + if [ -n "$USE_TLS" ]; then + client="$local_client -S -base-dir $client_dir -addr 127.0.0.1 -port $rpc" + admin_client="$local_admin_client -S -base-dir $client_dir -addr 127.0.0.1 -port $rpc" + alpha_baker="$local_alpha_baker -S -base-dir $client_dir -addr 127.0.0.1 -port $rpc" + else + client="$local_client -base-dir $client_dir -addr 127.0.0.1 -port $rpc" + admin_client="$local_admin_client -base-dir $client_dir -addr 127.0.0.1 -port $rpc" + alpha_baker="$local_alpha_baker -base-dir $client_dir -addr 127.0.0.1 -port $rpc" + fi parameters_file="${parameters_file:-$client_dir/protocol_parameters.json}" if ! [ -f "$parameters_file" ]; then diff --git a/src/bin_node/tezos-sandboxed-node.sh b/src/bin_node/tezos-sandboxed-node.sh index 7101931bd..dc47082f9 100755 --- a/src/bin_node/tezos-sandboxed-node.sh +++ b/src/bin_node/tezos-sandboxed-node.sh @@ -36,12 +36,143 @@ EOF node_dirs+=("$node_dir") - $node config init \ - --data-dir "$node_dir" \ - --net-addr "127.0.0.1:$port" \ - --rpc-addr "127.0.0.1:$rpc" \ - --expected-pow "$expected_pow" \ - --connections "$expected_connections" + if [ -n "$USE_TLS" ]; then + $node config init \ + --data-dir "$node_dir" \ + --net-addr "127.0.0.1:$port" \ + --rpc-addr "127.0.0.1:$rpc" \ + --rpc-tls "${node_dir}/tezos.crt,${node_dir}/tezos.key" \ + --expected-pow "$expected_pow" \ + --connections "$expected_connections" + + cat > "${node_dir}/tezos.crt" < "${node_dir}/tezos.key" <