X-Git-Url: https://ruderich.org/simon/gitweb/?p=tlsproxy%2Ftlsproxy.git;a=blobdiff_plain;f=tests%2Ftests-normal.sh;h=a278619778a48f29d64639368502cd0bd824653e;hp=44eda5b17883b3fa4da5c9e7a0d5fd3cc7dbd315;hb=7eba49d24d56288d83746f3f0ce383d7c0c36552;hpb=2dbdea63819880d93ab60ca743b4cf09abffc777 diff --git a/tests/tests-normal.sh b/tests/tests-normal.sh index 44eda5b..a278619 100755 --- a/tests/tests-normal.sh +++ b/tests/tests-normal.sh @@ -2,7 +2,7 @@ # Normal tlsproxy tests. # -# Copyright (C) 2011-2013 Simon Ruderich +# Copyright (C) 2011-2014 Simon Ruderich # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -24,95 +24,93 @@ test "x$srcdir" = x && srcdir=. # Create necessary files. cleanup -"$srcdir/../src/tlsproxy-setup" >/dev/null 2>/dev/null +tlsproxy_setup # Normal tests. -../src/tlsproxy -d2 4711 >/dev/null & -server --x509certfile "$srcdir/server.pem" \ - --x509keyfile "$srcdir/server-key.pem" -sleep 1 +tlsproxy_background 4711 +server_background --x509certfile "$srcdir/server.pem" \ + --x509keyfile "$srcdir/server-key.pem" +wait_for_ports 4711 4712 echo invalid hostname -client unknown-host 80 - && abort +client unknown-host 80 - && abort 'client unknown-host 80 -' test_proxy_failure test_no_invalid_certificate echo missing proxy and server certificate -client localhost 4712 invalid || abort +client localhost 4712 invalid || abort 'client localhost 4712 invalid' test_proxy_successful test_invalid_certificate # Create the proxy certificate. -"$srcdir/../src/tlsproxy-add" localhost "$srcdir/server.pem" \ - >/dev/null 2>/dev/null +tlsproxy_add localhost server.pem echo missing server certificate mv certificate-localhost-server.pem .pem -client localhost 4712 invalid || abort +client localhost 4712 invalid || abort 'client localhost 4712 invalid' mv .pem certificate-localhost-server.pem test_proxy_successful test_invalid_certificate echo missing proxy certificate -mv certificate-localhost-proxy.pem .pem -client localhost 4712 invalid || abort -mv .pem certificate-localhost-proxy.pem +mv certificate-localhost-proxy.pem certificate-www.localhost-proxy.pem +client localhost 4712 invalid || abort 'client localhost 4712 invalid' +mv certificate-www.localhost-proxy.pem certificate-localhost-proxy.pem test_proxy_successful test_invalid_certificate echo normal connection # 'localhost' is the CN of tlsproxy's certificate. -client localhost 4712 localhost || abort +client localhost 4712 localhost || abort 'client localhost 4712 localhost' test_proxy_successful test_no_invalid_certificate # Stop server and try a "MITM" with a bad certificate. echo -pkill -n gnutls-serv -server --x509certfile "$srcdir/server-bad.pem" \ - --x509keyfile "$srcdir/server-key.pem" -sleep 1 +kill $pid_server || echo 'failed to kill gnutls-serv' +sleep 3 # necessary on some systems like OpenBSD +server_background --x509certfile "$srcdir/server-bad.pem" \ + --x509keyfile "$srcdir/server-key.pem" +wait_for_ports 4712 rm -f certificate-localhost-proxy.pem certificate-localhost-server.pem echo mitm invalid hostname -client unknown-host 80 - && abort +client unknown-host 80 - && abort 'client unknown-host 80 -' test_proxy_failure test_no_invalid_certificate echo mitm missing proxy and server certificate -client localhost 4712 invalid || abort +client localhost 4712 invalid || abort 'client localhost 4712 invalid' test_proxy_successful test_invalid_certificate # Create the proxy certificate. -"$srcdir/../src/tlsproxy-add" localhost "$srcdir/server.pem" \ - >/dev/null 2>/dev/null +tlsproxy_add localhost server.pem echo mitm missing server certificate -mv certificate-localhost-server.pem .pem -client localhost 4712 invalid || abort -mv .pem certificate-localhost-server.pem +mv certificate-localhost-server.pem certificate-www.localhost-server.pem +client localhost 4712 invalid || abort 'client localhost 4712 invalid' +mv certificate-www.localhost-server.pem certificate-localhost-server.pem test_proxy_successful test_invalid_certificate echo mitm missing proxy certificate -mv certificate-localhost-proxy.pem .pem -client localhost 4712 invalid || abort -mv .pem certificate-localhost-proxy.pem +mv certificate-localhost-proxy.pem certificate-www.localhost-proxy.pem +client localhost 4712 invalid || abort 'client localhost 4712 invalid' +mv certificate-www.localhost-proxy.pem certificate-localhost-proxy.pem test_proxy_successful test_invalid_certificate echo mitm normal connection -client localhost 4712 invalid || abort +client localhost 4712 invalid || abort 'client localhost 4712 invalid' test_proxy_successful test_invalid_certificate -stop_servers +# stop_servers in trap-handler cleanup -rm -f tmp exit 0