Skip to content

Commit d9c99d5

Browse files
authored
Merge pull request #806 from axoflow/version/4.18.0
Version: 4.18.0
2 parents fd7d8f5 + 8281db9 commit d9c99d5

File tree

33 files changed

+85
-143
lines changed

33 files changed

+85
-143
lines changed

.github/workflows/devshell.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -115,13 +115,13 @@ jobs:
115115
if: always() && steps.make_check.outcome == 'failure'
116116
with:
117117
name: test-suite-${{ matrix.build-tool }}-${{ matrix.cc }}
118-
path: ${{ github.workspace }}/build/test-suite.log
118+
path: $GITHUB_WORKSPACE/build/test-suite.log
119119

120120
- name: "Prepare artifact: light-reports"
121121
id: prepare-light-reports
122122
if: always() && steps.light.outcome == 'failure'
123123
run: |
124-
REPORTS_DIR=${{ github.workspace }}/tests/light/reports
124+
REPORTS_DIR=$GITHUB_WORKSPACE/tests/light/reports
125125
cp -r ${REPORTS_DIR} /tmp/light-reports
126126
find /tmp/light-reports -type p,s -print0 | xargs -0 rm -f
127127
tar -cz -f /tmp/light-reports.tar.gz /tmp/light-reports

NEWS.md

Lines changed: 33 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
4.17.0
1+
4.18.0
22
======
33

44
AxoSyslog is binary-compatible with syslog-ng [1] and serves as a drop-in replacement.
@@ -11,92 +11,58 @@ Check out the [AxoSyslog documentation](https://axoflow.com/docs/axosyslog-core/
1111

1212
## Features
1313

14-
* FilterX `dpath()`: new function to set a potentially non-existing path within a dict
14+
* `http()`: Added support for templated `headers()`
1515

16-
For example,
17-
```
18-
dpath(dict.path.to["complex.n-v"].create) = {...};
19-
```
20-
([#746](https://github.com/axoflow/axosyslog/pull/746))
21-
22-
* FilterX string slices: support negative indexing
23-
24-
For example,
25-
```
26-
filterx {
27-
str = "example";
28-
str[..-2] == "examp";
29-
str[-3..] == "ple";
30-
};
31-
```
32-
([#780](https://github.com/axoflow/axosyslog/pull/780))
16+
In case of batching the templates in `headers()` will be calculated
17+
from the first message. Make sure to use `worker-partition-key()` to
18+
group similar messages together.
3319

34-
* `parallelize()`: add `batch-size()` option and other perf improvements
20+
Literal dollar signs (`$`) used in `headers()` must be escaped like `$$`.
21+
([#794](https://github.com/axoflow/axosyslog/pull/794))
3522

36-
The `batch-size()` option specifies, for each input thread, how many consecutive
37-
messages should be processed by a single `parallelize()` worker.
23+
* FilterX: unary `+` and `-` operators
3824

39-
This ensures that this many messages preserve their order on the output side
40-
and also improves `parallelize()` performance. A value around 100 is recommended.
41-
([#757](https://github.com/axoflow/axosyslog/pull/757))
42-
43-
* `clickhouse-destination()`: new `json-var()` directive
44-
45-
The new `json-var()` option accepts either a JSON template or a variable containing a JSON string, and sends it to the ClickHouse server in Protobuf/JSON mixed mode (JSONEachRow format). In this mode, type validation is performed by the ClickHouse server itself, so no Protobuf schema is required for communication.
46-
47-
This option is mutually exclusive with `proto-var()`, `server-side-schema()`, `schema()`, and `protobuf-schema()` directives.
48-
49-
example:
25+
Useful for dynamic string slicing, for example:
5026
```
51-
destination {
52-
clickhouse (
53-
...
54-
json-var("$json_data");
55-
or
56-
json-var(json("{\"ingest_time\":1755248921000000000, \"body\": \"test template\"}"))
57-
...
58-
};
59-
};
27+
str[..-tempvar]
6028
```
61-
([#761](https://github.com/axoflow/axosyslog/pull/761))
29+
([#788](https://github.com/axoflow/axosyslog/pull/788))
6230
63-
* FilterX `parse_kv()`: add `stray_words_append_to_value` flag
31+
* FilterX `parse_csv()`: add `quote_pairs` parameter
32+
33+
For example:
6434
65-
For example,
6635
```
6736
filterx {
68-
$MSG = parse_kv($MSG, value_separator="=", pair_separator=" ", stray_words_append_to_value=true);
37+
str = "sarga,[bogre],'gorbe'";
38+
$MSG = parse_csv(str, quote_pairs=["[]", "'"]);
6939
};
70-
71-
input: a=b b=c d e f=g
72-
output: {"a":"b","b":"c d e","f":"g"}
7340
```
74-
([#770](https://github.com/axoflow/axosyslog/pull/770))
41+
([#804](https://github.com/axoflow/axosyslog/pull/804))
7542
7643
7744
## Bugfixes
7845
79-
* filterx: fix `startswith()`/`endswith()`/`includes()` functions early free
80-
([#772](https://github.com/axoflow/axosyslog/pull/772))
81-
82-
* `/string/`: fix escaping
46+
* FilterX `in` operator: fix crash when left- or right-hand side operand evaluation fails
47+
([#798](https://github.com/axoflow/axosyslog/pull/798))
8348
84-
Strings between / characters are now treated literally. The only exception is `\/`, which can be used to represent a `/` character.
49+
* `in` FilterX operator: Fixed finding `message_value`s in arrays.
50+
([#791](https://github.com/axoflow/axosyslog/pull/791))
8551
86-
This syntax allows you to construct regular expression patterns without worrying about double escaping.
52+
* `python()`: `LogTemplate::format()` now returns a `bytes` object
8753
88-
Note: Because of the simplified escaping rules, you cannot represent strings that end with a single `\` character,
89-
but such strings would not be valid regular expression patterns anyway.
90-
([#776](https://github.com/axoflow/axosyslog/pull/776))
54+
In the Python bindings, `LogMessage` is not UTF-8 or Unicode–safe by default.
55+
This means developers must explicitly call `decode()` on message fields and handle any decoding errors themselves.
9156
92-
* `program()` destination: Fix invalid access of freed log-writer cfg.
93-
([#779](https://github.com/axoflow/axosyslog/pull/779))
57+
Since `LogTemplate` operates on `LogMessage` fields, this behavior also applies to it.
9458
95-
* `ebpf()`: acquire CAP_BPF before loading eBPF programs
59+
*Breaking change*:
60+
When using templates, you now need to decode the result manually. For example:
61+
`format().decode("utf-8", errors="backslashreplace")`
62+
([#799](https://github.com/axoflow/axosyslog/pull/799))
9663
97-
Previously, when AxoSyslog was compiled with Linux capabilities enabled,
98-
the `ebpf()` module was unable to load programs.
99-
([#768](https://github.com/axoflow/axosyslog/pull/768))
64+
* `in` FilterX operator: Fixed possible memory corruption regarding unreferencing an operand.
65+
([#792](https://github.com/axoflow/axosyslog/pull/792))
10066
10167
10268
@@ -119,5 +85,5 @@ of AxoSyslog, contribute.
11985
12086
We would like to thank the following people for their contribution:
12187
122-
Andras Mitzki, Attila Szakacs, Balazs Scheidler, Ben Ireland,
123-
László Várady, Szilard Parrag, Tamás Kosztyu, shifter
88+
Andras Mitzki, Attila Szakacs, Balazs Scheidler, Hofi, László Várady,
89+
Szilard Parrag, Tamás Kosztyu, shifter

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ A simple example is to ingest syslog traffic on tcp/514 and write it to a
4545
file:
4646

4747
```
48-
@version: 4.17
48+
@version: 4.18
4949
@include "scl.conf"
5050
5151
log {
@@ -85,7 +85,7 @@ docker pull ghcr.io/axoflow/axosyslog:nightly
8585
> Note: These named packages are automatically updated when a new AxoSyslog package is released. To install a specific version, run `docker pull ghcr.io/axoflow/axosyslog:<version-number>`, for example:
8686
>
8787
> ```shell
88-
> docker pull ghcr.io/axoflow/axosyslog:4.17.0
88+
> docker pull ghcr.io/axoflow/axosyslog:4.18.0
8989
> ```
9090
9191
The container images contain a default configuration file which you probably

VERSION.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
4.17.0
1+
4.18.0

contrib/openbsd-packaging/syslog-ng.conf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# This should provide behavior similar to OpenBSD's syslog.conf(5).
33
# 2021-05-24 millert@openbsd.org
44

5-
@version: 4.17
5+
@version: 4.18
66
@requires openbsd
77

88
options {

doc/man/dqtool.1.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
<refmeta>
3131
<refentrytitle>dqtool</refentrytitle>
3232
<manvolnum>1</manvolnum>
33-
<refmiscinfo class="version">4.17</refmiscinfo>
33+
<refmiscinfo class="version">4.18</refmiscinfo>
3434
<refmiscinfo class="source"/>
3535
</refmeta>
3636
<refnamediv>
@@ -117,7 +117,7 @@ Mar 3 10:52:05 tristram localprg[1234]: seq: 0000011631, runid: 1267609923, sta
117117
<link linkend="syslog-ng.8"><command>syslog-ng</command>(8)</link>
118118
</para>
119119
<note version="5.0">
120-
<para>For the detailed documentation of see <link xmlns:ns1="http://www.w3.org/1999/xlink" ns1:href="https://www.syslog-ng.com/technical-documents/doc/syslog-ng-open-source-edition/3.37/administration-guide"><command>The 4.17 Administrator Guide</command></link></para>
120+
<para>For the detailed documentation of see <link xmlns:ns1="http://www.w3.org/1999/xlink" ns1:href="https://www.syslog-ng.com/technical-documents/doc/syslog-ng-open-source-edition/3.37/administration-guide"><command>The 4.18 Administrator Guide</command></link></para>
121121
<para>If you experience any problems or need help with syslog-ng, visit the <link xmlns:ns1="http://www.w3.org/1999/xlink" ns1:href="https://lists.balabit.hu/mailman/listinfo/syslog-ng"><command>syslog-ng mailing list</command></link>.</para>
122122
<para>For news and notifications about of syslog-ng, visit the <link xmlns:ns1="http://www.w3.org/1999/xlink" ns1:href="https://syslog-ng.org/blogs/"><command>syslog-ng blogs</command></link>.</para>
123123
</note>

doc/man/loggen.1.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
<refmeta>
3131
<refentrytitle>loggen</refentrytitle>
3232
<manvolnum>1</manvolnum>
33-
<refmiscinfo class="version">4.17</refmiscinfo>
33+
<refmiscinfo class="version">4.18</refmiscinfo>
3434
<refmiscinfo class="source"/>
3535
</refmeta>
3636
<refnamediv>
@@ -280,7 +280,7 @@
280280
<link linkend="syslog-ng.conf.5"><command>syslog-ng.conf</command>(5)</link>
281281
</para>
282282
<note version="5.0">
283-
<para>For the detailed documentation of see <link xmlns:ns1="http://www.w3.org/1999/xlink" ns1:href="https://www.syslog-ng.com/technical-documents/doc/syslog-ng-open-source-edition/3.37/administration-guide"><command>The 4.17 Administrator Guide</command></link></para>
283+
<para>For the detailed documentation of see <link xmlns:ns1="http://www.w3.org/1999/xlink" ns1:href="https://www.syslog-ng.com/technical-documents/doc/syslog-ng-open-source-edition/3.37/administration-guide"><command>The 4.18 Administrator Guide</command></link></para>
284284
<para>If you experience any problems or need help with syslog-ng, visit the <link xmlns:ns1="http://www.w3.org/1999/xlink" ns1:href="https://lists.balabit.hu/mailman/listinfo/syslog-ng"><command>syslog-ng mailing list</command></link>.</para>
285285
<para>For news and notifications about of syslog-ng, visit the <link xmlns:ns1="http://www.w3.org/1999/xlink" ns1:href="https://syslog-ng.org/blogs/"><command>syslog-ng blogs</command></link>.</para>
286286
</note>

doc/man/pdbtool.1.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
<refmeta>
3131
<refentrytitle>pdbtool</refentrytitle>
3232
<manvolnum>1</manvolnum>
33-
<refmiscinfo class="version">4.17</refmiscinfo>
33+
<refmiscinfo class="version">4.18</refmiscinfo>
3434
<refmiscinfo class="source"/>
3535
</refmeta>
3636
<refnamediv>
@@ -377,7 +377,7 @@
377377
</term>
378378
<listitem>
379379
<para>A pattern is added to the output pattern database if at least the specified percentage of log messages from the input logfile match the pattern. For example, if the input logfile contains 1000 log messages and the <parameter>--support=3.0</parameter> option is used, a pattern is created only if the pattern matches at least 3 percent of the log messages (that is, 30 log messages). If patternize does not create enough patterns, try to decrease the support value.</para>
380-
<para>Default value: <parameter>4.17</parameter></para>
380+
<para>Default value: <parameter>4.18</parameter></para>
381381
</listitem>
382382
</varlistentry>
383383
<varlistentry version="5.0">
@@ -467,7 +467,7 @@
467467
<link linkend="syslog-ng.8"><command>syslog-ng</command>(8)</link>
468468
</para>
469469
<note version="5.0">
470-
<para>For the detailed documentation of see <link xmlns:ns1="http://www.w3.org/1999/xlink" ns1:href="https://www.balabit.com/documents/syslog-ng-ose-latest-guides/en/syslog-ng-ose-guide-admin/html/index.html"><command>The 4.17 Administrator Guide</command></link></para>
470+
<para>For the detailed documentation of see <link xmlns:ns1="http://www.w3.org/1999/xlink" ns1:href="https://www.balabit.com/documents/syslog-ng-ose-latest-guides/en/syslog-ng-ose-guide-admin/html/index.html"><command>The 4.18 Administrator Guide</command></link></para>
471471
<para>If you experience any problems or need help with syslog-ng, visit the <link xmlns:ns1="http://www.w3.org/1999/xlink" ns1:href="https://lists.balabit.hu/mailman/listinfo/syslog-ng"><command>syslog-ng mailing list</command></link>.</para>
472472
<para>For news and notifications about of syslog-ng, visit the <link xmlns:ns1="http://www.w3.org/1999/xlink" ns1:href="https://syslog-ng.org/blogs/"><command>syslog-ng blogs</command></link>.</para>
473473
</note>

doc/man/persist-tool.1.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
<refmeta>
3131
<refentrytitle>persist-tool</refentrytitle>
3232
<manvolnum>1</manvolnum>
33-
<refmiscinfo class="version">4.17</refmiscinfo>
33+
<refmiscinfo class="version">4.18</refmiscinfo>
3434
<refmiscinfo class="source"/>
3535
</refmeta>
3636
<refnamediv>
@@ -130,7 +130,7 @@ affile_sd_curpos(/var/aaa.txt) OK</synopsis>
130130
<para><link linkend="syslog-ng.conf.5"> <command>syslog-ng.conf</command>(5)</link></para>
131131
<para><link linkend="syslog-ng.8"> <command>syslog-ng</command>(8)</link></para>
132132
<note version="5.0">
133-
<para>For the detailed documentation of see <link xmlns:ns1="http://www.w3.org/1999/xlink" ns1:href="https://www.balabit.com/documents/syslog-ng-ose-latest-guides/en/syslog-ng-ose-guide-admin/html/index.html"><command>The 4.17 Administrator Guide</command></link></para>
133+
<para>For the detailed documentation of see <link xmlns:ns1="http://www.w3.org/1999/xlink" ns1:href="https://www.balabit.com/documents/syslog-ng-ose-latest-guides/en/syslog-ng-ose-guide-admin/html/index.html"><command>The 4.18 Administrator Guide</command></link></para>
134134
<para>If you experience any problems or need help with syslog-ng, visit the <link xmlns:ns1="http://www.w3.org/1999/xlink" ns1:href="https://lists.balabit.hu/mailman/listinfo/syslog-ng"><command>syslog-ng mailing list</command></link>.</para>
135135
<para>For news and notifications about of syslog-ng, visit the <link xmlns:ns1="http://www.w3.org/1999/xlink" ns1:href="https://syslog-ng.org/blogs/"><command>syslog-ng blogs</command></link>.</para>
136136
</note>

doc/man/secure-logging.7.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
<refmeta>
3131
<refentrytitle>secure-logging</refentrytitle>
3232
<manvolnum>7</manvolnum>
33-
<refmiscinfo class="version">4.17</refmiscinfo>
33+
<refmiscinfo class="version">4.18</refmiscinfo>
3434
<refmiscinfo class="source"/>
3535
</refmeta>
3636
<refnamediv>
@@ -190,7 +190,7 @@ AgAAAAAAAAA=:5UVybnKL1EAbgC4CLfd8HpgurjREf4LEN61/yWHSD2hbXjRD4QmQdtbwguT1chzdItK
190190
# entries will be logged to a single file called /var/log/messages.slog
191191
#
192192
193-
@version: 4.17
193+
@version: 4.18
194194
@include "scl.conf"
195195
196196
source s_local {

0 commit comments

Comments
 (0)