Accepting request 106105 from Base:System

Detect /run/systemd/journal/syslog (bnc#747871),
Update to 5.8.7 [V5-stable]
Get rid of /etc/rsyslog.early.conf (bnc#728565).

OBS-URL: https://build.opensuse.org/request/show/106105
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/rsyslog?expand=0&rev=49
This commit is contained in:
Stephan Kulow 2012-02-21 11:24:50 +00:00 committed by Git OBS Bridge
commit d7e5f1ae3f
8 changed files with 177 additions and 151 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:cfdc128f8b3ab88e36f85ce8fb12ff8d19790181b7b0138f97afda42c256ee78
size 1909999

View File

@ -0,0 +1,43 @@
From a738e3d5866a1dbbb1538b7461e266ec81cb1f45 Mon Sep 17 00:00:00 2001
From: Marius Tomaschewski <mt@suse.com>
Date: Mon, 20 Feb 2012 16:29:42 +0100
Subject: [PATCH] Detect if to use /run/systemd/journal/syslog under systemd
Detect if we have to use the new /run/systemd/journal/syslog
socket instead of the /dev/log under newer systemd versions.
Signed-off-by: Marius Tomaschewski <mt@suse.com>
---
plugins/imuxsock/imuxsock.c | 9 +++++++++
1 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/plugins/imuxsock/imuxsock.c b/plugins/imuxsock/imuxsock.c
index feddb20..767f9a9 100644
--- a/plugins/imuxsock/imuxsock.c
+++ b/plugins/imuxsock/imuxsock.c
@@ -67,6 +67,9 @@ MODULE_TYPE_NOKEEP
#define _PATH_LOG "/dev/log"
#endif
#endif
+#ifndef SYSTEMD_PATH_LOG
+#define SYSTEMD_PATH_LOG "/run/systemd/journal/syslog"
+#endif
/* emulate struct ucred for platforms that do not have it */
#ifndef HAVE_SCM_CREDENTIALS
@@ -775,6 +778,12 @@ CODESTARTwillRun
# endif
if(pLogSockName != NULL)
listeners[0].sockName = pLogSockName;
+ else if(sd_booted()) {
+ struct stat st;
+ if(stat(SYSTEMD_PATH_LOG, &st) != -1 && S_ISSOCK(st.st_mode)) {
+ listeners[0].sockName = SYSTEMD_PATH_LOG;
+ }
+ }
if(ratelimitIntervalSysSock > 0) {
if((listeners[0].ht = create_hashtable(100, hash_from_key_fn, key_equals_fn, NULL)) == NULL) {
/* in this case, we simply turn of rate-limiting */
--
1.7.7

3
rsyslog-5.8.7.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6d43db0d7dbdefbdb0fce27ae70b304d53681ff5d8f6d823c761be4242bf5080
size 1925789

View File

@ -1,3 +1,65 @@
-------------------------------------------------------------------
Mon Feb 20 15:33:05 UTC 2012 - mt@suse.com
- Detect if we have to use the new /run/systemd/journal/syslog
socket instead of the /dev/log under newer systemd versions.
Obsoletes listen.conf installed by systemd (bnc#747871).
- updated to 5.8.7 [V5-stable]:
- bugfix: instabilities when using RFC5424 header fields
Thanks to Kaiwang Chen for the patch
- bugfix: imuxsock did truncate part of received message if it did
not contain a proper date. The truncation occured because we
removed that part of the messages that was expected to be the date.
closes: http://bugzilla.adiscon.com/show_bug.cgi?id=295
- bugfix: potential abort after reading invalid X.509 certificate
closes: http://bugzilla.adiscon.com/show_bug.cgi?id=290
Thanks to Tomas Heinrich for the patch
- bugfix: stats counter were not properly initialized on creation
- FQDN hostname for multihomed host was not always set to the correct
name if multiple aliases existed. Thanks to Tomas Heinreich for the
patch.
- updated to 5.8.6 [V5-stable]:
- bugfix: missing whitespace after property-based filter was not
detected
- bugfix: $OMFileFlushInterval period was doubled - now using correct
value
- bugfix: ActionQueue could malfunction due to index error
Thanks to Vlad Grigorescu for the patch
- bugfix: $ActionExecOnlyOnce interval did not work properly
Thanks to Tomas Heinrich for the patch
- bugfix: race condition when extracting program name, APPNAME,
structured data and PROCID (RFC5424 fields) could lead to invalid
characters e.g. in dynamic file names or during forwarding (general
malfunction ofthese fields in templates, mostly under heavy load)
- bugfix: imuxsock did no longer ignore message-provided timestamp,
if so configured (the *default*). Lead to no longer sub-second
timestamps.
closes: http://bugzilla.adiscon.com/show_bug.cgi?id=281
- bugfix: omfile returns fatal error code for things that go really
wrong previously, RS_RET_RESUME was returned, which lead to a loop
inside the rule engine as omfile could not really recover.
- bugfix: imfile did invalid system call under some circumstances
when a file that was to be monitored did not exist BUT the state
file actually existed. Mostly a cosmetic issue. Root cause was
incomplete error checking in stream.c; so patch may affect other
code areas.
- bugfix: rsyslogd -v always said 64 atomics were not present
thanks to mono_matsuko for the patch
- Changed /etc/rsyslog.early.conf to just include rsyslog.conf,
fixed spec to use sd-daemon.[ch] from docs on 11.4 only.
-------------------------------------------------------------------
Mon Feb 20 12:11:18 UTC 2012 - mt@suse.com
- Cleaned up the config files a bit, updated comments in config
file, marked the /etc/rsyslog.early.conf obsolete.
Note: rsyslog will be started early/before network using its normal
/etc/rsyslog.conf config file (adopted scripts in syslog-service
package). When any kind of remote logging is in use, then on-disk
queues should be enabled. To start it after the network, please set
the SYSLOG_REQUIRES_NETWORK=yes variable in /etc/sysconfig/syslog
(bnc#728565).
------------------------------------------------------------------- -------------------------------------------------------------------
Wed Sep 7 12:58:48 UTC 2011 - mrueckert@suse.de Wed Sep 7 12:58:48 UTC 2011 - mrueckert@suse.de

View File

@ -1,13 +1,15 @@
## ##
## === When you're using remote logging, enable on-disk queues ===
## === in rsyslog.d/remote.conf. When neccesary also set the ===
## === SYSLOG_REQUIRES_NETWORK=yes in /etc/sysconfig/syslog, ===
## === e.g. when rsyslog has to receive on a specific IP only. ===
##
## Note, that when the MYSQL, PGSQL, GSSAPI, GnuTLS or SNMP modules ## Note, that when the MYSQL, PGSQL, GSSAPI, GnuTLS or SNMP modules
## (provided in separate rsyslog-module-* packages) are enabled, the ## (provided in separate rsyslog-module-* packages) are enabled, the
## configuration can't be used on a system with /usr on a remote ## configuration can't be used on a system with /usr on a remote
## filesystem. ## filesystem, except on newer systems where initrd mounts /usr.
## [The modules are linked against libraries installed bellow of /usr ## [The modules are linked against libraries installed bellow of
## thus also installed in /usr/lib*/rsyslog because of this.] ## /usr thus also installed in /usr/lib*/rsyslog because of this.]
##
## You can change it by adding network-remotefs to the Required-Start
## and Required-Stop LSB init tags in the /etc/init.d/syslog script.
## ##
# #
@ -16,28 +18,34 @@
# and report them at http://bugzilla.novell.com/ # and report them at http://bugzilla.novell.com/
# #
# rsyslog v3: load input modules # since rsyslog v3: load input modules
# If you do not load inputs, nothing happens! # If you do not load inputs, nothing happens!
$ModLoad immark.so # provides --MARK-- message capability (every 1 hour) # provides --MARK-- message capability (every 1 hour)
$MarkMessagePeriod 3600 $ModLoad immark.so
$MarkMessagePeriod 3600
$ModLoad imuxsock.so # provides support for local system logging (e.g. via logger command) # provides support for local system logging (e.g. via logger command)
# reduce dupplicate log messages (last message repeated n times) $ModLoad imuxsock.so
$RepeatedMsgReduction on
$ModLoad imklog.so # kernel logging (may be also provided by /sbin/klogd), # reduce dupplicate log messages (last message repeated n times)
# see also http://www.rsyslog.com/doc-imklog.html. $RepeatedMsgReduction on
$klogConsoleLogLevel 1 # set log level 1 (same as in /etc/sysconfig/syslog).
# kernel logging (may be also provided by /sbin/klogd)
# see also http://www.rsyslog.com/doc-imklog.html.
$ModLoad imklog.so
# set log level 1 (same as in /etc/sysconfig/syslog).
$klogConsoleLogLevel 1
# #
# Use traditional log format by default. To change it for a single # Use traditional log format by default. To change a single
# file, append ";RSYSLOG_TraditionalFileFormat" to the filename. # file to use rsyslog format (high-precision timestamps),
# append ";RSYSLOG_FileFormat" to the filename. See
# http://www.rsyslog.com/doc/rsyslog_conf_templates.html
# for more informations.
# #
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat $ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
# #
# Include config generated by /etc/init.d/syslog script # Include config generated by /etc/init.d/syslog script
# using the SYSLOGD_ADDITIONAL_SOCKET* variables in the # using the SYSLOGD_ADDITIONAL_SOCKET* variables in the

View File

@ -1,40 +1,53 @@
## ##
## === When you're using remote logging, enable on-disk queues ===
## === in rsyslog.d/remote.conf. When neccesary also set the ===
## === SYSLOG_REQUIRES_NETWORK=yes in /etc/sysconfig/syslog, ===
## === e.g. when rsyslog has to receive on a specific IP only. ===
##
## Note, that when the MYSQL, PGSQL, GSSAPI, GnuTLS or SNMP modules ## Note, that when the MYSQL, PGSQL, GSSAPI, GnuTLS or SNMP modules
## (provided in separate rsyslog-module-* packages) are enabled, the ## (provided in separate rsyslog-module-* packages) are enabled, the
## configuration can't be used on a system with /usr on a remote ## configuration can't be used on a system with /usr on a remote
## filesystem. ## filesystem, except on newer systems where initrd mounts /usr.
## [The modules are linked against libraries installed bellow of /usr ## [The modules are linked against libraries installed bellow of
## thus also installed in /usr/lib*/rsyslog because of this.] ## /usr thus also installed in /usr/lib*/rsyslog because of this.]
##
## You can change it by adding network-remotefs to the Required-Start
## and Required-Stop LSB init tags in the /etc/init.d/syslog script.
## ##
# ######### Enable On-Disk queues for remote logging ##########
# Remote Logging (we use TCP for reliable delivery) #
# An on-disk queue is created for this action. If the remote host is # An on-disk queue is created for this action. If the remote host is
# down, messages are spooled to disk and sent when it is up again. # down, messages are spooled to disk and sent when it is up again.
#
#$WorkDirectory RSYSLOG_SPOOL_DIR # where to place spool files #$WorkDirectory RSYSLOG_SPOOL_DIR # where to place spool files
#$ActionQueueFileName uniqName # unique name prefix for spool files #$ActionQueueFileName uniqName # unique name prefix for spool files
#$ActionQueueMaxDiskSpace 1g # 1gb space limit (use as much as possible) #$ActionQueueMaxDiskSpace 1g # 1gb space limit (use as much as possible)
#$ActionQueueSaveOnShutdown on # save messages to disk on shutdown #$ActionQueueSaveOnShutdown on # save messages to disk on shutdown
#$ActionQueueType LinkedList # run asynchronously #$ActionQueueType LinkedList # run asynchronously
#$ActionResumeRetryCount -1 # infinite retries if host is down #$ActionResumeRetryCount -1 # infinite retries if host is down
# ######### Sending Messages to Remote Hosts ##########
# Remote Logging using TCP for reliable delivery
# remote host is: name/ip:port, e.g. 192.168.0.1:514, port optional # remote host is: name/ip:port, e.g. 192.168.0.1:514, port optional
#*.* @@remote-host #*.* @@remote-host
# Remote Logging using UDP
# remote host is: name/ip:port, e.g. 192.168.0.1:514, port optional
#*.* @remote-host
# ######### Receiving Messages from Remote Hosts ########## # ######### Receiving Messages from Remote Hosts ##########
# TCP Syslog Server: # TCP Syslog Server:
# provides TCP syslog reception and GSS-API (if compiled to support it) # provides TCP syslog reception and GSS-API (if compiled to support it)
#$ModLoad imtcp.so # load module #$ModLoad imtcp.so # load module
# Note: as of now, you need to use the -t command line option to ##$UDPServerAddress 10.10.0.1 # force to listen on this IP only,
# enable TCP reception (e.g. -t514 to run a server at port 514/tcp) ## # needs SYSLOG_REQUIRES_NETWORK=yes.
# This will change in later v3 releases. #$InputTCPServerRun <port> # Starts a TCP server on selected port
# UDP Syslog Server: # UDP Syslog Server:
#$ModLoad imudp.so # provides UDP syslog reception #$ModLoad imudp.so # provides UDP syslog reception
#$UDPServerRun 514 # start a UDP syslog server at standard port 514 ##$UDPServerAddress 10.10.0.1 # force to listen on this IP only,
## # needs SYSLOG_REQUIRES_NETWORK=yes.
#$UDPServerRun 514 # start a UDP syslog server at standard port 514
########### Encrypting Syslog Traffic with TLS ########## ########### Encrypting Syslog Traffic with TLS ##########

View File

@ -1,119 +1,13 @@
## ##
## WARNING: This config contains only statements that are ## NOTE: This config file is obsolete and will be dropped in
## safe for early syslog start, that is before the ## further package versions. Even while early syslog
## network and remote filesystems are available. ## start, the /etc/rsyslog.conf file is used now.
## See rsyslog.conf and remote.conf for more details.
## ##
## Don't include ETC_RSYSLOG_D_DIR/remote.conf ## We still ship the file, because systemd does not
## in this configuration file or enable any of the ## provide a way to execute syslog-service-generator.
## additional (MYSQL, PGSQL, GSSAPI, GnuTLS, SNMP)
## modules provided in separate module packages.
##
##
## if you experience problems, check
## http://www.rsyslog.com/troubleshoot for assistance
## and report them at http://bugzilla.novell.com/
## ##
# rsyslog v3: load input modules $IncludeConfig ETC_RSYSLOG_CONF
# If you do not load inputs, nothing happens!
$ModLoad immark.so # provides --MARK-- message capability
$ModLoad imuxsock.so # provides support for local system logging (e.g. via logger command)
$ModLoad imklog.so # kernel logging (may be also provided by /sbin/klogd)
#
# Include config generated by /etc/init.d/syslog script
# using the SYSLOGD_ADDITIONAL_SOCKET* variables in the
# /etc/sysconfig/syslog file.
#
$IncludeConfig ADDITIONAL_SOCKETS
###
#
# print most on tty10 and on the xconsole pipe
#
kern.warning;*.err;authpriv.none /dev/tty10;RSYSLOG_TraditionalFileFormat
kern.warning;*.err;authpriv.none |/dev/xconsole;RSYSLOG_TraditionalFileFormat
*.emerg :omusrmsg:*
# enable this, if you want that root is informed
# immediately, e.g. of logins
#*.alert root
#
# firewall messages into separate file and stop their further processing
#
if ($syslogfacility-text == 'kern') and \
($msg contains 'IN=' and $msg contains 'OUT=') then \
-/var/log/firewall;RSYSLOG_TraditionalFileFormat
if ($syslogfacility-text == 'kern') and \
($msg contains 'IN=' and $msg contains 'OUT=') then \
~
#
# acpid messages into separate file and stop their further processing
#
# => all acpid messages for debuging (uncomment if needed):
#if ($programname == 'acpid' or $syslogtag == '[acpid]:') then \
# -/var/log/acpid;RSYSLOG_TraditionalFileFormat
#
# => up to notice (skip info and debug)
if ($programname == 'acpid' or $syslogtag == '[acpid]:') and \
($syslogseverity <= 5) then \
-/var/log/acpid;RSYSLOG_TraditionalFileFormat
if ($programname == 'acpid' or $syslogtag == '[acpid]:') then \
~
#
# NetworkManager into separate file and stop their further processing
#
if ($programname == 'NetworkManager') or \
($programname startswith 'nm-') then \
-/var/log/NetworkManager;RSYSLOG_TraditionalFileFormat
if ($programname == 'NetworkManager') or \
($programname startswith 'nm-') then \
~
#
# email-messages
#
mail.* -/var/log/mail;RSYSLOG_TraditionalFileFormat
mail.info -/var/log/mail.info;RSYSLOG_TraditionalFileFormat
mail.warning -/var/log/mail.warn;RSYSLOG_TraditionalFileFormat
mail.err /var/log/mail.err;RSYSLOG_TraditionalFileFormat
#
# news-messages
#
news.crit -/var/log/news/news.crit;RSYSLOG_TraditionalFileFormat
news.err -/var/log/news/news.err;RSYSLOG_TraditionalFileFormat
news.notice -/var/log/news/news.notice;RSYSLOG_TraditionalFileFormat
# enable this, if you want to keep all news messages
# in one file
#news.* -/var/log/news.all;RSYSLOG_TraditionalFileFormat
#
# Warnings in one file
#
*.=warning;*.=err -/var/log/warn;RSYSLOG_TraditionalFileFormat
*.crit /var/log/warn;RSYSLOG_TraditionalFileFormat
#
# the rest in one file
#
*.*;mail.none;news.none -/var/log/messages;RSYSLOG_TraditionalFileFormat
#
# enable this, if you want to keep all messages
# in one file
#*.* -/var/log/allmessages;RSYSLOG_TraditionalFileFormat
#
# Some foreign boot scripts require local7
#
local0,local1.* -/var/log/localmessages;RSYSLOG_TraditionalFileFormat
local2,local3.* -/var/log/localmessages;RSYSLOG_TraditionalFileFormat
local4,local5.* -/var/log/localmessages;RSYSLOG_TraditionalFileFormat
local6,local7.* -/var/log/localmessages;RSYSLOG_TraditionalFileFormat
### ###

View File

@ -1,7 +1,7 @@
# #
# spec file for package rsyslog # spec file for package rsyslog
# #
# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany. # Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -20,8 +20,8 @@
Name: rsyslog Name: rsyslog
Summary: The enhanced syslogd for Linux and Unix Summary: The enhanced syslogd for Linux and Unix
Version: 5.8.5 Version: 5.8.7
Release: 1 Release: 0
# for setting those bcond_with* configs see # for setting those bcond_with* configs see
# http://lizards.opensuse.org/2008/09/12/conditional-features-aka-use-flags/ # http://lizards.opensuse.org/2008/09/12/conditional-features-aka-use-flags/
%if 0%{?suse_version} >= 1140 %if 0%{?suse_version} >= 1140
@ -120,6 +120,7 @@ Source1: rsyslog.sysconfig
Source2: rsyslog.conf.in Source2: rsyslog.conf.in
Source3: rsyslog.early.conf.in Source3: rsyslog.early.conf.in
Source4: rsyslog.d.remote.conf.in Source4: rsyslog.d.remote.conf.in
Patch1: rsyslog-5.8.7-systemd-log-socket.patch
%description %description
Rsyslog is an enhanced multi-threaded syslogd supporting, among others, Rsyslog is an enhanced multi-threaded syslogd supporting, among others,
@ -280,11 +281,15 @@ This module provides a UDP forwarder that allows changing the sender address.
%prep %prep
%setup -q -n %{name}-%{upstream_version} %setup -q -n %{name}-%{upstream_version}
%patch1 -p1
%if %{with systemd} %if %{with systemd}
%if 0%{?suse_version} <= 1140
# Bug: https://bugzilla.novell.com/show_bug.cgi?id=656259 # Bug: https://bugzilla.novell.com/show_bug.cgi?id=656259
# install the files systemd provides rather than what we provide. # install the files systemd provides rather than what we provide.
# On newer systems, systemd-devel provides them.
cp -a /usr/share/doc/packages/systemd/sd-daemon.[ch] runtime/ cp -a /usr/share/doc/packages/systemd/sd-daemon.[ch] runtime/
%endif %endif
%endif
dos2unix doc/*.html dos2unix doc/*.html
%build %build
@ -391,6 +396,7 @@ for file in rsyslog.conf rsyslog.early.conf rsyslog.d.remote.conf ; do
-e 's;tty10;console;g' \ -e 's;tty10;console;g' \
%endif %endif
-e 's;ADDITIONAL_SOCKETS;%{additional_sockets};g' \ -e 's;ADDITIONAL_SOCKETS;%{additional_sockets};g' \
-e 's;ETC_RSYSLOG_CONF;%{_sysconfdir}/rsyslog.conf;g' \
-e 's;ETC_RSYSLOG_D_DIR;%{_sysconfdir}/rsyslog.d;g' \ -e 's;ETC_RSYSLOG_D_DIR;%{_sysconfdir}/rsyslog.d;g' \
-e 's;ETC_RSYSLOG_D_GLOB;%{_sysconfdir}/rsyslog.d/*.conf;g' \ -e 's;ETC_RSYSLOG_D_GLOB;%{_sysconfdir}/rsyslog.d/*.conf;g' \
-e 's;RSYSLOG_SPOOL_DIR;%{_localstatedir}/spool/rsyslog;g' \ -e 's;RSYSLOG_SPOOL_DIR;%{_localstatedir}/spool/rsyslog;g' \