Improve discoverability of rsyslog-specific AI helpers for users and
contributors. This supports onboarding and troubleshooting and aligns
with the project's AI-first strategy.
Impact: docs-only; adds a new page under Getting Started navigation.
there was "workaround" introduced in the container which prevented
to detect some issues in libgrypt-related code. This was probably done
to get newer version in dev env without the need to adapt code to
broken libgrypt API level in new version.
That prevented issues in https://github.com/rsyslog/rsyslog/pull/5406
to be deteced.
We are redesigning the new user onboarding doc. This commit
provides very first experience documentation. Some is duplicate
content to the previous version, which we keep for now.
A cleanup will follow later. We want to gain some feedback first.
Thus the early merge.
Handle post-handshake KeyUpdate by driving a minimal non-blocking read when the
TLS library requests READ during Send(). This prevents stalls when servers send
TLS 1.3 KeyUpdate and aligns behavior with RFC 8446 §4.6.3.
- nsd_ossl.c: SSL_ERROR_WANT_READ => small SSL_read(), then retry write
- nsd_gtls.c: E_AGAIN/E_INTERRUPTED with READ direction => small gnutls_record_recv(), then retry write
Backward-compatible and only active when the TLS stack signals a need to read.
closes: https://github.com/rsyslog/rsyslog/issues/5627
most importantly, header file now includes comments that enable
tooltip-like behaviour in IDEs. Also includes antipaterns, which
is useful for developers and hopefully also for AI to detect
them e.g. in code reviews (and get it right in AI-generated code).
This moves NetworkNamespace functionality into
the net module. This allows the same code to
be reused across multiple tools and plugins.
The first usage is with omfwd, which is changed
to use the common net implementation. Note
the net implementation is based on the original
omfwd implementation. Subsequent PRs will be
opened for integrating this into omuxsock and
imtcp.
The original test case tcp_forwarding_ns_tpl.sh
was broken due to use of single quotes rather
than double quotes, thus preventing the proper
port number argument to be passed to the
listener. Note this test must be run as
root.
Development has occurred across Fedora41 and
Fedora42, which uses glibc 2.40 and glibc2.41
respectively. The valgrind suppressions are
updated to handle new glibc issues
accordingly.
Four new functions are callable through the
net module. These allow one to save a handle
to the current namespace, switch to a new
namespace by name, and restore the namespace
from the saved handle. A fourth higher
level wrapper is used to open a socket in
a named network namespace, and handles the
invocation of the lower level functions.
Ideally this would be the only public
function, however it simplifies integration
into imtcp in the future (which doesn't
directly open sockets). This may change
in the future as network namespaces are
integrated into more modules and plugins.
Signed-off-by: Billie Alsup <balsup@cisco.com>
The doc basically said C stdio and select() are not compatible. This of
course is invalid. It is stdio buffering what can cause issues
with the module. Provided better advise now.
The change in #2950 introduced
AC_CHECK_FUNCS(mongoc_client_set_ssl_opts,,)
This check always returns "no", so SSL/TLS support was always disabled
even if mongo-c-driver had been built with SSL/TLS support. So while it
fixed the build failure it meant that this specific code in ommongodb
was no longer enabled.
Instead, use the define that is provided by mongo-config.h:
/*
* MONGOC_ENABLE_SSL is set from configure to determine if we are
* compiled with any SSL support.
*/
Update pkg-config check for v2 of mongo-c-driver
The name of the pkg-config file has changed from libmongoc-1.0.pc to
mongoc2.pc. First try the new version and keep the old version as
fallback.
In version 1.13.0, the headers were re-organized and the preferred way
of including the headers are <mongoc/mongo.h> and <bson/bson.h>.
Forwarding headers to keep backwards compatibility were introduced that
have been removed in v2.
To support building on CentOS 7 and Ubuntu 18, which ship versions older
than 1.13.0, keep using the old include names for v1 and use the new
include names for v2.
Once the minimum version of mongo-c-driver is bumped to >= 1.13.0, this
fallback can be dropped.
Adds the ability to remove unnecessary spaces from genrated json
to conserve space, e.g. on disk.
Maintainer edit: this replaces orginal PR which was too hard to
rebase. This was caused by too-slow reaction of the rsyslog team.
see also: https://github.com/rsyslog/rsyslog/pull/2925
(this is the original PR)
closes: https://github.com/rsyslog/rsyslog/issues/2913