Accepting request 19417 from Base:System

Copy from Base:System/rsyslog based on submit request 19417 from user mtomaschewski

OBS-URL: https://build.opensuse.org/request/show/19417
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/rsyslog?expand=0&rev=5
This commit is contained in:
OBS User autobuild 2009-09-02 17:03:11 +00:00 committed by Git OBS Bridge
parent 2a677b917a
commit 654969a397
5 changed files with 27 additions and 215 deletions

View File

@ -1,176 +0,0 @@
--- configure.ac
+++ configure.ac 2009/04/20 10:49:59
@@ -332,6 +332,28 @@ if test "$enable_valgrind" = "yes"; then
AC_DEFINE(VALGRIND, 1, [Defined if valgrind support settings are to be enabled (e.g. prevents dlclose()).])
fi
+# Additional module directories
+AC_ARG_WITH(moddirs,
+ [AS_HELP_STRING([--with-moddirs=DIRS],[Additional module search paths appended to @<:@$libdir/rsyslog@:>@])],
+ [_save_IFS=$IFS ; IFS=$PATH_SEPARATOR ; moddirs=""
+ for w in ${with_moddirs} ;
+ do
+ case $w in
+ "") continue ;; */) ;; *) w="${w}/" ;;
+ esac
+ for m in ${moddirs} ;
+ do
+ test "x$w" = "x${libdir}/${PACKAGE}/" || \
+ test "x$w" = "x$m" || test "x$w" = "x/" && \
+ continue 2
+ done
+ case $moddirs in
+ "") moddirs="$w" ;; *) moddirs="${moddirs}:${w}" ;;
+ esac
+ done ; IFS=$_save_IFS],[moddirs=""]
+)
+AM_CONDITIONAL(WITH_MODDIRS, test x$moddirs != x)
+AC_SUBST(moddirs)
# MySQL support
--- runtime/Makefile.am
+++ runtime/Makefile.am 2009/04/20 10:49:59
@@ -83,7 +83,11 @@ librsyslog_la_SOURCES = \
# the files with ../ we need to work on - so that they either become part of the
# runtime or will no longer be needed. -- rgerhards, 2008-06-13
+if WITH_MODDIRS
+librsyslog_la_CPPFLAGS = -D_PATH_MODDIR=\"$(pkglibdir)/:$(moddirs)\" $(pthreads_cflags)
+else
librsyslog_la_CPPFLAGS = -D_PATH_MODDIR=\"$(pkglibdir)/\" -I$(top_srcdir) $(pthreads_cflags)
+endif
#librsyslog_la_LDFLAGS = -module -avoid-version
librsyslog_la_LIBADD = $(dl_libs) $(rt_libs)
--- runtime/modules.c
+++ runtime/modules.c 2009/04/20 10:49:59
@@ -570,6 +570,8 @@ Load(uchar *pModName)
int bHasExtension;
void *pModHdlr, *pModInit;
modInfo_t *pModInfo;
+ uchar *pModDirCurr, *pModDirNext;
+ int iLoadCnt;
assert(pModName != NULL);
dbgprintf("Requested to load module '%s'\n", pModName);
@@ -591,48 +593,84 @@ Load(uchar *pModName)
pModInfo = GetNxt(pModInfo);
}
- /* now build our load module name */
- if(*pModName == '/') {
- *szPath = '\0'; /* we do not need to append the path - its already in the module name */
- iPathLen = 0;
- } else {
- *szPath = '\0';
- strncat((char *) szPath, (pModDir == NULL) ? _PATH_MODDIR : (char*) pModDir, sizeof(szPath) - 1);
- iPathLen = strlen((char*) szPath);
- if((szPath[iPathLen - 1] != '/')) {
- if((iPathLen <= sizeof(szPath) - 2)) {
- szPath[iPathLen++] = '/';
- szPath[iPathLen] = '\0';
- } else {
- errmsg.LogError(0, RS_RET_MODULE_LOAD_ERR_PATHLEN, "could not load module '%s', path too long\n", pModName);
+ pModDirCurr = (uchar *)((pModDir == NULL) ? _PATH_MODDIR : (char *)pModDir);
+ pModDirNext = NULL;
+ pModHdlr = NULL;
+ iLoadCnt = 0;
+ do {
+ /* now build our load module name */
+ if(*pModName == '/') {
+ *szPath = '\0'; /* we do not need to append the path - its already in the module name */
+ iPathLen = 0;
+ } else {
+ *szPath = '\0';
+
+ iPathLen = strlen((char *)pModDirCurr);
+ pModDirNext = (uchar *)strchr((char *)pModDirCurr, ':');
+ if(pModDirNext)
+ iPathLen = (size_t)(pModDirNext - pModDirCurr);
+
+ if(iPathLen == 0) {
+ if(pModDirNext) {
+ pModDirCurr = pModDirNext + 1;
+ continue;
+ }
+ break;
+ } else if(iPathLen > sizeof(szPath) - 1) {
+ errmsg.LogError(0, NO_ERRCODE, "could not load module '%s', module path too long\n", pModName);
ABORT_FINALIZE(RS_RET_MODULE_LOAD_ERR_PATHLEN);
}
+
+ strncat((char *) szPath, (char *)pModDirCurr, iPathLen);
+ iPathLen = strlen((char*) szPath);
+
+ if(pModDirNext)
+ pModDirCurr = pModDirNext + 1;
+
+ if((szPath[iPathLen - 1] != '/')) {
+ if((iPathLen <= sizeof(szPath) - 2)) {
+ szPath[iPathLen++] = '/';
+ szPath[iPathLen] = '\0';
+ } else {
+ errmsg.LogError(0, RS_RET_MODULE_LOAD_ERR_PATHLEN, "could not load module '%s', path too long\n", pModName);
+ ABORT_FINALIZE(RS_RET_MODULE_LOAD_ERR_PATHLEN);
+ }
+ }
}
- }
- /* ... add actual name ... */
- strncat((char *) szPath, (char *) pModName, sizeof(szPath) - iPathLen - 1);
+ /* ... add actual name ... */
+ strncat((char *) szPath, (char *) pModName, sizeof(szPath) - iPathLen - 1);
- /* now see if we have an extension and, if not, append ".so" */
- if(!bHasExtension) {
- /* we do not have an extension and so need to add ".so"
- * TODO: I guess this is highly importable, so we should change the
- * algo over time... -- rgerhards, 2008-03-05
- */
- /* ... so now add the extension */
- strncat((char *) szPath, ".so", sizeof(szPath) - strlen((char*) szPath) - 1);
- iPathLen += 3;
- }
+ /* now see if we have an extension and, if not, append ".so" */
+ if(!bHasExtension) {
+ /* we do not have an extension and so need to add ".so"
+ * TODO: I guess this is highly importable, so we should change the
+ * algo over time... -- rgerhards, 2008-03-05
+ */
+ /* ... so now add the extension */
+ strncat((char *) szPath, ".so", sizeof(szPath) - strlen((char*) szPath) - 1);
+ iPathLen += 3;
+ }
- if(iPathLen + strlen((char*) pModName) >= sizeof(szPath)) {
- errmsg.LogError(0, RS_RET_MODULE_LOAD_ERR_PATHLEN, "could not load module '%s', path too long\n", pModName);
- ABORT_FINALIZE(RS_RET_MODULE_LOAD_ERR_PATHLEN);
- }
+ if(iPathLen + strlen((char*) pModName) >= sizeof(szPath)) {
+ errmsg.LogError(0, RS_RET_MODULE_LOAD_ERR_PATHLEN, "could not load module '%s', path too long\n", pModName);
+ ABORT_FINALIZE(RS_RET_MODULE_LOAD_ERR_PATHLEN);
+ }
- /* complete load path constructed, so ... GO! */
- dbgprintf("loading module '%s'\n", szPath);
- if(!(pModHdlr = dlopen((char *) szPath, RTLD_NOW))) {
- errmsg.LogError(0, RS_RET_MODULE_LOAD_ERR_DLOPEN, "could not load module '%s', dlopen: %s\n", szPath, dlerror());
+ /* complete load path constructed, so ... GO! */
+ dbgprintf("loading module '%s'\n", szPath);
+ pModHdlr = dlopen((char *) szPath, RTLD_NOW);
+ iLoadCnt++;
+
+ } while(pModHdlr == NULL && *pModName != '/' && pModDirNext);
+
+ if(!pModHdlr) {
+ if(iLoadCnt) {
+ errmsg.LogError(0, RS_RET_MODULE_LOAD_ERR_DLOPEN, "could not load module '%s', dlopen: %s\n", szPath, dlerror());
+ } else {
+ errmsg.LogError(0, NO_ERRCODE, "could not load module '%s', ModDir was '%s'\n", szPath,
+ ((pModDir == NULL) ? _PATH_MODDIR : (char *)pModDir));
+ }
ABORT_FINALIZE(RS_RET_MODULE_LOAD_ERR_DLOPEN);
}
if(!(pModInit = dlsym(pModHdlr, "modInit"))) {

View File

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

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

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

View File

@ -1,3 +1,18 @@
-------------------------------------------------------------------
Tue Sep 1 11:34:12 CEST 2009 - mt@suse.de
- Updated to rsyslog version 4.4.0, the actual stable 4.4.x series.
It provides several bugfixes, performance improvements and new
features: It adds generic network stream server for syslog, the
capability to rebind the send socket of the UDP output section,
allows multiple tcp listeners, multiple recipients in ommail,
new plugins as omprog, improved documentation and testbench
with a config switch. Please review ChangeLog file for details.
- Removed obsolete moddirs patch (included in 4.4.0)
- Added java2-devel-packages to BuildRequires (for test suite)
- Enabled omprog and omtemplate plugins, added them and the
lmstrmsrv plugin to the base-plugins file list.
------------------------------------------------------------------- -------------------------------------------------------------------
Mon Apr 20 17:35:16 CEST 2009 - mt@suse.de Mon Apr 20 17:35:16 CEST 2009 - mt@suse.de

View File

@ -1,5 +1,5 @@
# #
# spec file for package rsyslog (Version 3.20.6) # spec file for package rsyslog (Version 4.4.0)
# #
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany. # Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
# #
@ -19,10 +19,10 @@
Name: rsyslog Name: rsyslog
%define upstream_version 3.20.6 %define upstream_version 4.4.0
%define rsyslog_docdir %{_docdir}/%{name} %define rsyslog_docdir %{_docdir}/%{name}
%define install_all_modules_in_lib 0 %define install_all_modules_in_lib 0
Version: 3.20.6 Version: 4.4.0
Release: 1 Release: 1
License: GPL v3 or later License: GPL v3 or later
Group: System/Daemons Group: System/Daemons
@ -35,6 +35,7 @@ BuildRequires: klogd
BuildRequires: dos2unix openssl-devel pcre-devel pkgconfig zlib-devel BuildRequires: dos2unix openssl-devel pcre-devel pkgconfig zlib-devel
BuildRequires: krb5-devel mysql-devel net-snmp-devel postgresql-devel BuildRequires: krb5-devel mysql-devel net-snmp-devel postgresql-devel
BuildRequires: libgnutls-devel BuildRequires: libgnutls-devel
BuildRequires: java2-devel-packages
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
#Source0: http://download.rsyslog.com/rsyslog/%{name}-%{upstream_version}.tar.gz #Source0: http://download.rsyslog.com/rsyslog/%{name}-%{upstream_version}.tar.gz
Source0: %{name}-%{upstream_version}.tar.bz2 Source0: %{name}-%{upstream_version}.tar.bz2
@ -42,7 +43,6 @@ 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: %{name}-%{upstream_version}-moddirs.dif
%define _sbindir /sbin %define _sbindir /sbin
%define _libdir /%_lib %define _libdir /%_lib
%define rsyslogdocdir %{_docdir}/%{name} %define rsyslogdocdir %{_docdir}/%{name}
@ -185,7 +185,6 @@ Authors:
%prep %prep
%setup -q -n %{name}-%{upstream_version} %setup -q -n %{name}-%{upstream_version}
dos2unix doc/*.html dos2unix doc/*.html
%patch1 -p0
%build %build
export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -W -Wall" export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -W -Wall"
@ -213,18 +212,9 @@ autoreconf -fi
--enable-mail \ --enable-mail \
--enable-imfile \ --enable-imfile \
--enable-imtemplate \ --enable-imtemplate \
--enable-omprog \
--enable-omtemplate \
--disable-static --disable-static
#
#optional (need additional libs):
# --enable-rfc3195 \
# --enable-relp \
# --enable-libdbi \
#
#for debugging only:
# --enable-rtinst \
# --enable-debug \
# --enable-valgrind \
#
make %{?_smp_mflags:%{_smp_mflags}} make %{?_smp_mflags:%{_smp_mflags}}
%install %install
@ -395,9 +385,12 @@ fi
%{_libdir}/rsyslog/lmnetstrms.so %{_libdir}/rsyslog/lmnetstrms.so
%{_libdir}/rsyslog/lmnsd_ptcp.so %{_libdir}/rsyslog/lmnsd_ptcp.so
%{_libdir}/rsyslog/lmregexp.so %{_libdir}/rsyslog/lmregexp.so
%{_libdir}/rsyslog/lmstrmsrv.so
%{_libdir}/rsyslog/lmtcpclt.so %{_libdir}/rsyslog/lmtcpclt.so
%{_libdir}/rsyslog/lmtcpsrv.so %{_libdir}/rsyslog/lmtcpsrv.so
%{_libdir}/rsyslog/ommail.so %{_libdir}/rsyslog/ommail.so
%{_libdir}/rsyslog/omprog.so
%{_libdir}/rsyslog/omtemplate.so
%{_libdir}/rsyslog/omtesting.so %{_libdir}/rsyslog/omtesting.so
%if ! 0%{install_all_modules_in_lib} %if ! 0%{install_all_modules_in_lib}
%dir %{_prefix}%{_libdir}/rsyslog %dir %{_prefix}%{_libdir}/rsyslog
@ -477,23 +470,3 @@ fi
%endif %endif
%changelog %changelog
* Mon Apr 20 2009 mt@suse.de
- Improved config file comments about usage of additional
modules provided in separate rsyslog-module packages.
- Enabled GnuTLS (syslog-transport-tls) support module.
* Mon Apr 20 2009 mt@suse.de
- Updated to rsyslog 3.20.6 [v3-stable]
* Mon Dec 15 2008 mt@suse.de
- Security fix to honor $AllowedSender settings (bnc#457273).
- Security fix [DoS] from 3.20.2 to emit a discard message every
minute only (when DisallowWarning enabled) instead of every time;
this prevernts an attacker can fill the disk (bnc#457273).
* Wed Sep 10 2008 schwab@suse.de
- Run autoreconf.
* Tue Sep 09 2008 mt@suse.de
- Enabled mail, imfile and imtemplate modules
- Enabled snmp module, packaged as rsyslog-module-snmp
- Added patch to support multiple module directories,
in our case /lib[64]/rsyslog:/usr/lib[64]/rsyslog
* Thu Sep 04 2008 mt@suse.de
- initial rsyslog 3.18.3 package