--- /dev/null
+diff -urNp -x '*.orig' syslog-ng-syslog-ng-4.8.0.org/lib/logsource.c syslog-ng-syslog-ng-4.8.0/lib/logsource.c
+--- syslog-ng-syslog-ng-4.8.0.org/lib/logsource.c 2024-07-23 13:41:56.000000000 +0200
++++ syslog-ng-syslog-ng-4.8.0/lib/logsource.c 2024-08-18 17:12:24.901204805 +0200
+@@ -60,7 +60,7 @@ _take_reclaimed_window(LogSource *self,
+ return window_size_increment;
+ }
+
+- guint32 remaining_window_size_increment = MAX(window_size_increment - old, 0);
++ guint32 remaining_window_size_increment = MAX((gssize)window_size_increment - old, 0);
+ guint32 reclaimed = window_size_increment - remaining_window_size_increment;
+ atomic_gssize_add(&self->pending_reclaimed, reclaimed);
+
+diff -urNp -x '*.orig' syslog-ng-syslog-ng-4.8.0.org/lib/tests/test_window_size_counter.c syslog-ng-syslog-ng-4.8.0/lib/tests/test_window_size_counter.c
+--- syslog-ng-syslog-ng-4.8.0.org/lib/tests/test_window_size_counter.c 2024-07-23 13:41:56.000000000 +0200
++++ syslog-ng-syslog-ng-4.8.0/lib/tests/test_window_size_counter.c 2024-08-18 17:12:24.901204805 +0200
+@@ -58,8 +58,8 @@ Test(test_window_size_counter, negative_
+ WindowSizeCounter c;
+ gboolean suspended = FALSE;
+ window_size_counter_set(&c, -1);
+- gint v = (gint)window_size_counter_get(&c, &suspended);
+- cr_assert_eq(v, -1);
++ gssize v = (gssize)window_size_counter_get(&c, &suspended);
++ cr_assert_eq(v, G_MAXLONG);
+ }
+
+ Test(test_window_size_counter, suspend_resume_multiple_times)
-diff -urNp -x '*.orig' syslog-ng-syslog-ng-4.2.0.org/Makefile.am syslog-ng-syslog-ng-4.2.0/Makefile.am
---- syslog-ng-syslog-ng-4.2.0.org/Makefile.am 2023-05-10 16:55:07.000000000 +0200
-+++ syslog-ng-syslog-ng-4.2.0/Makefile.am 2023-07-18 21:48:13.812441943 +0200
+diff -urNp -x '*.orig' syslog-ng-syslog-ng-4.8.0.org/Makefile.am syslog-ng-syslog-ng-4.8.0/Makefile.am
+--- syslog-ng-syslog-ng-4.8.0.org/Makefile.am 2024-07-23 13:41:56.000000000 +0200
++++ syslog-ng-syslog-ng-4.8.0/Makefile.am 2024-08-18 17:09:08.425595005 +0200
@@ -24,7 +24,7 @@
SUBDIRS =
DIST_SUBDIRS =
--- /dev/null
+diff -urNp -x '*.orig' syslog-ng-syslog-ng-4.8.0.org/configure.ac syslog-ng-syslog-ng-4.8.0/configure.ac
+--- syslog-ng-syslog-ng-4.8.0.org/configure.ac 2024-08-18 17:12:27.037244049 +0200
++++ syslog-ng-syslog-ng-4.8.0/configure.ac 2024-08-18 17:12:27.205247136 +0200
+@@ -1036,16 +1036,18 @@ dnl GLib headers/libraries
+ dnl ***************************************************************************
+
+ GLIB_ADDONS="gmodule-2.0 gthread-2.0"
+-PKG_CHECK_MODULES(GLIB, glib-2.0 >= $GLIB_MIN_VERSION $GLIB_ADDONS,,)
+
+ if test "$linking_mode" != "dynamic"; then
++ PKG_CHECK_MODULES_STATIC(GLIB, glib-2.0 >= $GLIB_MIN_VERSION $GLIB_ADDONS,,)
+ # strip out -ldl & -lrt as it cannot be linked statically
+- GLIB_LIBS=`echo $GLIB_LIBS | tr ' ' '\n' | egrep -v "^(-ldld?)|(-lrt)$" | tr '\n' ' '`
++ GLIB_LIBS=`echo $GLIB_LIBS | tr ' ' '\n' | egrep -v "^(-ldld?)|(-lrt)|(-lm)|(-lpcre2-8)$" | tr '\n' ' '`
+
+ old_LIBS=$LIBS
+ LIBS="$LD_START_STATIC $GLIB_LIBS $LD_END_STATIC $BASE_LIBS"
+ AC_CHECK_FUNC(g_hash_table_new, blb_cv_static_glib=yes, blb_cv_static_glib=no)
+ LIBS=$old_LIBS
++else
++ PKG_CHECK_MODULES(GLIB, glib-2.0 >= $GLIB_MIN_VERSION $GLIB_ADDONS,,)
+ fi
+
+ old_CPPFLAGS=$CPPFLAGS
+++ /dev/null
-
-https://lists.balabit.hu/pipermail/syslog-ng/2009-August/013325.html
-
-
- [syslog-ng] PATCH: Log file size limit (was: Logfile Rotation)
-
-Balazs Scheidler wrote:
->>
->> Personally I prefer to arrange log rotation based on the file size
->> rather than some fixed time interval, so I have added that feature
->> to syslog-ng. If anyone is interested I can explain in more details
->> and post the patch.
->
-> Please do. That's what open source is about.
->
-
-The following patch introduces two new configuration options:
-'file_size_limit' to be used inside global 'options' and 'size_limit' to
-be used inside 'file' destination. Each option specifies log file size
-limit in bytes. If the global option is set to a value greater than zero
-it applies to all 'file' destinations. A particular file destination can
-remove the limit by setting it to zero. For example:
-
-# set the global file size limit
-options { file_size_limit(123456); };
-
-# set a different size limit for a particular file destination
-destination log1 { file("/var/log/log1.log" size_limit(456789)); };
-
-# remove size limit for a particular file destination
-# (only useful if there is a global size limit set)
-destination log2 { file("/var/log/log2.log" size_limit(0)); };
-
-The file size is checked after writing each log message and if the file
-has grown up to or above the size limit the file is renamed and a new
-empty file is created to continue logging to. The name format the
-"overgrown" log file is renamed to is "<p>-<s>.<m>-<r>", where <p> - the
-full path and name of the original log file, <s> - current time in UNIX
-format (seconds since Jan 1, 1970), <m> - fractional part of the current
-time (microseconds, 6 digits), <r> - a random number (10 digits).
-
-The intended use is to have incrond or another similar mechanism to
-detect when there is a new "renamed" log file and to process it in
-whatever way necessary (gzip it, parse it, send it my email, etc.).
-
-*********** BEGIN PATCH ***********
-diff -U5 -rb syslog-ng-3.0.4-orig/src/affile.c syslog-ng-3.0.4/src/affile.c
---- syslog-ng-3.0.4-orig/src/affile.c 2009-07-31 11:41:20.000000000 +0200
-+++ syslog-ng-3.0.4/src/affile.c 2009-08-17 11:02:41.000000000 +0200
-@@ -428,14 +428,72 @@
- {
- return log_queue_get_length(((LogWriter *) self->writer)->queue) == 0;
- }
-
- static gboolean
-+affile_dw_open_file(AFFileDestWriter *self, int *fd)
-+{
-+ return affile_open_file(self->filename->str, (self->owner->flags & AFFILE_PIPE)?
-+ (O_RDWR | O_NOCTTY | O_NONBLOCK | O_LARGEFILE):
-+ (O_WRONLY | O_CREAT | O_NOCTTY | O_NONBLOCK | O_LARGEFILE),
-+ self->owner->file_uid, self->owner->file_gid, self->owner->file_perm,
-+ self->owner->dir_uid, self->owner->dir_gid, self->owner->dir_perm,
-+ !!(self->owner->flags & AFFILE_CREATE_DIRS), FALSE, !!(self->owner->flags & AFFILE_PIPE), fd);
-+}
-+
-+static void
-+affile_dw_transport_callback(gint fd, void *context)
-+{
-+ static const size_t extra_length = 32;
-+ AFFileDestWriter *self = (AFFileDestWriter *) context;
-+ off_t size = lseek(fd, 0, SEEK_CUR);
-+ GTimeVal time;
-+ GString *name;
-+ int reopen_fd;
-+ if ((size > 0) && (size >= self->owner->size_limit))
-+ {
-+ /* TODO: use g_file_read_link() */
-+ g_get_current_time(&time);
-+ name = g_string_sized_new(self->filename->len + extra_length);
-+ g_string_printf(name, "%s-%lu.%06lu-%010lu", self->filename->str, (gulong)time.tv_sec, (gulong)time.tv_usec, (gulong)g_random_int());
-+ if (rename(self->filename->str, name->str) == 0)
-+ {
-+ if (affile_dw_open_file(self, &reopen_fd))
-+ {
-+ if (dup2(reopen_fd, fd) < 0)
-+ {
-+ msg_error("Error swithing to new log file",
-+ evt_tag_str("filename", self->filename->str),
-+ evt_tag_errno(EVT_TAG_OSERROR, errno),
-+ NULL);
-+ }
-+ close(reopen_fd);
-+ }
-+ else
-+ {
-+ msg_error("Error opening file for writing",
-+ evt_tag_str("filename", self->filename->str),
-+ evt_tag_errno(EVT_TAG_OSERROR, errno),
-+ NULL);
-+ }
-+ }
-+ else
-+ {
-+ msg_error("Error renaming overgrown file",
-+ evt_tag_str("filename", self->filename->str),
-+ evt_tag_errno(EVT_TAG_OSERROR, errno),
-+ NULL);
-+ }
-+ g_string_free(name, TRUE);
-+ }
-+}
-+
-+static gboolean
- affile_dw_init(LogPipe *s)
- {
- AFFileDestWriter *self = (AFFileDestWriter *) s;
-- int fd, flags;
-+ int fd;
- struct stat st;
- GlobalConfig *cfg = log_pipe_get_config(s);
-
- if (cfg)
- self->time_reopen = cfg->time_reopen;
-@@ -454,20 +512,12 @@
- evt_tag_int("overwrite_if_older", self->owner->overwrite_if_older),
- NULL);
- unlink(self->filename->str);
- }
-
-- if (self->owner->flags & AFFILE_PIPE)
-- flags = O_RDWR | O_NOCTTY | O_NONBLOCK | O_LARGEFILE;
-- else
-- flags = O_WRONLY | O_CREAT | O_NOCTTY | O_NONBLOCK | O_LARGEFILE;
--
- self->last_open_stamp = time(NULL);
-- if (affile_open_file(self->filename->str, flags,
-- self->owner->file_uid, self->owner->file_gid, self->owner->file_perm,
-- self->owner->dir_uid, self->owner->dir_gid, self->owner->dir_perm,
-- !!(self->owner->flags & AFFILE_CREATE_DIRS), FALSE, !!(self->owner->flags & AFFILE_PIPE), &fd))
-+ if (affile_dw_open_file(self, &fd))
- {
- guint write_flags;
-
- if (!self->writer)
- {
-@@ -482,11 +532,11 @@
- self->writer = NULL;
- close(fd);
- return FALSE;
- }
- write_flags = ((self->owner->flags & AFFILE_FSYNC) ? LTF_FSYNC : 0) | LTF_APPEND;
-- log_writer_reopen(self->writer, log_proto_plain_new_client(log_transport_plain_new(fd, write_flags)));
-+ log_writer_reopen(self->writer, log_proto_plain_new_client(((self->owner->size_limit > 0) && !(self->owner->flags & AFFILE_PIPE))? log_transport_plain_new_with_callback(fd, write_flags, affile_dw_transport_callback, self): log_transport_plain_new(fd, write_flags)));
- }
- else
- {
- msg_error("Error opening file for writing",
- evt_tag_str("filename", self->filename->str),
-@@ -678,10 +728,18 @@
- AFFileDestDriver *self = (AFFileDestDriver *) s;
-
- self->local_time_zone = g_strdup(local_time_zone);
- }
-
-+void
-+affile_dd_set_file_size_limit(LogDriver *s, off_t file_size_limit)
-+{
-+ AFFileDestDriver *self = (AFFileDestDriver *) s;
-+
-+ self->size_limit = file_size_limit;
-+}
-+
- static inline gchar *
- affile_dd_format_persist_name(AFFileDestDriver *self)
- {
- static gchar persist_name[1024];
-
-@@ -766,10 +824,12 @@
- self->dir_gid = cfg->dir_gid;
- if (self->dir_perm == (mode_t) -1)
- self->dir_perm = cfg->dir_perm;
- if (self->time_reap == -1)
- self->time_reap = cfg->time_reap;
-+ if (self->size_limit == -1)
-+ self->size_limit = cfg->file_size_limit;
-
- self->use_time_recvd = cfg->use_time_recvd;
-
- if (self->local_time_zone_info)
- time_zone_info_free(self->local_time_zone_info);
-@@ -973,7 +1033,8 @@
- if (strchr(filename, '$') == NULL)
- {
- self->flags |= AFFILE_NO_EXPAND;
- }
- self->time_reap = -1;
-+ self->size_limit = -1;
- return &self->super;
- }
-diff -U5 -rb syslog-ng-3.0.4-orig/src/affile.h syslog-ng-3.0.4/src/affile.h
---- syslog-ng-3.0.4-orig/src/affile.h 2009-04-30 12:22:53.000000000 +0200
-+++ syslog-ng-3.0.4/src/affile.h 2009-08-17 10:10:39.000000000 +0200
-@@ -72,10 +72,11 @@
-
- gint overwrite_if_older;
- gboolean use_time_recvd;
- gint time_reap;
- guint reap_timer;
-+ off_t size_limit;
- } AFFileDestDriver;
-
- LogDriver *affile_dd_new(gchar *filename, guint32 flags);
-
- void affile_dd_set_compress(LogDriver *s, gboolean compress);
-@@ -88,7 +89,8 @@
- void affile_dd_set_dir_perm(LogDriver *s, mode_t dir_perm);
- void affile_dd_set_create_dirs(LogDriver *s, gboolean create_dirs);
- void affile_dd_set_fsync(LogDriver *s, gboolean enable);
- void affile_dd_set_overwrite_if_older(LogDriver *s, gint overwrite_if_older);
- void affile_dd_set_local_time_zone(LogDriver *s, const gchar *local_time_zone);
-+void affile_dd_set_file_size_limit(LogDriver *s, off_t file_size_limit);
-
- #endif
-diff -U5 -rb syslog-ng-3.0.4-orig/src/cfg-grammar.y syslog-ng-3.0.4/src/cfg-grammar.y
---- syslog-ng-3.0.4-orig/src/cfg-grammar.y 2009-08-05 12:34:18.000000000 +0200
-+++ syslog-ng-3.0.4/src/cfg-grammar.y 2009-08-17 10:10:39.000000000 +0200
-@@ -154,10 +154,11 @@
- %token KW_DIR_OWNER KW_DIR_GROUP KW_DIR_PERM
- %token KW_TEMPLATE KW_TEMPLATE_ESCAPE
- %token KW_FOLLOW_FREQ
- %token KW_OVERWRITE_IF_OLDER
- %token KW_DEFAULT_FACILITY KW_DEFAULT_LEVEL
-+%token KW_FILE_SIZE_LIMIT KW_SIZE_LIMIT
-
- /* socket related options */
- %token KW_KEEP_ALIVE KW_MAX_CONNECTIONS
- %token KW_LOCALIP KW_IP KW_LOCALPORT KW_PORT KW_DESTPORT
- %token KW_IP_TTL KW_SO_BROADCAST KW_IP_TOS KW_SO_SNDBUF KW_SO_RCVBUF KW_SO_KEEPALIVE KW_SPOOF_SOURCE
-@@ -799,10 +800,11 @@
- | KW_DIR_PERM '(' LL_NUMBER ')' { affile_dd_set_dir_perm(last_driver, $3); }
- | KW_CREATE_DIRS '(' yesno ')' { affile_dd_set_create_dirs(last_driver, $3); }
- | KW_OVERWRITE_IF_OLDER '(' LL_NUMBER ')' { affile_dd_set_overwrite_if_older(last_driver, $3); }
- | KW_FSYNC '(' yesno ')' { affile_dd_set_fsync(last_driver, $3); }
- | KW_LOCAL_TIME_ZONE '(' string ')' { affile_dd_set_local_time_zone(last_driver, $3); free($3); }
-+ | KW_SIZE_LIMIT '(' LL_NUMBER ')' { affile_dd_set_file_size_limit(last_driver, $3); }
- ;
-
- dest_afpipe
- : KW_PIPE '(' dest_afpipe_params ')' { $$ = $3; }
- ;
-@@ -1141,10 +1143,11 @@
- | KW_FILE_TEMPLATE '(' string ')' { configuration->file_template_name = g_strdup($3); free($3); }
- | KW_PROTO_TEMPLATE '(' string ')' { configuration->proto_template_name = g_strdup($3); free($3); }
- | KW_RECV_TIME_ZONE '(' string ')' { configuration->recv_time_zone = g_strdup($3); free($3); }
- | KW_SEND_TIME_ZONE '(' string ')' { configuration->send_time_zone = g_strdup($3); free($3); }
- | KW_LOCAL_TIME_ZONE '(' string ')' { configuration->local_time_zone = g_strdup($3); free($3); }
-+ | KW_FILE_SIZE_LIMIT '(' LL_NUMBER ')' { configuration->file_size_limit = $3; }
- ;
-
- /* BEGIN MARK: tls */
- tls_options
- : tls_option tls_options
-diff -U5 -rb syslog-ng-3.0.4-orig/src/cfg-lex.l syslog-ng-3.0.4/src/cfg-lex.l
---- syslog-ng-3.0.4-orig/src/cfg-lex.l 2009-05-06 11:20:22.000000000 +0200
-+++ syslog-ng-3.0.4/src/cfg-lex.l 2009-08-17 10:10:39.000000000 +0200
-@@ -126,10 +126,12 @@
- { "recv_time_zone", KW_RECV_TIME_ZONE },
- { "send_time_zone", KW_SEND_TIME_ZONE },
- { "local_time_zone", KW_LOCAL_TIME_ZONE },
- { "use_time_recvd", KW_USE_TIME_RECVD, KWS_OBSOLETE, "Use R_ or S_ prefixed macros in templates" },
- { "use_fqdn", KW_USE_FQDN },
-+ { "size_limit", KW_SIZE_LIMIT },
-+ { "file_size_limit", KW_FILE_SIZE_LIMIT },
- { "use_dns", KW_USE_DNS },
- { "gc_threshold", KW_GC_BUSY_THRESHOLD },
- { "gc_busy_threshold", KW_GC_BUSY_THRESHOLD },
- { "gc_idle_threshold", KW_GC_IDLE_THRESHOLD },
- { "time_reopen", KW_TIME_REOPEN },
-diff -U5 -rb syslog-ng-3.0.4-orig/src/cfg.c syslog-ng-3.0.4/src/cfg.c
---- syslog-ng-3.0.4-orig/src/cfg.c 2009-04-30 12:00:54.000000000 +0200
-+++ syslog-ng-3.0.4/src/cfg.c 2009-08-17 10:10:39.000000000 +0200
-@@ -298,10 +298,11 @@
-
- self->follow_freq = -1;
- self->file_uid = 0;
- self->file_gid = 0;
- self->file_perm = 0600;
-+ self->file_size_limit = 0;
- self->dir_uid = 0;
- self->dir_gid = 0;
- self->dir_perm = 0700;
-
- self->use_dns_cache = 1;
-diff -U5 -rb syslog-ng-3.0.4-orig/src/cfg.h syslog-ng-3.0.4/src/cfg.h
---- syslog-ng-3.0.4-orig/src/cfg.h 2009-06-03 13:08:27.000000000 +0200
-+++ syslog-ng-3.0.4/src/cfg.h 2009-08-17 10:10:39.000000000 +0200
-@@ -78,10 +78,11 @@
- gint follow_freq;
- gboolean create_dirs;
- uid_t file_uid;
- gid_t file_gid;
- mode_t file_perm;
-+ off_t file_size_limit;
-
- uid_t dir_uid;
- gid_t dir_gid;
- mode_t dir_perm;
-
-diff -U5 -rb syslog-ng-3.0.4-orig/src/logtransport.c syslog-ng-3.0.4/src/logtransport.c
---- syslog-ng-3.0.4-orig/src/logtransport.c 2009-04-30 10:53:22.000000000 +0200
-+++ syslog-ng-3.0.4/src/logtransport.c 2009-08-17 11:01:33.000000000 +0200
-@@ -53,10 +53,12 @@
- typedef struct _LogTransportPlain LogTransportPlain;
-
- struct _LogTransportPlain
- {
- LogTransport super;
-+ LogTransportCallback callback;
-+ void *context;
- };
-
- static gssize
- log_transport_plain_read_method(LogTransport *s, gpointer buf, gsize buflen, GSockAddr **sa)
- {
-@@ -138,24 +140,32 @@
- alarm_cancel();
- if (self->super.flags & LTF_FSYNC)
- fsync(self->super.fd);
- }
- while (rc == -1 && errno == EINTR);
-+ if ((self->callback != NULL) && (rc > 0))
-+ self->callback(self->super.fd, self->context);
- return rc;
- }
-
-
- LogTransport *
--log_transport_plain_new(gint fd, guint flags)
-+log_transport_plain_new_with_callback(gint fd, guint flags, LogTransportCallback callback, void *context)
- {
- LogTransportPlain *self = g_new0(LogTransportPlain, 1);
-
- self->super.fd = fd;
- self->super.cond = 0;
- self->super.flags = flags;
- self->super.read = log_transport_plain_read_method;
- self->super.write = log_transport_plain_write_method;
- self->super.free_fn = log_transport_free_method;
-+ self->callback = callback;
-+ self->context = context;
- return &self->super;
- }
-
--
-+LogTransport *
-+log_transport_plain_new(gint fd, guint flags)
-+{
-+ return log_transport_plain_new_with_callback(fd, flags, NULL, NULL);
-+}
-diff -U5 -rb syslog-ng-3.0.4-orig/src/logtransport.h syslog-ng-3.0.4/src/logtransport.h
---- syslog-ng-3.0.4-orig/src/logtransport.h 2009-04-30 10:46:55.000000000 +0200
-+++ syslog-ng-3.0.4/src/logtransport.h 2009-08-17 11:00:58.000000000 +0200
-@@ -57,10 +57,12 @@
- log_transport_read(LogTransport *self, gpointer buf, gsize count, GSockAddr **sa)
- {
- return self->read(self, buf, count, sa);
- }
-
-+typedef void (*LogTransportCallback)(gint fd, void *context);
-+LogTransport *log_transport_plain_new_with_callback(gint fd, guint flags, LogTransportCallback callback, void *context);
- LogTransport *log_transport_plain_new(gint fd, guint flags);
- void log_transport_free(LogTransport *s);
- void log_transport_free_method(LogTransport *s);
-
-
-
-diff -urNp -x '*.orig' syslog-ng-syslog-ng-4.2.0.org/doc/man/dqtool.1.xml syslog-ng-syslog-ng-4.2.0/doc/man/dqtool.1.xml
---- syslog-ng-syslog-ng-4.2.0.org/doc/man/dqtool.1.xml 2023-05-10 16:55:07.000000000 +0200
-+++ syslog-ng-syslog-ng-4.2.0/doc/man/dqtool.1.xml 2023-07-18 21:48:12.373421466 +0200
-@@ -83,7 +83,7 @@ Mar 3 10:52:05 tristram localprg[1234]:
+diff -urNp -x '*.orig' syslog-ng-syslog-ng-4.8.0.org/doc/man/dqtool.1.xml syslog-ng-syslog-ng-4.8.0/doc/man/dqtool.1.xml
+--- syslog-ng-syslog-ng-4.8.0.org/doc/man/dqtool.1.xml 2024-07-23 13:41:56.000000000 +0200
++++ syslog-ng-syslog-ng-4.8.0/doc/man/dqtool.1.xml 2024-08-18 17:09:02.533486753 +0200
+@@ -105,7 +105,7 @@ Mar 3 10:52:05 tristram localprg[1234]:
<refsection>
<title>Files</title>
<para>
</para>
</refsection>
<refsection>
-diff -urNp -x '*.orig' syslog-ng-syslog-ng-4.2.0.org/doc/man/loggen.1.xml syslog-ng-syslog-ng-4.2.0/doc/man/loggen.1.xml
---- syslog-ng-syslog-ng-4.2.0.org/doc/man/loggen.1.xml 2023-05-10 16:55:07.000000000 +0200
-+++ syslog-ng-syslog-ng-4.2.0/doc/man/loggen.1.xml 2023-07-18 21:48:12.373421466 +0200
-@@ -249,7 +249,7 @@
+diff -urNp -x '*.orig' syslog-ng-syslog-ng-4.8.0.org/doc/man/loggen.1.xml syslog-ng-syslog-ng-4.8.0/doc/man/loggen.1.xml
+--- syslog-ng-syslog-ng-4.8.0.org/doc/man/loggen.1.xml 2024-07-23 13:41:56.000000000 +0200
++++ syslog-ng-syslog-ng-4.8.0/doc/man/loggen.1.xml 2024-08-18 17:09:02.533486753 +0200
+@@ -271,7 +271,7 @@
<refsection>
<title>Files</title>
<para>
</para>
</refsection>
<refsection>
-diff -urNp -x '*.orig' syslog-ng-syslog-ng-4.2.0.org/doc/man/pdbtool.1.xml syslog-ng-syslog-ng-4.2.0/doc/man/pdbtool.1.xml
---- syslog-ng-syslog-ng-4.2.0.org/doc/man/pdbtool.1.xml 2023-05-10 16:55:07.000000000 +0200
-+++ syslog-ng-syslog-ng-4.2.0/doc/man/pdbtool.1.xml 2023-07-18 21:48:12.373421466 +0200
-@@ -425,10 +425,10 @@
+diff -urNp -x '*.orig' syslog-ng-syslog-ng-4.8.0.org/doc/man/pdbtool.1.xml syslog-ng-syslog-ng-4.8.0/doc/man/pdbtool.1.xml
+--- syslog-ng-syslog-ng-4.8.0.org/doc/man/pdbtool.1.xml 2024-07-23 13:41:56.000000000 +0200
++++ syslog-ng-syslog-ng-4.8.0/doc/man/pdbtool.1.xml 2024-08-18 17:09:02.533486753 +0200
+@@ -447,10 +447,10 @@
<refsection>
<title>Files</title>
<para>
</para>
</refsection>
<refsection>
-diff -urNp -x '*.orig' syslog-ng-syslog-ng-4.2.0.org/doc/man/syslog-ng-ctl.1.xml syslog-ng-syslog-ng-4.2.0/doc/man/syslog-ng-ctl.1.xml
---- syslog-ng-syslog-ng-4.2.0.org/doc/man/syslog-ng-ctl.1.xml 2023-05-10 16:55:07.000000000 +0200
-+++ syslog-ng-syslog-ng-4.2.0/doc/man/syslog-ng-ctl.1.xml 2023-07-18 21:48:12.373421466 +0200
-@@ -139,7 +139,7 @@ destination;df_facility_dot_err;;a;proce
+diff -urNp -x '*.orig' syslog-ng-syslog-ng-4.8.0.org/doc/man/syslog-ng-ctl.1.xml syslog-ng-syslog-ng-4.8.0/doc/man/syslog-ng-ctl.1.xml
+--- syslog-ng-syslog-ng-4.8.0.org/doc/man/syslog-ng-ctl.1.xml 2024-07-23 13:41:56.000000000 +0200
++++ syslog-ng-syslog-ng-4.8.0/doc/man/syslog-ng-ctl.1.xml 2024-08-18 17:09:02.533486753 +0200
+@@ -161,7 +161,7 @@ destination;df_facility_dot_err;;a;proce
<refsection>
<title>Files</title>
<para>
</para>
</refsection>
<refsection>
-diff -urNp -x '*.orig' syslog-ng-syslog-ng-4.2.0.org/doc/man/syslog-ng-debun.1.xml syslog-ng-syslog-ng-4.2.0/doc/man/syslog-ng-debun.1.xml
---- syslog-ng-syslog-ng-4.2.0.org/doc/man/syslog-ng-debun.1.xml 2023-05-10 16:55:07.000000000 +0200
-+++ syslog-ng-syslog-ng-4.2.0/doc/man/syslog-ng-debun.1.xml 2023-07-18 21:48:12.374421480 +0200
-@@ -59,7 +59,7 @@
+diff -urNp -x '*.orig' syslog-ng-syslog-ng-4.8.0.org/doc/man/syslog-ng-debun.1.xml syslog-ng-syslog-ng-4.8.0/doc/man/syslog-ng-debun.1.xml
+--- syslog-ng-syslog-ng-4.8.0.org/doc/man/syslog-ng-debun.1.xml 2024-07-23 13:41:56.000000000 +0200
++++ syslog-ng-syslog-ng-4.8.0/doc/man/syslog-ng-debun.1.xml 2024-08-18 17:09:02.533486753 +0200
+@@ -81,7 +81,7 @@
<command>-R <directory></command>
</term>
<listitem>
</listitem>
</varlistentry>
<varlistentry>
-@@ -211,7 +211,7 @@
+@@ -233,7 +233,7 @@
<refsection>
<title>Files</title>
<para>
</para>
</refsection>
<refsection>
-diff -urNp -x '*.orig' syslog-ng-syslog-ng-4.2.0.org/doc/man/syslog-ng.8.xml syslog-ng-syslog-ng-4.2.0/doc/man/syslog-ng.8.xml
---- syslog-ng-syslog-ng-4.2.0.org/doc/man/syslog-ng.8.xml 2023-05-10 16:55:07.000000000 +0200
-+++ syslog-ng-syslog-ng-4.2.0/doc/man/syslog-ng.8.xml 2023-07-18 21:48:12.373421466 +0200
-@@ -51,9 +51,9 @@
+diff -urNp -x '*.orig' syslog-ng-syslog-ng-4.8.0.org/doc/man/syslog-ng.8.xml syslog-ng-syslog-ng-4.8.0/doc/man/syslog-ng.8.xml
+--- syslog-ng-syslog-ng-4.8.0.org/doc/man/syslog-ng.8.xml 2024-07-23 13:41:56.000000000 +0200
++++ syslog-ng-syslog-ng-4.8.0/doc/man/syslog-ng.8.xml 2024-08-18 17:09:02.533486753 +0200
+@@ -73,9 +73,9 @@
</listitem>
</itemizedlist>
<para>For example:</para>
<para>For details on the capability flags, see the following man pages: <filename>cap_from_text(3)</filename> and <filename>capabilities(7)</filename></para>
</listitem>
</varlistentry>
-@@ -292,10 +292,10 @@
+@@ -314,10 +314,10 @@
<refsection>
<title>Files</title>
<para>
</para>
</refsection>
<refsection>
-diff -urNp -x '*.orig' syslog-ng-syslog-ng-4.2.0.org/doc/man/syslog-ng.conf.5.xml syslog-ng-syslog-ng-4.2.0/doc/man/syslog-ng.conf.5.xml
---- syslog-ng-syslog-ng-4.2.0.org/doc/man/syslog-ng.conf.5.xml 2023-05-10 16:55:07.000000000 +0200
-+++ syslog-ng-syslog-ng-4.2.0/doc/man/syslog-ng.conf.5.xml 2023-07-18 21:48:12.373421466 +0200
-@@ -427,10 +427,10 @@ log { source(s_localhost); destination(d
+diff -urNp -x '*.orig' syslog-ng-syslog-ng-4.8.0.org/doc/man/syslog-ng.conf.5.xml syslog-ng-syslog-ng-4.8.0/doc/man/syslog-ng.conf.5.xml
+--- syslog-ng-syslog-ng-4.8.0.org/doc/man/syslog-ng.conf.5.xml 2024-07-23 13:41:56.000000000 +0200
++++ syslog-ng-syslog-ng-4.8.0/doc/man/syslog-ng.conf.5.xml 2024-08-18 17:09:02.533486753 +0200
+@@ -449,10 +449,10 @@ log { source(s_localhost); destination(d
<refsection>
<title>Files</title>
<para>
-diff -urNp -x '*.orig' syslog-ng-syslog-ng-4.2.0.org/lib/ivykis/configure.ac syslog-ng-syslog-ng-4.2.0/lib/ivykis/configure.ac
---- syslog-ng-syslog-ng-4.2.0.org/lib/ivykis/configure.ac 2019-05-17 00:41:51.000000000 +0200
-+++ syslog-ng-syslog-ng-4.2.0/lib/ivykis/configure.ac 2023-07-19 02:16:23.999278105 +0200
+diff -urNp -x '*.orig' syslog-ng-syslog-ng-4.8.0.org/lib/ivykis/configure.ac syslog-ng-syslog-ng-4.8.0/lib/ivykis/configure.ac
+--- syslog-ng-syslog-ng-4.8.0.org/lib/ivykis/configure.ac 2019-05-17 00:41:51.000000000 +0200
++++ syslog-ng-syslog-ng-4.8.0/lib/ivykis/configure.ac 2024-08-18 17:09:06.841565903 +0200
@@ -22,7 +22,7 @@ aix7.*)
esac
-diff -ur syslog-ng-syslog-ng-4.2.0.orig/lib/merge-grammar.py syslog-ng-syslog-ng-4.2.0/lib/merge-grammar.py
---- syslog-ng-syslog-ng-4.2.0.orig/lib/merge-grammar.py 2023-05-10 16:55:07.000000000 +0200
-+++ syslog-ng-syslog-ng-4.2.0/lib/merge-grammar.py 2023-07-19 15:46:23.419436837 +0200
+diff -urNp -x '*.orig' syslog-ng-syslog-ng-4.8.0.org/lib/merge-grammar.py syslog-ng-syslog-ng-4.8.0/lib/merge-grammar.py
+--- syslog-ng-syslog-ng-4.8.0.org/lib/merge-grammar.py 2024-07-23 13:41:56.000000000 +0200
++++ syslog-ng-syslog-ng-4.8.0/lib/merge-grammar.py 2024-08-18 17:09:09.933622711 +0200
@@ -1,4 +1,4 @@
-#!/usr/bin/env python3
+#!/usr/bin/python3
FIXME: drop this patch and just fix PATH_LOCALSTATEDIR ?
-diff -urNp -x '*.orig' syslog-ng-syslog-ng-4.2.0.org/lib/syslog-ng.h syslog-ng-syslog-ng-4.2.0/lib/syslog-ng.h
---- syslog-ng-syslog-ng-4.2.0.org/lib/syslog-ng.h 2023-05-10 16:55:07.000000000 +0200
-+++ syslog-ng-syslog-ng-4.2.0/lib/syslog-ng.h 2023-07-18 21:48:11.436408132 +0200
+diff -urNp -x '*.orig' syslog-ng-syslog-ng-4.8.0.org/lib/syslog-ng.h syslog-ng-syslog-ng-4.8.0/lib/syslog-ng.h
+--- syslog-ng-syslog-ng-4.8.0.org/lib/syslog-ng.h 2024-07-23 13:41:56.000000000 +0200
++++ syslog-ng-syslog-ng-4.8.0/lib/syslog-ng.h 2024-08-18 17:08:53.253316256 +0200
@@ -42,7 +42,7 @@
#if SYSLOG_NG_ENABLE_ENV_WRAPPER
#define PATH_SYSLOGNG SYSLOG_NG_PATH_LIBEXECDIR "/syslog-ng"
typedef struct _LogPipe LogPipe;
typedef struct _LogMessage LogMessage;
-diff -urNp -x '*.orig' syslog-ng-syslog-ng-4.2.0.org/scripts/update-patterndb.in syslog-ng-syslog-ng-4.2.0/scripts/update-patterndb.in
---- syslog-ng-syslog-ng-4.2.0.org/scripts/update-patterndb.in 2023-05-10 16:55:07.000000000 +0200
-+++ syslog-ng-syslog-ng-4.2.0/scripts/update-patterndb.in 2023-07-18 21:48:11.436408132 +0200
+diff -urNp -x '*.orig' syslog-ng-syslog-ng-4.8.0.org/scripts/update-patterndb.in syslog-ng-syslog-ng-4.8.0/scripts/update-patterndb.in
+--- syslog-ng-syslog-ng-4.8.0.org/scripts/update-patterndb.in 2024-07-23 13:41:56.000000000 +0200
++++ syslog-ng-syslog-ng-4.8.0/scripts/update-patterndb.in 2024-08-18 17:08:53.253316256 +0200
@@ -3,6 +3,6 @@ prefix=@prefix@
exec_prefix=@exec_prefix@
bindir=@bindir@
-diff -urNp -x '*.orig' syslog-ng-syslog-ng-4.2.0.org/configure.ac syslog-ng-syslog-ng-4.2.0/configure.ac
---- syslog-ng-syslog-ng-4.2.0.org/configure.ac 2023-07-18 21:48:12.708426233 +0200
-+++ syslog-ng-syslog-ng-4.2.0/configure.ac 2023-07-18 21:48:12.849428240 +0200
-@@ -1913,9 +1913,9 @@ if test "x$linking_mode" = "xdynamic"; t
+diff -urNp -x '*.orig' syslog-ng-syslog-ng-4.8.0.org/configure.ac syslog-ng-syslog-ng-4.8.0/configure.ac
+--- syslog-ng-syslog-ng-4.8.0.org/configure.ac 2024-08-18 17:09:04.681526217 +0200
++++ syslog-ng-syslog-ng-4.8.0/configure.ac 2024-08-18 17:09:04.841529157 +0200
+@@ -2164,7 +2164,7 @@ if test "x$linking_mode" = "xdynamic"; t
# syslog-ng binary is linked with the default link command (e.g. libtool)
SYSLOGNG_LINK='$(LINK)'
else
- SYSLOGNG_DEPS_LIBS="$LIBS $BASE_LIBS $RESOLV_LIBS $EVTLOG_NO_LIBTOOL_LIBS $SECRETSTORAGE_NO_LIBTOOL_LIBS $LD_START_STATIC -Wl,${WHOLE_ARCHIVE_OPT} $GLIB_LIBS $PCRE2_LIBS $REGEX_LIBS -Wl,${NO_WHOLE_ARCHIVE_OPT} $IVYKIS_NO_LIBTOOL_LIBS $LD_END_STATIC $LIBCAP_LIBS $DL_LIBS"
-+ SYSLOGNG_DEPS_LIBS="$LIBS $BASE_LIBS $RESOLV_LIBS $EVTLOG_NO_LIBTOOL_LIBS $SECRETSTORAGE_NO_LIBTOOL_LIBS $LD_START_STATIC -Wl,${WHOLE_ARCHIVE_OPT} $GLIB_LIBS $PCRE2_LIBS $REGEX_LIBS -Wl,${NO_WHOLE_ARCHIVE_OPT} $LD_END_STATIC $IVYKIS_LIBS $LIBCAP_LIBS $DL_LIBS"
++ SYSLOGNG_DEPS_LIBS="$LIBS $BASE_LIBS $RESOLV_LIBS $EVTLOG_NO_LIBTOOL_LIBS $SECRETSTORAGE_NO_LIBTOOL_LIBS $LD_START_STATIC -Wl,${WHOLE_ARCHIVE_OPT} $GLIB_LIBS $PCRE2_LIBS $REGEX_LIBS -Wl,${NO_WHOLE_ARCHIVE_OPT} $LD_END_STATIC $IVYKIS_LIBS $LIBCAP_LIBS $DL_LIBS"
TOOL_DEPS_LIBS="$LIBS $BASE_LIBS $GLIB_LIBS $EVTLOG_LIBS $SECRETSTORAGE_LIBS $RESOLV_LIBS $LIBCAP_LIBS $PCRE2_LIBS $REGEX_LIBS $IVYKIS_LIBS $DL_LIBS"
-- CORE_DEPS_LIBS=""
-+ CORE_DEPS_LIBS="$IVYKIS_LIBS"
+ CORE_DEPS_LIBS=""
- # bypass libtool in case we want to do mixed linking because it
- # doesn't support -Wl,-Bstatic -Wl,-Bdynamic on a per-library basis.
+diff -urNp -x '*.orig' syslog-ng-syslog-ng-4.8.0.org/lib/Makefile.am syslog-ng-syslog-ng-4.8.0/lib/Makefile.am
+--- syslog-ng-syslog-ng-4.8.0.org/lib/Makefile.am 2024-07-23 13:41:56.000000000 +0200
++++ syslog-ng-syslog-ng-4.8.0/lib/Makefile.am 2024-08-18 17:09:04.841529157 +0200
+@@ -311,7 +311,7 @@ lib_libsyslog_ng_la_SOURCES = \
+ lib_libsyslog_ng_la_CFLAGS = \
+ $(AM_CFLAGS) \
+ $(libsystemd_CFLAGS)
+-lib_libsyslog_ng_la_LIBADD += @OPENSSL_LIBS@
++lib_libsyslog_ng_la_LIBADD += @OPENSSL_LIBS@ @JSON_LIBS@
+
+ # each line with closely related files (e.g. the ones generated from the same source)
+ BUILT_SOURCES += lib/cfg-lex.c lib/cfg-lex.h \
+diff -urNp -x '*.orig' syslog-ng-syslog-ng-4.8.0.org/lib/logproto/tests/Makefile.am syslog-ng-syslog-ng-4.8.0/lib/logproto/tests/Makefile.am
+--- syslog-ng-syslog-ng-4.8.0.org/lib/logproto/tests/Makefile.am 2024-07-23 13:41:56.000000000 +0200
++++ syslog-ng-syslog-ng-4.8.0/lib/logproto/tests/Makefile.am 2024-08-18 17:09:04.841529157 +0200
+@@ -24,7 +24,6 @@ lib_logproto_tests_test_findeom_CFLAGS =
+ $(TEST_CFLAGS) \
+ -I${top_srcdir}/libtest
+ lib_logproto_tests_test_findeom_LDADD = \
+- ${top_builddir}/lib/libsyslog-ng.la \
+ ${top_builddir}/libtest/libsyslog-ng-test.a \
+ $(TEST_LDADD)
+ lib_logproto_tests_test_findeom_SOURCES = \
-diff -urNp -x '*.orig' syslog-ng-syslog-ng-4.2.0.org/configure.ac syslog-ng-syslog-ng-4.2.0/configure.ac
---- syslog-ng-syslog-ng-4.2.0.org/configure.ac 2023-05-10 16:55:07.000000000 +0200
-+++ syslog-ng-syslog-ng-4.2.0/configure.ac 2023-07-18 21:48:11.904414792 +0200
-@@ -817,11 +817,11 @@ dnl ************************************
+diff -urNp -x '*.orig' syslog-ng-syslog-ng-4.8.0.org/configure.ac syslog-ng-syslog-ng-4.8.0/configure.ac
+--- syslog-ng-syslog-ng-4.8.0.org/configure.ac 2024-07-23 13:41:56.000000000 +0200
++++ syslog-ng-syslog-ng-4.8.0/configure.ac 2024-08-18 17:08:58.917420316 +0200
+@@ -900,11 +900,10 @@ dnl ************************************
dnl Checks for libraries
AC_CHECK_LIB(m, round, BASE_LIBS="$BASE_LIBS -lm")
AC_CHECK_LIB(door, door_create, BASE_LIBS="$BASE_LIBS -ldoor")
-AC_CHECK_LIB(resolv, res_init, RESOLV_LIBS="-lresolv")
+AC_CHECK_FUNC([gethostbyname], [:], [AC_CHECK_LIB(nsl, gethostbyname, BASE_LIBS="$BASE_LIBS -lnsl")])
+AC_CHECK_FUNC([regexec], [:], [AC_CHECK_LIB(regex, regexec, REGEX_LIBS="-lregex")])
-+AC_CHECK_FUNC([resolv], [:], [AC_CHECK_LIB(resolv, res_init, RESOLV_LIBS="-lresolv")])
AC_CHECK_FUNCS(strdup \
strtol \
%define libivykis_version 0.42.4
%define glib2_ver 1:2.32.0
-%define mver 4.6
-%define docmver 4.6
+%define mver 4.8
Summary: Syslog-ng - new generation of the system logger
Summary(pl.UTF-8): Syslog-ng - systemowy demon logujący nowej generacji
Summary(pt_BR.UTF-8): Daemon de log nova geração
Name: syslog-ng
-Version: 4.6.0
-Release: 2
+Version: 4.8.0
+Release: 1
License: GPL v2+ with OpenSSL exception
Group: Daemons
Source0: https://github.com/balabit/syslog-ng/archive/%{name}-%{version}.tar.gz
-# Source0-md5: 389d1d5d5b6af8e73d5b6caa37ae1bfe
+# Source0-md5: 11711fb6c942ef52e89f114054854f54
Source1: %{name}.init
Source2: %{name}.conf
Source3: %{name}.logrotate
-Source4: https://syslog-ng.com/documents/html/syslog-ng-ose-%{docmver}-guides/en/syslog-ng-ose-guide-admin/pdf/syslog-ng-ose-guide-admin.pdf
-# Source4-md5: 46b021e8b47ddbe15bfc9134aa54c183
Source5: %{name}-simple.conf
Source6: https://github.com/buytenh/ivykis/archive/v%{libivykis_version}/ivykis-%{libivykis_version}.tar.gz
# Source6-md5: e09caeb95a01a541ec40d3b757dada12
Patch4: no_shared_ivykis.patch
Patch5: bison.patch
Patch6: shebang.patch
+Patch7: 32bit.patch
+Patch8: glib-static.patch
URL: https://syslog-ng.org/
BuildRequires: autoconf >= 2.59
BuildRequires: automake
%patch4 -p1
%patch5 -p1
%patch6 -p1
-cp -p %{SOURCE4} doc
+%patch7 -p1
+%patch8 -p1
cp -p %{SOURCE5} contrib/syslog-ng.conf.simple
%{__sed} -i -e 's|/usr/bin/awk|/bin/awk|' scl/syslogconf/convert-syslogconf.awk
%defattr(644,root,root,755)
%doc AUTHORS NEWS.md contrib/relogger.pl
%doc contrib/syslog-ng.conf.{doc,simple,RedHat}
-%doc contrib/{apparmor,selinux,syslog2ng} doc/syslog-ng-ose-guide-admin.pdf
+%doc contrib/{apparmor,selinux,syslog2ng}
%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}@default
%attr(750,root,root) %dir %{_sysconfdir}/syslog-ng
%dir %{_datadir}/syslog-ng/include/scl
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_datadir}/syslog-ng/include/scl.conf
%{_datadir}/syslog-ng/include/scl/apache
+%{_datadir}/syslog-ng/include/scl/arr
%{_datadir}/syslog-ng/include/scl/checkpoint
%{_datadir}/syslog-ng/include/scl/cisco
%{_datadir}/syslog-ng/include/scl/collectd
%{_datadir}/syslog-ng/include/scl/fortigate
%{_datadir}/syslog-ng/include/scl/graphite
%{_datadir}/syslog-ng/include/scl/iptables
+%{_datadir}/syslog-ng/include/scl/jellyfin
%{_datadir}/syslog-ng/include/scl/junos
%{_datadir}/syslog-ng/include/scl/linux-audit
%{_includedir}/syslog-ng/control
%{_includedir}/syslog-ng/debugger
%{_includedir}/syslog-ng/filter
+%{_includedir}/syslog-ng/filterx
%{_includedir}/syslog-ng/healthcheck
%if %{without system_libivykis}
%{_includedir}/syslog-ng/ivykis
%{_includedir}/syslog-ng/logproto
%{_includedir}/syslog-ng/logthrdest
%{_includedir}/syslog-ng/logthrsource
+%{_includedir}/syslog-ng/metrics
%{_includedir}/syslog-ng/modules
%{_includedir}/syslog-ng/multi-line
%{_includedir}/syslog-ng/parser