3
3
4
4
[ -n " ${DEBUG+x} " ] && set -x
5
5
6
- OVPN_DATA=" basic -data"
6
+ OVPN_DATA=" ovpn-revoke-test -data"
7
7
CLIENT1=" travis-client1"
8
8
CLIENT2=" travis-client2"
9
9
IMG=" kylemanna/openvpn"
10
- NAME=" ovpn-test"
10
+ NAME=" ovpn-revoke- test"
11
11
CLIENT_DIR=" $( readlink -f " $( dirname " $BASH_SOURCE " ) /../../client" ) "
12
12
SERV_IP=" $( ip -4 -o addr show scope global | awk ' {print $4}' | sed -e ' s:/.*::' | head -n1) "
13
13
@@ -18,18 +18,21 @@ docker volume create --name $OVPN_DATA
18
18
docker run --rm -v $OVPN_DATA :/etc/openvpn $IMG ovpn_genconfig -u udp://$SERV_IP
19
19
docker run --rm -v $OVPN_DATA :/etc/openvpn -it -e " EASYRSA_BATCH=1" -e " EASYRSA_REQ_CN=Travis-CI Test CA" $IMG ovpn_initpki nopass
20
20
21
- #
22
- # Fire up the server.
23
- #
24
- sudo iptables -N DOCKER || echo ' Firewall already configured'
25
- sudo iptables -I FORWARD 1 -j DOCKER
26
- docker run -d -v $OVPN_DATA :/etc/openvpn --cap-add=NET_ADMIN --privileged -p 1194:1194/udp --name $NAME $IMG
21
+ # Register clean-up function
22
+ function finish {
23
+ # Stop the server and clean up
24
+ docker rm -f $NAME
25
+ docker volume rm $OVPN_DATA
26
+ }
27
+ trap finish EXIT
27
28
29
+ # Put the server in the background
30
+ docker run -d -v $OVPN_DATA :/etc/openvpn --cap-add=NET_ADMIN -p 1194:1194/udp --name $NAME $IMG
28
31
29
32
#
30
33
# Test that easy_rsa generate CRLs with 'next publish' set to 3650 days.
31
34
#
32
- crl_next_update=" $( docker exec $NAME openssl crl -nextupdate -noout -in /etc/openvpn/ crl.pem | cut -d' =' -f2 | tr -d ' GMT' ) "
35
+ crl_next_update=" $( docker exec $NAME bash -c " openssl crl -nextupdate -noout -in \$ EASYRSA_PKI/ crl.pem | cut -d'=' -f2 | tr -d 'GMT'" ) "
33
36
crl_next_update=" $( date -u -d " $crl_next_update " " +%s" ) "
34
37
now=" $( docker exec $NAME date " +%s" ) "
35
38
crl_remain=" $(( $crl_next_update - $now )) "
44
47
#
45
48
docker exec -it $NAME easyrsa build-client-full $CLIENT1 nopass
46
49
docker exec -it $NAME ovpn_getclient $CLIENT1 > $CLIENT_DIR /config.ovpn
47
- docker exec -it $NAME bash -c " echo 'yes' | ovpn_revokeclient $CLIENT1 remove "
50
+ docker exec -it $NAME bash -c " echo 'yes' | ovpn_revokeclient $CLIENT1 "
48
51
49
52
#
50
53
# Test that openvpn client can't connect using $CLIENT1 config.
59
62
#
60
63
docker exec -it $NAME easyrsa build-client-full $CLIENT2 nopass
61
64
docker exec -it $NAME ovpn_getclient $CLIENT2 > $CLIENT_DIR /config.ovpn
62
- docker exec -it $NAME bash -c " echo 'yes' | ovpn_revokeclient $CLIENT2 remove "
65
+ docker exec -it $NAME bash -c " echo 'yes' | ovpn_revokeclient $CLIENT2 "
63
66
64
67
if docker run --rm -v $CLIENT_DIR :/client --cap-add=NET_ADMIN --privileged --net=host $IMG /client/wait-for-connect.sh; then
65
68
echo " Client was able to connect after revocation test #2." >&2
@@ -79,13 +82,6 @@ if docker run --rm -v $CLIENT_DIR:/client --cap-add=NET_ADMIN --privileged --net
79
82
exit 2
80
83
fi
81
84
82
- #
83
- # Stop the server and clean up
84
- #
85
- docker kill $NAME && docker rm $NAME
86
- docker volume rm $OVPN_DATA
87
- sudo iptables -D FORWARD 1
88
-
89
85
#
90
86
# Celebrate
91
87
#
0 commit comments