1# The client writes message to overflow the memory buffer method. 2# The syslogd writes it into a file and through a pipe. 3# The syslogd passes it via UDP to the loghost. 4# The server receives the message on its UDP socket. 5# Syslogc checks the memory logs. 6# Check that memory buffer has overflow flag. 7 8use strict; 9use warnings; 10 11our %args = ( 12 client => { 13 func => sub { 14 my $self = shift; 15 write_lines($self, 40, 2000); 16 write_log($self); 17 }, 18 }, 19 syslogd => { 20 memory => 1, 21 loggrep => { 22 qr/Accepting control connection/ => 5, 23 qr/ctlcmd 1/ => 1, # read 24 qr/ctlcmd 2/ => 1, # read clear 25 qr/ctlcmd 4/ => 3, # list 26 }, 27 }, 28 syslogc => [ { 29 options => ["-q"], 30 loggrep => qr/^memory\* /, 31 }, { 32 options => ["memory"], 33 down => get_downlog(), 34 loggrep => {}, 35 }, { 36 options => ["-q"], 37 loggrep => qr/^memory\* /, 38 }, { 39 options => ["-c", "memory"], 40 down => get_downlog(), 41 loggrep => {}, 42 }, { 43 options => ["-q"], 44 loggrep => qr/^memory /, 45 } ], 46); 47 481; 49