161ffb8b2Sbluhm# The client writes a message to Sys::Syslog native method.
261ffb8b2Sbluhm# The syslogd writes it into a file and through a pipe.
361ffb8b2Sbluhm# The syslogd passes it via TLS to an explicit loghost.
461ffb8b2Sbluhm# The server receives the message on its TLS socket.
561ffb8b2Sbluhm# Find the message in client, file, pipe, syslogd, server log.
661ffb8b2Sbluhm# Check that syslogd and server log contain localhost address.
7*e2a49d81Sbluhm# Check that with TLS server all other sockets are closed.
861ffb8b2Sbluhm
961ffb8b2Sbluhmuse strict;
1061ffb8b2Sbluhmuse warnings;
1161ffb8b2Sbluhmuse Socket;
1261ffb8b2Sbluhm
1361ffb8b2Sbluhmour %args = (
1461ffb8b2Sbluhm    syslogd => {
1561ffb8b2Sbluhm	loghost => '@tls://localhost:$connectport',
1661ffb8b2Sbluhm	loggrep => {
1761ffb8b2Sbluhm	    qr/Logging to FORWTLS \@tls:\/\/localhost:\d+/ => '>=4',
18bb7ea376Sbluhm	    get_testgrep() => 1,
1961ffb8b2Sbluhm	},
20*e2a49d81Sbluhm	fstat => {
21*e2a49d81Sbluhm	    qr/internet/ => 1,
22*e2a49d81Sbluhm	    qr/^_syslogd .* stream tcp / => 1,
23*e2a49d81Sbluhm	},
2461ffb8b2Sbluhm    },
2561ffb8b2Sbluhm    server => {
2661ffb8b2Sbluhm	listen => { domain => AF_UNSPEC, proto => "tls", addr => "localhost" },
2761ffb8b2Sbluhm	loggrep => {
2861ffb8b2Sbluhm	    qr/listen sock: (127.0.0.1|::1) \d+/ => 1,
29bb7ea376Sbluhm	    get_testgrep() => 1,
3061ffb8b2Sbluhm	},
3161ffb8b2Sbluhm    },
3261ffb8b2Sbluhm);
3361ffb8b2Sbluhm
3461ffb8b2Sbluhm1;
35