diff options
Diffstat (limited to 'tests/sndrcv_tls_client_missing_cert.sh')
-rwxr-xr-x | tests/sndrcv_tls_client_missing_cert.sh | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/tests/sndrcv_tls_client_missing_cert.sh b/tests/sndrcv_tls_client_missing_cert.sh new file mode 100755 index 0000000..7045416 --- /dev/null +++ b/tests/sndrcv_tls_client_missing_cert.sh @@ -0,0 +1,65 @@ +#!/bin/bash +# This file is part of the rsyslog project, released under ASL 2.0 +. ${srcdir:=.}/diag.sh init +printf 'using TLS driver: %s\n' ${RS_TLS_DRIVER:=gtls} + +# start up the instances +# export RSYSLOG_DEBUG="debug nostdout noprintmutexaction" +export RSYSLOG_DEBUGLOG="$RSYSLOG_DYNNAME.receiver.debuglog" +generate_conf +add_conf ' +global( + defaultNetstreamDriverCAFile="'$srcdir/testsuites/x.509/ca.pem'" + defaultNetstreamDriverCertFile="'$srcdir/testsuites/x.509/client-cert.pem'" + defaultNetstreamDriverKeyFile="'$srcdir/testsuites/x.509/client-key.pem'" + defaultNetstreamDriver="'$RS_TLS_DRIVER'" +# debug.whitelist="on" +# debug.files=["nsd_ossl.c", "tcpsrv.c", "nsdsel_ossl.c", "nsdpoll_ptcp.c", "dnscache.c"] +) + +module( load="../plugins/imtcp/.libs/imtcp" + StreamDriver.Name="'$RS_TLS_DRIVER'" + StreamDriver.Mode="1" + StreamDriver.AuthMode="x509/certvalid" + StreamDriver.PermitExpiredCerts="off" + ) +input(type="imtcp" port="0" listenPortFileName="'$RSYSLOG_DYNNAME'.tcpflood_port") + +action(type="omfile" file="'$RSYSLOG_OUT_LOG'") +' +startup +export PORT_RCVR=$TCPFLOOD_PORT +export RSYSLOG_DEBUGLOG="$RSYSLOG_DYNNAME.sender.debuglog" +#valgrind="valgrind" +generate_conf 2 +add_conf ' +global( +/* + defaultNetstreamDriverCAFile="'$srcdir/testsuites/x.509/ca.pem'" + defaultNetstreamDriverCertFile="'$srcdir/testsuites/x.509/client-expired-cert.pem'" + defaultNetstreamDriverKeyFile="'$srcdir/testsuites/x.509/client-expired-key.pem'" +*/ + defaultNetstreamDriver="'$RS_TLS_DRIVER'" +) + +# set up the action +$ActionSendStreamDriverMode 1 # require TLS for the connection +$ActionSendStreamDriverAuthMode anon +*.* @@127.0.0.1:'$PORT_RCVR' +' 2 +startup 2 + +# now inject the messages into instance 2. It will connect to instance 1, +# and that instance will record the data. +injectmsg2 + +# shut down sender when everything is sent, receiver continues to run concurrently +shutdown_when_empty 2 +wait_shutdown 2 +# now it is time to stop the receiver as well +shutdown_when_empty +wait_shutdown + +content_check --regex "peer .* did not provide a certificate," + +exit_test |