Compare commits

..

2 Commits

Author SHA1 Message Date
7cde189318 not neededwq 2025-07-23 13:14:48 +02:00
d7e134245c Fix the port 2025-07-23 13:14:03 +02:00
3 changed files with 34 additions and 52 deletions

View File

@ -1,15 +1,40 @@
--- lenses/rsyslog.aug.orig 2025-07-23 05:14:55 UTC --- lenses/rsyslog.aug.orig 2025-07-23 13:11:53.989669000 +0200
+++ lenses/rsyslog.aug +++ lenses/rsyslog.aug 2025-07-23 13:12:09.304191000 +0200
@@ -53,11 +53,7 @@ let namedpipe = Syslog.pipe . Sep.space . [ label "pip @@ -53,8 +53,10 @@
let namedpipe = Syslog.pipe . Sep.space . [ label "pipe" . store Syslog.file_r ] let namedpipe = Syslog.pipe . Sep.space . [ label "pipe" . store Syslog.file_r ]
-(* View: action_config -let action = Syslog.action | omusrmsg | file_tmpl | dynamic | namedpipe
- Handle action(type="..." users="...") syntax *)
-let action_config =
- [ key "action" . Util.del_str "(" .
- [ label "params" . store /[^)]+/ ] . Util.del_str ")" ]
+let action_config = [ key "action" . Util.del_str "(" . [ label "params" . store /[^)]+/ ] . Util.del_str ")" ] +let action_config = [ key "action" . Util.del_str "(" . [ label "params" . store /[^)]+/ ] . Util.del_str ")" ]
let action = Syslog.action | omusrmsg | file_tmpl | dynamic | namedpipe | action_config +let action = Syslog.action | omusrmsg | file_tmpl | dynamic | namedpipe | action_config
+
(* Cannot use syslog program because rsyslog does not suppport #! *)
let program = [ label "program" . Syslog.bang .
( Syslog.opt_plus | [ Build.xchgs "-" "reverse" ] ) .
@@ -87,9 +89,23 @@
in [ label "filter" . prop_name . sep . prop_oper . sep . prop_val .
Sep.space . actions . Util.eol ]
-let entries = ( Syslog.empty | Util.comment | entry | macro | config_object | prop_filter )*
+(* View: condition
+ Parses if condition blocks, e.g., if $programname != "devd" then { ... }
+*)
+let condition =
+ let cond_rx = /\\$[a-zA-Z0-9_]+[ \t]*(==|!=|=~|!~|>|<|>=|<=)[ \t]*("[^"]*"|[0-9]+)/ in
+ [ key "if" . Sep.space .
+ [ label "condition" . store cond_rx ] . Sep.space .
+ Util.del_str "then" . Sep.space . Util.del_str "{" . (del /[ \t\n]*/ "" ) .
+ (entry | Util.comment | Syslog.empty)* .
+ Util.del_str "}" . (del /[ \t\n]*/ "" ) . Util.eol ]
-let lns = entries . ( program | hostname )*
+(* Fallback for unparsed lines *)
+let invalid = [ label "invalid" . store /[^\n]*\n/ ]
+
+let entries = ( Syslog.empty | Util.comment | entry | macro | config_object | prop_filter | condition | invalid )*
+
+let lns = entries . ( program | hostname | condition )*
let filter = incl "/etc/rsyslog.conf"
. incl "/etc/rsyslog.d/*"

View File

@ -1,5 +0,0 @@
--- tests/root/var/tmp/test-quoted-strings.txt.orig 2022-11-14 10:02:37 UTC
+++ tests/root/var/tmp/test-quoted-strings.txt
@@ -1 +1 @@
-find this: ][ )( . * $ / \ " '
+find this: ]][ )( . * $ / \

View File

@ -1,38 +0,0 @@
--- tests/test-augtool/quoted-strings.sh.orig 2022-11-13 10:55:34 UTC
+++ tests/test-augtool/quoted-strings.sh
@@ -0,0 +1,35 @@
+#!/bin/bash
+
+commands="
+set /files/var/tmp/test-quoted-strings.txt/01 '['
+set /files/var/tmp/test-quoted-strings.txt/02 ']'
+set /files/var/tmp/test-quoted-strings.txt/03 ']['
+set /files/var/tmp/test-quoted-strings.txt/04 '[]'
+set /files/var/tmp/test-quoted-strings.txt/05 '[]['
+set /files/var/tmp/test-quoted-strings.txt/06 '[]]'
+set /files/var/tmp/test-quoted-strings.txt/07 '('
+set /files/var/tmp/test-quoted-strings.txt/08 ')'
+set /files/var/tmp/test-quoted-strings.txt/09 '"\""'
+insert 010 after /files/var/tmp/test-quoted-strings.txt/seq::*[.=~regexp('.*\]\]\[ \)\( .*')]
+set /files/var/tmp/test-quoted-strings.txt/010 'found ]][ )('
+insert 011 after /files/var/tmp/test-quoted-strings.txt/seq::*[.=~regexp('.*\\\\..*')]
+set /files/var/tmp/test-quoted-strings.txt/011 'found .'
+"
+lens=Simplelines.lns
+file="/var/tmp/test-quoted-strings.txt"
+
+diff='--- /var/tmp/test-quoted-strings.txt
++++ /var/tmp/test-quoted-strings.txt.augnew
+@@ -1 +1,12 @@
+ find this: ]][ )( . * $ / \
++found .
++found ]][ )(
++[
++]
++][
++[]
++[][
++[]]
++(
++)
++"'