1470f2a1bSbluhm# The client writes long messages to unix domain socket /dev/log.
2470f2a1bSbluhm# The syslogd writes it into a file and through a pipe.
3470f2a1bSbluhm# The syslogd passes it via UDP to the loghost.
4470f2a1bSbluhm# The server receives the message on its UDP socket.
5470f2a1bSbluhm# Find the message in client, file, pipe, syslogd, server log.
6470f2a1bSbluhm# Check that lines in file have 8192 bytes message length after the header.
7470f2a1bSbluhm
8470f2a1bSbluhmuse strict;
9470f2a1bSbluhmuse warnings;
10470f2a1bSbluhmuse Socket;
11470f2a1bSbluhm
12470f2a1bSbluhmour %args = (
13470f2a1bSbluhm    client => {
14470f2a1bSbluhm	connect => { domain => AF_UNIX },
15a87ca01dSbluhm	func => sub {
16a87ca01dSbluhm	    my $self = shift;
17a87ca01dSbluhm	    write_lengths($self, 8190..8193,9000);
18a87ca01dSbluhm	    write_log($self);
19a87ca01dSbluhm	},
20470f2a1bSbluhm    },
21470f2a1bSbluhm    syslogd => {
22470f2a1bSbluhm	loggrep => {
238cd3cffcSbluhm	    get_charlog() => 5,
24*f48a84a7Sbluhm	},
25470f2a1bSbluhm    },
26470f2a1bSbluhm    file => {
27470f2a1bSbluhm	# Feb  2 00:43:36 hostname 0123456789ABC...567
28470f2a1bSbluhm	loggrep => {
298cd3cffcSbluhm	    get_charlog() => 5,
30470f2a1bSbluhm	    qr/^.{15} \S{1,256} .{8190}$/ => 1,
31470f2a1bSbluhm	    qr/^.{15} \S{1,256} .{8191}$/ => 1,
32470f2a1bSbluhm	    qr/^.{15} \S{1,256} .{8192}$/ => 3,
33470f2a1bSbluhm	},
34470f2a1bSbluhm    },
35470f2a1bSbluhm);
36470f2a1bSbluhm
37470f2a1bSbluhm1;
38