From c8aab5e5640075b475dfc48e7eb849c596ce0323 Mon Sep 17 00:00:00 2001 From: Axel Arnold Date: Sun, 18 Nov 2018 20:27:52 +0100 Subject: [PATCH] Rsyslog: In rsyslog, bsd-like #!/+/- are just comments without special meaning --- lenses/rsyslog.aug | 14 ++++++++++++-- lenses/tests/test_rsyslog.aug | 5 +++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/lenses/rsyslog.aug b/lenses/rsyslog.aug index 35f19a5b0..67fc066bf 100644 --- a/lenses/rsyslog.aug +++ b/lenses/rsyslog.aug @@ -53,6 +53,16 @@ let namedpipe = Syslog.pipe . Sep.space . [ label "pipe" . store Syslog.file_r ] let action = Syslog.action | omusrmsg | file_tmpl | namedpipe +(* Cannot use syslog program because rsyslog does not suppport #! *) +let program = [ label "program" . Syslog.bang . + ( Syslog.opt_plus | [ Build.xchgs "-" "reverse" ] ) . + Syslog.programs . Util.eol . Syslog.entries ] + +(* Cannot use syslog hostname because rsyslog does not suppport #+/- *) +let hostname = [ label "hostname" . + ( Syslog.plus | [ Build.xchgs "-" "reverse" ] ) . + Syslog.hostnames . Util.eol . Syslog.entries ] + (* View: entry An entry contains selectors and an action *) @@ -70,9 +80,9 @@ let prop_filter = in [ label "filter" . prop_name . sep . prop_oper . sep . prop_val . Sep.space . prop_act . Util.eol ] -let entries = ( Syslog.empty | Syslog.comment | entry | macro | config_object | prop_filter )* +let entries = ( Syslog.empty | Util.comment | entry | macro | config_object | prop_filter )* -let lns = entries . ( Syslog.program | Syslog.hostname )* +let lns = entries . ( program | hostname )* let filter = incl "/etc/rsyslog.conf" . incl "/etc/rsyslog.d/*" diff --git a/lenses/tests/test_rsyslog.aug b/lenses/tests/test_rsyslog.aug index 5386f836a..a63503b50 100644 --- a/lenses/tests/test_rsyslog.aug +++ b/lenses/tests/test_rsyslog.aug @@ -200,6 +200,11 @@ test Rsyslog.lns get "module(load=\"imuxsock\" # provides support for local s { "#comment" = "Turn off message reception via local log socket;" } } { "#comment" = "local messages are retrieved through imjournal now." } +(* rsyslog doesn't use bsd-like #! or #+/- specifications *) +test Rsyslog.lns get "#!prog\n" = { "#comment" = "!prog" } +test Rsyslog.lns get "#+host\n" = { "#comment" = "+host" } +test Rsyslog.lns get "#-host\n" = { "#comment" = "-host" } + (* Added in rsyslog 8.33 *) test Rsyslog.lns get "include(file=\"/etc/rsyslog.d/*.conf\" mode=\"optional\")\n" = { "include"