diff options
Diffstat (limited to 'tests/sndrcv_relp_tls_certvalid.sh')
-rwxr-xr-x | tests/sndrcv_relp_tls_certvalid.sh | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/tests/sndrcv_relp_tls_certvalid.sh b/tests/sndrcv_relp_tls_certvalid.sh new file mode 100755 index 0000000..728b2a1 --- /dev/null +++ b/tests/sndrcv_relp_tls_certvalid.sh @@ -0,0 +1,65 @@ +#!/bin/bash +# added 2018-09-13 by PascalWithopf +# This file is part of the rsyslog project, released under ASL 2.0 +. ${srcdir:=.}/diag.sh init +# uncomment for debugging support: +#export RSYSLOG_DEBUG="debug nostdout noprintmutexaction" +export RSYSLOG_DEBUGLOG="log" + +generate_conf +export PORT_RCVR="$(get_free_port)" +add_conf ' +module(load="../plugins/imrelp/.libs/imrelp") +# then SENDER sends to this port (not tcpflood!) +input(type="imrelp" port="'$PORT_RCVR'" tls="on" + tls.cacert="'$srcdir'/tls-certs/ca.pem" + tls.mycert="'$srcdir'/tls-certs/cert.pem" + tls.myprivkey="'$srcdir'/tls-certs/key.pem" + tls.authmode="certvalid" + tls.permittedpeer="rsyslog") + +$template outfmt,"%msg:F,58:2%\n" +:msg, contains, "msgnum:" action(type="omfile" file="'$RSYSLOG_OUT_LOG'" template="outfmt") +' +startup + +export RSYSLOG_DEBUGLOG="log2" +#valgrind="valgrind" +generate_conf 2 +add_conf ' +module(load="../plugins/omrelp/.libs/omrelp") + +:msg, contains, "msgnum:" action(type="omrelp" + target="127.0.0.1" port="'$PORT_RCVR'" tls="on" + tls.cacert="'$srcdir'/tls-certs/ca.pem" + tls.mycert="'$srcdir'/tls-certs/cert.pem" + tls.myprivkey="'$srcdir'/tls-certs/key.pem" + tls.authmode="certvalid" + tls.permittedpeer="rsyslog") +action(type="omfile" file="'$RSYSLOG_DYNNAME.errmsgs'") +' 2 +startup 2 + +grep "omrelp error: invalid authmode" $RSYSLOG_DYNNAME.errmsgs > /dev/null +if [ $? -eq 0 ]; then + echo "SKIP: librelp does not support "certvalid" auth mode" + # mini-cleanup to not leave dangling processes + shutdown_immediate 2 + shutdown_immediate + rm $RSYSLOG_DYNNAME* &> /dev/null + exit 77 +fi + +# now inject the messages into instance 2. It will connect to instance 1, +# and that instance will record the data. +injectmsg2 1 50000 + +# shut down sender +shutdown_when_empty 2 +wait_shutdown 2 +# now it is time to stop the receiver as well +shutdown_when_empty +wait_shutdown + +seq_check 1 50000 +exit_test |