From 9827c485274b4d90a10a20ef2259cc003a1aa8ab Mon Sep 17 00:00:00 2001 From: kytv <kytv@mail.i2p> Date: Sun, 29 Jun 2014 11:27:57 +0000 Subject: [PATCH] checkremotecerts.sh: support for ports --- tests/scripts/checkremotecerts.sh | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/tests/scripts/checkremotecerts.sh b/tests/scripts/checkremotecerts.sh index debc06f879..87e212f996 100755 --- a/tests/scripts/checkremotecerts.sh +++ b/tests/scripts/checkremotecerts.sh @@ -4,7 +4,7 @@ set -u BASEDIR="$(dirname $0)/../../" cd "$BASEDIR" -RESEEDHOSTS=$(sed -e '/^\s\+"https:\/\/[-a-z0-9.]/!d' -e 's/.*"https:\/\/\([-a-z0-9.]\+\).*/\1/' router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java) +RESEEDHOSTS=$(sed -e '/^\s\+"https:\/\/[-a-z0-9.]/!d' -e 's/.*"https:\/\/\([-a-z0-9.:]\+\).*/\1/' router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java) CERTHOME="installer/resources/certificates" CACERTS=$(mktemp) WORK=$(mktemp -d) @@ -81,9 +81,9 @@ normalize(){ connect() { if [ $OPENSSL -eq 1 ]; then - $OPENSSL_BIN s_client -connect "$1:443" -CAfile $CACERTS -servername $1 < /dev/null 2> /dev/null + $OPENSSL_BIN s_client -connect "$1:$2" -CAfile $CACERTS -servername $1 < /dev/null 2> /dev/null else - $GNUTLS_BIN --insecure --print-cert --x509cafile "$CACERTS" "$1" < /dev/null 2>/dev/null + $GNUTLS_BIN --insecure --print-cert --x509cafile "$CACERTS" "$1" -p "$2" < /dev/null 2>/dev/null fi } @@ -119,8 +119,20 @@ cleanup() { check_hosts() { for HOST in $RESEEDHOSTS; do - echo -n "Checking $HOST..." - if retry connect "$HOST" < /dev/null 1> "$WORK/$HOST"; then + if $(echo $HOST | grep -q ':'); then + OLDIFS=$IFS + IFS=":" + set -- $HOST + HOSTNAME=$1 + PORT=$2 + IFS=$OLDIFS + else + HOSTNAME=$HOST + PORT=443 + fi + + echo -n "Checking $HOSTNAME:$PORT..." + if retry connect "$HOSTNAME" "$PORT" < /dev/null 1> "$WORK/$HOST"; then # OpenSSL returns "return code: 0 (ok)" # GnuTLS returns "certificate is trusted" -- GitLab