diff options
author | 2017-09-12 15:24:21 +0000 | |
---|---|---|
committer | 2017-09-12 15:24:21 +0000 | |
commit | e2a49d81efc03038e49f6939fc70d1ab81c05e2c (patch) | |
tree | 25412a5a9386bf684a7ac0dfa3a51bb6b967be4a | |
parent | In the default configuration syslogd(8) kept two *:514 UDP sockets (diff) | |
download | wireguard-openbsd-e2a49d81efc03038e49f6939fc70d1ab81c05e2c.tar.xz wireguard-openbsd-e2a49d81efc03038e49f6939fc70d1ab81c05e2c.zip |
Syslogd does no longer keep the *:514 UDP sockets open by default.
Adapt tests.
27 files changed, 72 insertions, 14 deletions
diff --git a/regress/usr.sbin/syslogd/args-client-bind-port.pl b/regress/usr.sbin/syslogd/args-client-bind-port.pl index 4fdc8009049..22e8b149359 100644 --- a/regress/usr.sbin/syslogd/args-client-bind-port.pl +++ b/regress/usr.sbin/syslogd/args-client-bind-port.pl @@ -26,7 +26,6 @@ our %args = ( options => ["-U", "localhost:$port"], fstat => { qr/^root .* internet/ => 0, - qr/^_syslogd .* internet/ => 3, qr/ internet6? dgram udp (127.0.0.1|\[::1\]):$port$/ => 1, }, }, diff --git a/regress/usr.sbin/syslogd/args-client-bind.pl b/regress/usr.sbin/syslogd/args-client-bind.pl index fdaee5ea65b..4457ebb7e77 100644 --- a/regress/usr.sbin/syslogd/args-client-bind.pl +++ b/regress/usr.sbin/syslogd/args-client-bind.pl @@ -23,7 +23,6 @@ our %args = ( options => ["-U", "localhost"], fstat => { qr/^root .* internet/ => 0, - qr/^_syslogd .* internet/ => 3, qr/ internet6? dgram udp (127.0.0.1|\[::1\]):514$/ => 1, }, }, diff --git a/regress/usr.sbin/syslogd/args-client-bind4-port.pl b/regress/usr.sbin/syslogd/args-client-bind4-port.pl index 1ced76c99c3..03e91fdfe92 100644 --- a/regress/usr.sbin/syslogd/args-client-bind4-port.pl +++ b/regress/usr.sbin/syslogd/args-client-bind4-port.pl @@ -22,7 +22,6 @@ our %args = ( options => ["-U", "127.0.0.1:$port"], fstat => { qr/^root .* internet/ => 0, - qr/^_syslogd .* internet/ => 3, qr/ internet dgram udp 127.0.0.1:$port$/ => 1, }, }, diff --git a/regress/usr.sbin/syslogd/args-client-bind4.pl b/regress/usr.sbin/syslogd/args-client-bind4.pl index 6474982da29..aa0138d08a7 100644 --- a/regress/usr.sbin/syslogd/args-client-bind4.pl +++ b/regress/usr.sbin/syslogd/args-client-bind4.pl @@ -19,7 +19,6 @@ our %args = ( options => ["-U", "127.0.0.1"], fstat => { qr/^root .* internet/ => 0, - qr/^_syslogd .* internet/ => 3, qr/ internet dgram udp 127.0.0.1:514$/ => 1, }, }, diff --git a/regress/usr.sbin/syslogd/args-client-bind6-port.pl b/regress/usr.sbin/syslogd/args-client-bind6-port.pl index 9ae8d3e65b2..ec6edc8e759 100644 --- a/regress/usr.sbin/syslogd/args-client-bind6-port.pl +++ b/regress/usr.sbin/syslogd/args-client-bind6-port.pl @@ -22,7 +22,6 @@ our %args = ( options => ["-U", "[::1]:$port"], fstat => { qr/^root .* internet/ => 0, - qr/^_syslogd .* internet/ => 3, qr/ internet6 dgram udp \[::1\]:$port$/ => 1, }, }, diff --git a/regress/usr.sbin/syslogd/args-client-bind6.pl b/regress/usr.sbin/syslogd/args-client-bind6.pl index ed5690d9634..76937bdec3a 100644 --- a/regress/usr.sbin/syslogd/args-client-bind6.pl +++ b/regress/usr.sbin/syslogd/args-client-bind6.pl @@ -19,7 +19,6 @@ our %args = ( options => ["-U", "[::1]"], fstat => { qr/^root .* internet/ => 0, - qr/^_syslogd .* internet/ => 3, qr/ internet6 dgram udp \[::1\]:514$/ => 1, }, }, diff --git a/regress/usr.sbin/syslogd/args-client-tcp.pl b/regress/usr.sbin/syslogd/args-client-tcp.pl index cdba2e0b194..296f2e716d8 100644 --- a/regress/usr.sbin/syslogd/args-client-tcp.pl +++ b/regress/usr.sbin/syslogd/args-client-tcp.pl @@ -17,7 +17,6 @@ our %args = ( options => ["-T", "127.0.0.1:514"], fstat => { qr/^root .* internet/ => 0, - qr/^_syslogd .* internet/ => 3, qr/ internet6? stream tcp \w+ (127.0.0.1|\[::1\]):514$/ => 1, }, loggrep => { diff --git a/regress/usr.sbin/syslogd/args-client-tcp4.pl b/regress/usr.sbin/syslogd/args-client-tcp4.pl index 503787df02c..52f18b2bf91 100644 --- a/regress/usr.sbin/syslogd/args-client-tcp4.pl +++ b/regress/usr.sbin/syslogd/args-client-tcp4.pl @@ -23,7 +23,6 @@ our %args = ( options => ["-T", "127.0.0.1:514"], fstat => { qr/^root .* internet/ => 0, - qr/^_syslogd .* internet/ => 3, qr/ internet stream tcp \w+ 127.0.0.1:514$/ => 1, }, }, diff --git a/regress/usr.sbin/syslogd/args-client-tcp6.pl b/regress/usr.sbin/syslogd/args-client-tcp6.pl index 948d7825365..48d6d96494a 100644 --- a/regress/usr.sbin/syslogd/args-client-tcp6.pl +++ b/regress/usr.sbin/syslogd/args-client-tcp6.pl @@ -23,7 +23,6 @@ our %args = ( options => ["-T", "[::1]:514"], fstat => { qr/^root .* internet/ => 0, - qr/^_syslogd .* internet/ => 3, qr/ internet6 stream tcp \w+ \[::1\]:514$/ => 1, }, }, diff --git a/regress/usr.sbin/syslogd/args-client-tls.pl b/regress/usr.sbin/syslogd/args-client-tls.pl index 68223cd3055..2fa726d9ae1 100644 --- a/regress/usr.sbin/syslogd/args-client-tls.pl +++ b/regress/usr.sbin/syslogd/args-client-tls.pl @@ -23,7 +23,6 @@ our %args = ( options => ["-S", "localhost"], fstat => { qr/^root .* internet/ => 0, - qr/^_syslogd .* internet/ => 3, qr/ internet6? stream tcp \w+ (127.0.0.1|\[::1\]):6514$/ => 1, }, ktrace => { diff --git a/regress/usr.sbin/syslogd/args-client-tls4.pl b/regress/usr.sbin/syslogd/args-client-tls4.pl index 7168749eb57..899a8487e8a 100644 --- a/regress/usr.sbin/syslogd/args-client-tls4.pl +++ b/regress/usr.sbin/syslogd/args-client-tls4.pl @@ -23,7 +23,6 @@ our %args = ( options => ["-S", "127.0.0.1:6514"], fstat => { qr/^root .* internet/ => 0, - qr/^_syslogd .* internet/ => 3, qr/ internet stream tcp \w+ 127.0.0.1:6514$/ => 1, }, ktrace => { diff --git a/regress/usr.sbin/syslogd/args-client-tls6.pl b/regress/usr.sbin/syslogd/args-client-tls6.pl index e26b061d43e..f9a100929f4 100644 --- a/regress/usr.sbin/syslogd/args-client-tls6.pl +++ b/regress/usr.sbin/syslogd/args-client-tls6.pl @@ -23,7 +23,6 @@ our %args = ( options => ["-S", "[::1]:6514"], fstat => { qr/^root .* internet/ => 0, - qr/^_syslogd .* internet/ => 3, qr/ internet6 stream tcp \w+ \[::1\]:6514$/ => 1, }, ktrace => { diff --git a/regress/usr.sbin/syslogd/args-fdexhaustion-sighup.pl b/regress/usr.sbin/syslogd/args-fdexhaustion-sighup.pl index b9ae77e3c7a..b2ff42b262e 100644 --- a/regress/usr.sbin/syslogd/args-fdexhaustion-sighup.pl +++ b/regress/usr.sbin/syslogd/args-fdexhaustion-sighup.pl @@ -20,6 +20,7 @@ our %args = ( loggrep => { get_between2loggrep() }, }, syslogd => { + options => ["-u"], conf => join("", map { "*.*\t\$objdir/file-$_.log\n" } 0..19), rlimit => { RLIMIT_NOFILE => 30, diff --git a/regress/usr.sbin/syslogd/args-privsep-daemon.pl b/regress/usr.sbin/syslogd/args-privsep-daemon.pl index 092bb5d1852..d386bfb25c9 100644 --- a/regress/usr.sbin/syslogd/args-privsep-daemon.pl +++ b/regress/usr.sbin/syslogd/args-privsep-daemon.pl @@ -13,6 +13,7 @@ use warnings; our %args = ( syslogd => { + options => ["-u"], daemon => 1, nopipe => 1, noconsole => 1, diff --git a/regress/usr.sbin/syslogd/args-privsep-foreground.pl b/regress/usr.sbin/syslogd/args-privsep-foreground.pl index f7dbfa9e595..15d458a3784 100644 --- a/regress/usr.sbin/syslogd/args-privsep-foreground.pl +++ b/regress/usr.sbin/syslogd/args-privsep-foreground.pl @@ -13,6 +13,7 @@ use warnings; our %args = ( syslogd => { + options => ["-u"], foreground => 1, nopipe => 1, noconsole => 1, diff --git a/regress/usr.sbin/syslogd/args-privsep.pl b/regress/usr.sbin/syslogd/args-privsep.pl index ac300164b94..a53fd476e6d 100644 --- a/regress/usr.sbin/syslogd/args-privsep.pl +++ b/regress/usr.sbin/syslogd/args-privsep.pl @@ -11,6 +11,7 @@ use warnings; our %args = ( syslogd => { + options => ["-u"], up => qr/fork\+exec done/, nopipe => 1, noconsole => 1, diff --git a/regress/usr.sbin/syslogd/args-secure-udp.pl b/regress/usr.sbin/syslogd/args-secure-udp.pl index 70e85d90d0b..0ac255d66e0 100644 --- a/regress/usr.sbin/syslogd/args-secure-udp.pl +++ b/regress/usr.sbin/syslogd/args-secure-udp.pl @@ -1,5 +1,6 @@ # The client writes messages to localhost IPv4 and IPv6 UDP socket. # The syslogd does not receive them as it is started without -u. +# Keep the sockets open by pretending to write to them. # Check that client does send the message, but it is not in the file. # Check with fstat that both *:514 sockets are bound. # Check that there is no recvfrom localhost in syslogd ktrace. @@ -57,6 +58,9 @@ our %args = ( syslogd => { options => [], loghost => "/dev/null", + conf => + "*.*\t\@udp4://0.0.0.0:0\n". + "*.*\t\@udp6://[::]:0\n", fstat => { qr/^_syslogd syslogd .* internet6? dgram udp \*:514$/ => 2, }, diff --git a/regress/usr.sbin/syslogd/args-selector-syslog.pl b/regress/usr.sbin/syslogd/args-selector-syslog.pl index 303361e78f0..5d2169a97a1 100644 --- a/regress/usr.sbin/syslogd/args-selector-syslog.pl +++ b/regress/usr.sbin/syslogd/args-selector-syslog.pl @@ -8,6 +8,7 @@ use strict; use warnings; +use Socket; use Sys::Syslog; my %selector2messages = ( diff --git a/regress/usr.sbin/syslogd/args-send46.pl b/regress/usr.sbin/syslogd/args-send46.pl new file mode 100644 index 00000000000..0790ada5518 --- /dev/null +++ b/regress/usr.sbin/syslogd/args-send46.pl @@ -0,0 +1,31 @@ +# The client writes a message to Sys::Syslog native method. +# The syslogd writes it into a file and through a pipe. +# The syslogd passes it via default loghost, IPv4, IPv6 to UDP server. +# The server receives the message twice on its UDP socket. +# Find the message in client, file, pipe, syslogd, server log. +# Check that the syslogd has IPv4 and IPv6 dgram socket in fstat output. + +use strict; +use warnings; +use Socket; + +our %args = ( + syslogd => { + fstat => { + qr/^root .* internet/ => 0, + qr/^_syslogd .* internet/ => 2, + qr/ internet dgram udp \*:514$/ => 1, + qr/ internet6 dgram udp \*:514$/ => 1, + }, + conf => + "*.*\t\@[127.0.0.1]:\$connectport\n". + "*.*\t\@[::1]:\$connectport\n", + }, + server => { + loggrep => { + get_testgrep() => 2, + }, + }, +); + +1; diff --git a/regress/usr.sbin/syslogd/args-server-tcp.pl b/regress/usr.sbin/syslogd/args-server-tcp.pl index 1ed123c11c4..3023d387524 100644 --- a/regress/usr.sbin/syslogd/args-server-tcp.pl +++ b/regress/usr.sbin/syslogd/args-server-tcp.pl @@ -4,6 +4,7 @@ # The server receives the message on its TCP socket. # Find the message in client, file, pipe, syslogd, server log. # Check that syslogd and server log contain localhost address. +# Check that with TCP server all other sockets are closed. use strict; use warnings; @@ -16,6 +17,10 @@ our %args = ( qr/Logging to FORWTCP \@tcp:\/\/localhost:\d+/ => '>=4', get_testgrep() => 1, }, + fstat => { + qr/internet/ => 1, + qr/^_syslogd .* stream tcp / => 1, + }, }, server => { listen => { domain => AF_UNSPEC, proto => "tcp", addr => "localhost" }, diff --git a/regress/usr.sbin/syslogd/args-server-tcp4.pl b/regress/usr.sbin/syslogd/args-server-tcp4.pl index b33f8df8bc5..bec979b4994 100644 --- a/regress/usr.sbin/syslogd/args-server-tcp4.pl +++ b/regress/usr.sbin/syslogd/args-server-tcp4.pl @@ -4,6 +4,7 @@ # The server receives the message on its TCP socket. # Find the message in client, file, pipe, syslogd, server log. # Check that syslogd and server log contain 127.0.0.1 address. +# Check that with TCP server all other sockets are closed. use strict; use warnings; @@ -16,6 +17,10 @@ our %args = ( qr/Logging to FORWTCP \@tcp:\/\/127.0.0.1:\d+/ => '>=4', get_testgrep() => 1, }, + fstat => { + qr/stream tcp/ => 1, + qr/^_syslogd .* internet stream tcp / => 1, + }, }, server => { listen => { domain => AF_INET, proto => "tcp", addr => "127.0.0.1" }, diff --git a/regress/usr.sbin/syslogd/args-server-tcp6.pl b/regress/usr.sbin/syslogd/args-server-tcp6.pl index e6c0301b62a..97ac875a19f 100644 --- a/regress/usr.sbin/syslogd/args-server-tcp6.pl +++ b/regress/usr.sbin/syslogd/args-server-tcp6.pl @@ -4,6 +4,7 @@ # The server receives the message on its TCP socket. # Find the message in client, file, pipe, syslogd, server log. # Check that syslogd and server log contain ::1 address. +# Check that with TCP server all other sockets are closed. use strict; use warnings; @@ -16,6 +17,10 @@ our %args = ( qr/Logging to FORWTCP \@tcp:\/\/\[::1\]:\d+/ => '>=4', get_testgrep() => 1, }, + fstat => { + qr/stream tcp/ => 1, + qr/^_syslogd .* internet6 stream tcp / => 1, + }, }, server => { listen => { domain => AF_INET6, proto => "tcp", addr => "::1" }, diff --git a/regress/usr.sbin/syslogd/args-server-tls.pl b/regress/usr.sbin/syslogd/args-server-tls.pl index eadf89ee902..b045830714c 100644 --- a/regress/usr.sbin/syslogd/args-server-tls.pl +++ b/regress/usr.sbin/syslogd/args-server-tls.pl @@ -4,6 +4,7 @@ # The server receives the message on its TLS socket. # Find the message in client, file, pipe, syslogd, server log. # Check that syslogd and server log contain localhost address. +# Check that with TLS server all other sockets are closed. use strict; use warnings; @@ -16,6 +17,10 @@ our %args = ( qr/Logging to FORWTLS \@tls:\/\/localhost:\d+/ => '>=4', get_testgrep() => 1, }, + fstat => { + qr/internet/ => 1, + qr/^_syslogd .* stream tcp / => 1, + }, }, server => { listen => { domain => AF_UNSPEC, proto => "tls", addr => "localhost" }, diff --git a/regress/usr.sbin/syslogd/args-server-tls4.pl b/regress/usr.sbin/syslogd/args-server-tls4.pl index b6128a8d916..da05c4bc2f9 100644 --- a/regress/usr.sbin/syslogd/args-server-tls4.pl +++ b/regress/usr.sbin/syslogd/args-server-tls4.pl @@ -4,6 +4,7 @@ # The server receives the message on its TLS socket. # Find the message in client, file, pipe, syslogd, server log. # Check that syslogd and server log contain 127.0.0.1 address. +# Check that with TLS server all other sockets are closed. use strict; use warnings; @@ -16,6 +17,10 @@ our %args = ( qr/Logging to FORWTLS \@tls:\/\/127.0.0.1:\d+/ => '>=4', get_testgrep() => 1, }, + fstat => { + qr/stream tcp/ => 1, + qr/^_syslogd .* internet stream tcp / => 1, + }, }, server => { listen => { domain => AF_INET, proto => "tls", addr => "127.0.0.1" }, diff --git a/regress/usr.sbin/syslogd/args-server-tls6.pl b/regress/usr.sbin/syslogd/args-server-tls6.pl index 425c38088e8..f5a3a41aba9 100644 --- a/regress/usr.sbin/syslogd/args-server-tls6.pl +++ b/regress/usr.sbin/syslogd/args-server-tls6.pl @@ -4,6 +4,7 @@ # The server receives the message on its TLS socket. # Find the message in client, file, pipe, syslogd, server log. # Check that syslogd and server log contain ::1 address. +# Check that with TLS server all other sockets are closed. use strict; use warnings; @@ -16,6 +17,10 @@ our %args = ( qr/Logging to FORWTLS \@tls:\/\/\[::1\]:\d+/ => '>=4', get_testgrep() => 1, }, + fstat => { + qr/stream tcp/ => 1, + qr/^_syslogd .* internet6 stream tcp / => 1, + }, }, server => { listen => { domain => AF_INET6, proto => "tls", addr => "::1" }, diff --git a/regress/usr.sbin/syslogd/args-socket.pl b/regress/usr.sbin/syslogd/args-socket.pl index 2903cf67c23..4dca543f8bf 100644 --- a/regress/usr.sbin/syslogd/args-socket.pl +++ b/regress/usr.sbin/syslogd/args-socket.pl @@ -1,10 +1,9 @@ -# Test with default values, that is: # The client writes a message to a localhost IPv4 UDP socket. # The syslogd writes it into a file and through a pipe. # The syslogd passes it via UDP to the loghost. # The server receives the message on its UDP socket. # Find the message in client, file, pipe, syslogd, server log. -# Check that the syslogd has one IPv4 socket in fstat output. +# Check that the syslogd has both any UDP sockets in fstat output. use strict; use warnings; diff --git a/regress/usr.sbin/syslogd/args-zulu.pl b/regress/usr.sbin/syslogd/args-zulu.pl index e9d81aef928..af6817b86a5 100644 --- a/regress/usr.sbin/syslogd/args-zulu.pl +++ b/regress/usr.sbin/syslogd/args-zulu.pl @@ -8,6 +8,7 @@ use strict; use warnings; +use Socket; use Sys::Hostname; (my $host = hostname()) =~ s/\..*//; |