- added patch from git commit a8b9878ab38b10d24df7b773c8c580d341b22383 to
fix log rotation (bug#430057)
This commit is contained in:
parent
201185bfdc
commit
89deb64c47
|
@ -0,0 +1,143 @@
|
||||||
|
diff --git a/src/affile.c b/src/affile.c
|
||||||
|
index 42f70c3..e8e2f1d 100644
|
||||||
|
--- a/src/affile.c
|
||||||
|
+++ b/src/affile.c
|
||||||
|
@@ -344,8 +344,12 @@ affile_dw_init(LogPipe *s, GlobalConfig *cfg, PersistentConfig *persist)
|
||||||
|
{
|
||||||
|
FDWrite *fdw;
|
||||||
|
|
||||||
|
- self->writer = log_writer_new(LW_FORMAT_FILE, s, &self->owner->writer_options);
|
||||||
|
+ if (!self->writer)
|
||||||
|
+ {
|
||||||
|
+ self->writer = log_writer_new(LW_FORMAT_FILE, s, &self->owner->writer_options);
|
||||||
|
|
||||||
|
+ log_pipe_append(&self->super, self->writer);
|
||||||
|
+ }
|
||||||
|
if (!log_pipe_init(self->writer, NULL, NULL))
|
||||||
|
{
|
||||||
|
msg_error("Error initializing log writer", NULL);
|
||||||
|
@@ -358,7 +362,6 @@ affile_dw_init(LogPipe *s, GlobalConfig *cfg, PersistentConfig *persist)
|
||||||
|
if (self->owner->flags & AFFILE_FSYNC)
|
||||||
|
fdw->fsync = TRUE;
|
||||||
|
log_writer_reopen(self->writer, fdw);
|
||||||
|
- log_pipe_append(&self->super, self->writer);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
@@ -379,9 +382,7 @@ affile_dw_deinit(LogPipe *s, GlobalConfig *cfg, PersistentConfig *persist)
|
||||||
|
if (self->writer)
|
||||||
|
{
|
||||||
|
log_pipe_deinit(self->writer, NULL, NULL);
|
||||||
|
- log_pipe_unref(self->writer);
|
||||||
|
}
|
||||||
|
- self->writer = NULL;
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -410,7 +411,7 @@ affile_dw_set_owner(AFFileDestWriter *self, AFFileDestDriver *owner)
|
||||||
|
log_pipe_ref(&owner->super.super);
|
||||||
|
self->owner = owner;
|
||||||
|
if (self->writer)
|
||||||
|
- log_writer_set_options((LogWriter *) self->writer, &owner->writer_options);
|
||||||
|
+ log_writer_set_options((LogWriter *) self->writer, &self->super, &owner->writer_options);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -419,6 +420,8 @@ affile_dw_free(LogPipe *s)
|
||||||
|
{
|
||||||
|
AFFileDestWriter *self = (AFFileDestWriter *) s;
|
||||||
|
|
||||||
|
+ log_pipe_unref(self->writer);
|
||||||
|
+ self->writer = NULL;
|
||||||
|
g_string_free(self->filename, TRUE);
|
||||||
|
log_pipe_unref(&self->owner->super.super);
|
||||||
|
|
||||||
|
@@ -620,6 +623,7 @@ affile_dd_reuse_writer(gpointer key, gpointer value, gpointer user_data)
|
||||||
|
AFFileDestWriter *writer = (AFFileDestWriter *) value;
|
||||||
|
|
||||||
|
affile_dw_set_owner(writer, self);
|
||||||
|
+ log_pipe_init(&writer->super, NULL, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@@ -665,7 +669,10 @@ affile_dd_init(LogPipe *s, GlobalConfig *cfg, PersistentConfig *persist)
|
||||||
|
{
|
||||||
|
self->writer = persist_config_fetch(persist, affile_dd_format_persist_name(self));
|
||||||
|
if (self->writer)
|
||||||
|
- affile_dw_set_owner(self->writer, self);
|
||||||
|
+ {
|
||||||
|
+ affile_dw_set_owner(self->writer, self);
|
||||||
|
+ log_pipe_init(&self->writer->super, NULL, NULL);
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@@ -711,6 +718,12 @@ affile_dd_destroy_writer_hash(gpointer value)
|
||||||
|
g_hash_table_destroy(writer_hash);
|
||||||
|
}
|
||||||
|
|
||||||
|
+static void
|
||||||
|
+affile_dd_deinit_writer(gpointer key, gpointer value, gpointer user_data)
|
||||||
|
+{
|
||||||
|
+ log_pipe_deinit((LogPipe *) value, NULL, NULL);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
static gboolean
|
||||||
|
affile_dd_deinit(LogPipe *s, GlobalConfig *cfg, PersistentConfig *persist)
|
||||||
|
{
|
||||||
|
@@ -721,6 +734,7 @@ affile_dd_deinit(LogPipe *s, GlobalConfig *cfg, PersistentConfig *persist)
|
||||||
|
{
|
||||||
|
g_assert(self->writer_hash == NULL);
|
||||||
|
|
||||||
|
+ log_pipe_deinit(&self->writer->super, NULL, NULL);
|
||||||
|
persist_config_add(persist, affile_dd_format_persist_name(self), self->writer, affile_dd_destroy_writer);
|
||||||
|
self->writer = NULL;
|
||||||
|
}
|
||||||
|
@@ -728,6 +742,7 @@ affile_dd_deinit(LogPipe *s, GlobalConfig *cfg, PersistentConfig *persist)
|
||||||
|
{
|
||||||
|
g_assert(self->writer == NULL);
|
||||||
|
|
||||||
|
+ g_hash_table_foreach(self->writer_hash, affile_dd_deinit_writer, NULL);
|
||||||
|
persist_config_add(persist, affile_dd_format_persist_name(self), self->writer_hash, affile_dd_destroy_writer_hash);
|
||||||
|
self->writer_hash = NULL;
|
||||||
|
}
|
||||||
|
diff --git a/src/logwriter.c b/src/logwriter.c
|
||||||
|
index 3286da7..bb82b43 100644
|
||||||
|
--- a/src/logwriter.c
|
||||||
|
+++ b/src/logwriter.c
|
||||||
|
@@ -423,6 +423,7 @@ log_writer_reopen(LogPipe *s, FDWrite *newfd)
|
||||||
|
{
|
||||||
|
LogWriter *self = (LogWriter *) s;
|
||||||
|
|
||||||
|
+ /* old fd is freed by the source */
|
||||||
|
if (self->source)
|
||||||
|
{
|
||||||
|
g_source_destroy(self->source);
|
||||||
|
@@ -440,12 +441,12 @@ log_writer_reopen(LogPipe *s, FDWrite *newfd)
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
-log_writer_set_options(LogWriter *self, LogWriterOptions *options)
|
||||||
|
+log_writer_set_options(LogWriter *self, LogPipe *control, LogWriterOptions *options)
|
||||||
|
{
|
||||||
|
+ self->control = control;
|
||||||
|
self->options = options;
|
||||||
|
}
|
||||||
|
|
||||||
|
-
|
||||||
|
LogPipe *
|
||||||
|
log_writer_new(guint32 flags, LogPipe *control, LogWriterOptions *options)
|
||||||
|
{
|
||||||
|
diff --git a/src/logwriter.h b/src/logwriter.h
|
||||||
|
index 3fe7129..284899b 100644
|
||||||
|
--- a/src/logwriter.h
|
||||||
|
+++ b/src/logwriter.h
|
||||||
|
@@ -81,7 +81,7 @@ typedef struct _LogWriter
|
||||||
|
LogWriterOptions *options;
|
||||||
|
} LogWriter;
|
||||||
|
|
||||||
|
-void log_writer_set_options(LogWriter *self, LogWriterOptions *options);
|
||||||
|
+void log_writer_set_options(LogWriter *self, LogPipe *control, LogWriterOptions *options);
|
||||||
|
void log_writer_format_log(LogWriter *self, LogMessage *lm, GString *result);
|
||||||
|
gboolean log_writer_reopen(LogPipe *s, FDWrite *fd);
|
||||||
|
LogPipe *log_writer_new(guint32 flags, LogPipe *control, LogWriterOptions *options);
|
|
@ -10,7 +10,7 @@
|
||||||
|
|
||||||
Name: syslog-ng
|
Name: syslog-ng
|
||||||
Version: 2.0.7
|
Version: 2.0.7
|
||||||
Release: 1%{?dist}
|
Release: 2%{?dist}
|
||||||
Summary: Syslog replacement daemon
|
Summary: Syslog replacement daemon
|
||||||
|
|
||||||
Group: System Environment/Daemons
|
Group: System Environment/Daemons
|
||||||
|
@ -21,6 +21,8 @@ Source1: syslog.log
|
||||||
Patch0: syslog-ng-2.0.0-init.patch
|
Patch0: syslog-ng-2.0.0-init.patch
|
||||||
Patch1: syslog-ng-1.6.7-logrotate.patch
|
Patch1: syslog-ng-1.6.7-logrotate.patch
|
||||||
Patch2: syslog-ng-2.0.5-conf.patch
|
Patch2: syslog-ng-2.0.5-conf.patch
|
||||||
|
# Patch3: bug#430057
|
||||||
|
Patch3: logrotation-bug-2.0.7.patch
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||||
|
|
||||||
BuildRequires: flex
|
BuildRequires: flex
|
||||||
|
@ -58,6 +60,7 @@ ideal for firewalled environments.
|
||||||
%patch0 -p1
|
%patch0 -p1
|
||||||
%patch1 -p1
|
%patch1 -p1
|
||||||
%patch2 -p1
|
%patch2 -p1
|
||||||
|
%patch3 -p1
|
||||||
%{__sed} -i 's|^#!/usr/local/bin/perl|#!%{__perl}|' contrib/relogger.pl
|
%{__sed} -i 's|^#!/usr/local/bin/perl|#!%{__perl}|' contrib/relogger.pl
|
||||||
chmod -c a-x contrib/syslog2ng
|
chmod -c a-x contrib/syslog2ng
|
||||||
|
|
||||||
|
@ -176,6 +179,10 @@ fi
|
||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Jan 29 2008 Douglas E. Warner <silfreed@silfreed.net> 2.0.7-2
|
||||||
|
- added patch from git commit a8b9878ab38b10d24df7b773c8c580d341b22383
|
||||||
|
to fix log rotation (bug#430057)
|
||||||
|
|
||||||
* Tue Jan 08 2008 Douglas E. Warner <silfreed@silfreed.net> 2.0.7-1
|
* Tue Jan 08 2008 Douglas E. Warner <silfreed@silfreed.net> 2.0.7-1
|
||||||
- updated to 2.0.7
|
- updated to 2.0.7
|
||||||
- force regeneration to avoid broken paths from upstream (#265221)
|
- force regeneration to avoid broken paths from upstream (#265221)
|
||||||
|
|
Loading…
Reference in New Issue