1# The client writes a message to Sys::Syslog native method.
2# The syslogd writes it into a file and through a pipe.
3# The syslogd passes it via TLS to localhost loghost.
4# The cafile does not exist.
5# Find the message in client, file, pipe, syslogd log.
6# Check that syslogd has verify failure and server has no message.
7
8use strict;
9use warnings;
10use Socket;
11
12our %args = (
13    syslogd => {
14	loghost => '@tls://localhost:$connectport',
15	loggrep => {
16	    qr/syslogd\[\d+\]: load client TLS CA: failed to open CA file/ => 1,
17	    qr/Logging to FORWTLS \@tls:\/\/localhost:\d+/ => '>=4',
18	    qr/syslogd\[\d+\]: tls_connect_socket .*: /.
19		qr/ssl verify memory setup failure/ => 1,
20	    get_testgrep() => 1,
21	},
22	cacrt => "noexist",
23    },
24    server => {
25	listen => { domain => AF_UNSPEC, proto => "tls", addr => "localhost" },
26	up => "IO::Socket::SSL socket accept failed",
27	down => "Server",
28	exit => 255,
29	loggrep => {
30	    qr/listen sock: (127.0.0.1|::1) \d+/ => 1,
31	    qr/SSL accept attempt failed because of handshake problems/ => 1,
32	    get_testgrep() => 0,
33	},
34    },
35);
36
371;
38