# Normal tlsproxy tests.
#
-# Copyright (C) 2011 Simon Ruderich
+# Copyright (C) 2011-2012 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
# Handle empty $srcdir.
[ "x$srcdir" = x ] && srcdir=.
-. $srcdir/common.sh
+. "$srcdir/common.sh"
# Create necessary files.
cleanup
-$srcdir/../src/tlsproxy-setup >/dev/null 2>/dev/null
+"$srcdir/../src/tlsproxy-setup" >/dev/null 2>/dev/null
# Normal tests.
../src/tlsproxy -d2 4711 >/dev/null &
-server --x509certfile $srcdir/server.pem \
- --x509keyfile $srcdir/server-key.pem
+server --x509certfile "$srcdir/server.pem" \
+ --x509keyfile "$srcdir/server-key.pem"
sleep 1
test_invalid_certificate
# Create the proxy certificate.
-$srcdir/../src/tlsproxy-add localhost $srcdir/server.pem \
+"$srcdir/../src/tlsproxy-add" localhost "$srcdir/server.pem" \
>/dev/null 2>/dev/null
-rm -f certificate-localhost-server.pem
echo missing server certificate
+mv certificate-localhost-server.pem .pem
client localhost 4712 invalid || abort
+mv .pem certificate-localhost-server.pem
test_proxy_successful
test_invalid_certificate
-# Create the proxy and server certificate.
-$srcdir/../src/tlsproxy-add localhost $srcdir/server.pem \
- >/dev/null 2>/dev/null
+echo missing proxy certificate
+mv certificate-localhost-proxy.pem .pem
+client localhost 4712 invalid || abort
+mv .pem certificate-localhost-proxy.pem
+test_proxy_successful
+test_invalid_certificate
echo normal connection
# 'localhost' is the CN of tlsproxy's 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
+server --x509certfile "$srcdir/server-bad.pem" \
+ --x509keyfile "$srcdir/server-key.pem"
sleep 1
rm -f certificate-localhost-proxy.pem certificate-localhost-server.pem
test_invalid_certificate
# Create the proxy certificate.
-$srcdir/../src/tlsproxy-add localhost $srcdir/server.pem \
+"$srcdir/../src/tlsproxy-add" localhost "$srcdir/server.pem" \
>/dev/null 2>/dev/null
-rm -f certificate-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
test_proxy_successful
test_invalid_certificate
-# Create the proxy and server certificate.
-$srcdir/../src/tlsproxy-add localhost $srcdir/server.pem \
- >/dev/null 2>/dev/null
+echo mitm missing proxy certificate
+mv certificate-localhost-proxy.pem .pem
+client localhost 4712 invalid || abort
+mv .pem certificate-localhost-proxy.pem
+test_proxy_successful
+test_invalid_certificate
echo mitm normal connection
client localhost 4712 invalid || abort