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