1# Syslogd gets an empty TLS server key. 2# The client cannot connect to 127.0.0.1 TLS socket. 3# Check that syslog log contains an error message. 4 5use strict; 6use warnings; 7use Socket; 8 9my $key = "/etc/ssl/private/127.0.0.1:6514.key"; 10my $cert = "/etc/ssl/127.0.0.1:6514.crt"; 11my @sudo = $ENV{SUDO} ? $ENV{SUDO} : (); 12my @cmd = (@sudo, "cp", "--", "empty", $key); 13system(@cmd) and die "Command '@cmd' failed: $?"; 14@cmd = (@sudo, "cp", "--", "127.0.0.1.crt", $cert); 15system(@cmd) and die "Command '@cmd' failed: $?"; 16END { 17 local $?; 18 my @cmd = (@sudo, "rm", "-f", "--", $key, $cert); 19 system(@cmd) and warn "Command '@cmd' failed: $?"; 20} 21 22our %args = ( 23 client => { 24 func => sub { 25 my $self = shift; 26 IO::Socket::INET6->new( 27 Domain => AF_INET, 28 Proto => "tcp", 29 PeerAddr => "127.0.0.1", 30 PeerPort => 6514, 31 ) and die "tcp socket connect to 127.0.0.1:6514 succeeded"; 32 }, 33 nocheck => 1, 34 }, 35 syslogd => { 36 options => ["-S", "127.0.0.1:6514"], 37 ktrace => { 38 qr{NAMI "/etc/ssl/private/127.0.0.1:6514.key"} => 1, 39 qr{NAMI "/etc/ssl/127.0.0.1:6514.crt"} => 1, 40 qr{NAMI "/etc/ssl/private/127.0.0.1.key"} => 0, 41 qr{NAMI "/etc/ssl/127.0.0.1.crt"} => 0, 42 }, 43 loggrep => { 44 qr{Keyfile $key} => 1, 45 qr{Certfile $cert} => 1, 46 qr{tls_configure server: failed to read private key} => 1, 47 }, 48 }, 49 server => { 50 noserver => 1, 51 }, 52 file => { nocheck => 1 }, 53 pipe => { nocheck => 1 }, 54 tty => { nocheck => 1 }, 55); 56 571; 58