- new upstream release

This commit is contained in:
Peter Vrabec 2007-08-22 15:36:20 +00:00
parent fb0289f5a2
commit 7f0f85e746
7 changed files with 263 additions and 9 deletions

View File

@ -1,3 +1,3 @@
rsyslog-1.18.1.tar.gz rsyslog-1.19.0.tar.gz
rsyslog.init rsyslog.init
rsyslog.sysconfig rsyslog.sysconfig

View File

@ -0,0 +1,30 @@
--- rsyslog-1.19.0/Makefile.am.libPath 2007-08-09 04:05:28.000000000 +0200
+++ rsyslog-1.19.0/Makefile.am 2007-08-21 12:20:46.000000000 +0200
@@ -1,7 +1,7 @@
sbin_PROGRAMS=rklogd rfc3195d rsyslogd
-rsyslogmoddir=/lib/rsyslog/
-rsyslogmod_LTLIBRARIES=ommysql.la
+
+pkglib_LTLIBRARIES = ommysql.la
rklogd_SOURCES=klogd.c syslog.c pidfile.c ksym.c ksym_mod.c klogd.h ksyms.h pidfile.h module.h
@@ -10,13 +10,14 @@
man_MANS = rfc3195d.8 rklogd.8 rsyslogd.8 rsyslog.conf.5
rsyslogd_SOURCES=syslogd.c pidfile.c template.c outchannel.c stringbuf.c srUtils.c parse.c syslogd-types.h template.h outchannel.h syslogd.h stringbuf.h parse.h srUtils.h liblogging-stub.h net.c net.h msg.c msg.h omshell.c omshell.h omusrmsg.c omusrmsg.h ommysql.h omfwd.c omfwd.h tcpsyslog.c tcpsyslog.h omfile.h omfile.c omdiscard.c omdiscard.h modules.c modules.h module-template.h objomsr.c objomsr.h cfsysline.c cfsysline.h linkedlist.c linkedlist.h iminternal.c iminternal.h action.c action.h
-rsyslogd_CPPFLAGS=-D_PATH_MODDIR=\"$(rsyslogmoddir)\"
+rsyslogd_CPPFLAGS=-D_PATH_MODDIR=\"$(pkglibdir)/\"
rsyslogd_LDADD=$(zlib_libs) $(pthreads_libs) -ldl
rsyslogd_LDFLAGS=-export-dynamic
ommysql_la_SOURCES=ommysql.c ommysql.h
ommysql_la_CPPFLAGS=$(mysql_includes)
-ommysql_la_LDFLAGS=-module -export-dynamic
+ommysql_la_LDFLAGS=-module -avoid-version
ommysql_la_LIBADD=$(mysql_libs)
-EXTRA_DIST = doc/bugs.html doc/features.html doc/generic_design.html doc/history.html doc/how2help.html doc/install.html doc/ipv6.html doc/manual.html doc/property_replacer.html doc/rsyslog_conf.html doc/rsyslog_mysql.html doc/rsyslog_packages.html doc/rsyslog_php_syslog_ng.html doc/rsyslog_recording_pri.html doc/rsyslog_stunnel.html doc/status.html doc/syslog-protocol.html doc/version_naming.html doc/contributors.html redhat/rsyslog.conf redhat/rsyslog.init redhat/rsyslog.log redhat/rsyslog.sysconfig freebsd/rsyslogd slackware/rc.rsyslogd rfc3195d.8 rklogd.8 rsyslogd.8 rsyslog.conf.5 createDB.sql contrib/README contrib/delete_mysql doc/rsconf1_actionexeconlyifpreviousissuspended.html doc/rsconf1_actionresumeinterval.html doc/rsconf1_allowedsender.html doc/rsconf1_controlcharacterescapeprefix.html doc/rsconf1_debugprintcfsyslinehandlerlist.html doc/rsconf1_debugprintmodulelist.html doc/rsconf1_debugprinttemplatelist.html doc/rsconf1_dircreatemode.html doc/rsconf1_dirgroup.html doc/rsconf1_dirowner.html doc/rsconf1_dropmsgswithmaliciousdnsptrrecords.html doc/rsconf1_droptrailinglfonreception.html doc/rsconf1_dynafilecachesize.html doc/rsconf1_escapecontrolcharactersonreceive.html doc/rsconf1_failonchownfailure.html doc/rsconf1_filecreatemode.html doc/rsconf1_filegroup.html doc/rsconf1_fileowner.html doc/rsconf1_includeconfig.html doc/rsconf1_mainmsgqueuesize.html doc/rsconf1_modload.html doc/rsconf1_repeatedmsgreduction.html doc/rsconf1_resetconfigvariables.html doc/rsconf1_umask.html
+EXTRA_DIST = doc/bugs.html doc/features.html doc/generic_design.html doc/history.html doc/how2help.html doc/install.html doc/ipv6.html doc/manual.html doc/property_replacer.html doc/rsyslog_conf.html doc/rsyslog_mysql.html doc/rsyslog_packages.html doc/rsyslog_php_syslog_ng.html doc/rsyslog_recording_pri.html doc/rsyslog_stunnel.html doc/status.html doc/syslog-protocol.html doc/version_naming.html doc/contributors.html redhat/rsyslog.conf redhat/rsyslog.init redhat/rsyslog.log redhat/rsyslog.sysconfig freebsd/rsyslogd slackware/rc.rsyslogd rfc3195d.8 rklogd.8 rsyslogd.8 rsyslog.conf.5 createDB.sql contrib/README contrib/delete_mysql doc/rsconf1_actionexeconlyifpreviousissuspended.html doc/rsconf1_actionresumeinterval.html doc/rsconf1_allowedsender.html doc/rsconf1_controlcharacterescapeprefix.html doc/rsconf1_debugprintcfsyslinehandlerlist.html doc/rsconf1_debugprintmodulelist.html doc/rsconf1_debugprinttemplatelist.html doc/rsconf1_dircreatemode.html doc/rsconf1_dirgroup.html doc/rsconf1_dirowner.html doc/rsconf1_dropmsgswithmaliciousdnsptrrecords.html doc/rsconf1_droptrailinglfonreception.html doc/rsconf1_dynafilecachesize.html doc/rsconf1_escapecontrolcharactersonreceive.html doc/rsconf1_failonchownfailure.html doc/rsconf1_filecreatemode.html doc/rsconf1_filegroup.html doc/rsconf1_fileowner.html doc/rsconf1_includeconfig.html doc/rsconf1_mainmsgqueuesize.html doc/rsconf1_modload.html doc/rsconf1_repeatedmsgreduction.html doc/rsconf1_resetconfigvariables.html doc/rsconf1_umask.html createDB.sql
+

View File

@ -0,0 +1,101 @@
--- rsyslog/cfsysline.c.orig 2007-08-16 23:33:00.000000000 +0200
+++ rsyslog/cfsysline.c 2007-08-16 23:44:10.000000000 +0200
@@ -573,6 +573,12 @@ finalize_it:
}
+rsRetVal unregCfSysLineHdlrs(void)
+{
+ return llDestroy(&llCmdList);
+}
+
+
/* process a cfsysline command (based on handler structure)
* param "p" is a pointer to the command line after the command. Should be
* updated.
--- rsyslog/cfsysline.h.orig 2007-08-16 23:33:10.000000000 +0200
+++ rsyslog/cfsysline.h 2007-08-16 23:44:23.000000000 +0200
@@ -61,6 +61,7 @@ typedef struct cslCmd_s cslCmd_t;
/* prototypes */
rsRetVal regCfSysLineHdlr(uchar *pCmdName, int bChainingPermitted, ecslCmdHdrlType eType, rsRetVal (*pHdlr)(), void *pData);
+rsRetVal unregCfSysLineHdlrs(void);
rsRetVal processCfSysLineCommand(uchar *pCmd, uchar **p);
rsRetVal cfsyslineInit(void);
void dbgPrintCfSysLineHandlers(void);
--- rsyslog/syslogd.c.orig 2007-08-16 23:45:27.000000000 +0200
+++ rsyslog/syslogd.c 2007-08-17 11:23:54.000000000 +0200
@@ -3552,7 +3552,7 @@ static void die(int sig)
/* de-init some modules */
modExitIminternal();
- /*TODO: the module config command handlers must also be freed! */
+ unregCfSysLineHdlrs();
/* TODO: this would also be the right place to de-init the builtin output modules. We
* do not currently do that, because the module interface does not allow for
@@ -4259,6 +4259,10 @@ static void init(void)
/* Close all open log files and free log descriptor array. */
freeSelectors();
+ /* Unload all non-static modules */
+ dbgprintf("Unloading non-static modules.\n");
+ modUnloadAndDestructDynamic();
+
dbgprintf("Clearing templates.\n");
tplDeleteNew();
--- rsyslog/ommysql.c.orig 2007-08-17 11:02:00.000000000 +0200
+++ rsyslog/ommysql.c 2007-08-17 11:02:02.000000000 +0200
@@ -79,6 +79,7 @@ static void closeMySQL(instanceData *pDa
assert(pData != NULL);
if(pData->f_hmysql != NULL) { /* just to be on the safe side... */
+ mysql_server_end();
mysql_close(pData->f_hmysql);
pData->f_hmysql = NULL;
}
--- rsyslog/modules.c.orig 2007-08-21 09:43:48.000000000 +0200
+++ rsyslog/modules.c 2007-08-21 09:07:17.000000000 +0200
@@ -336,6 +336,31 @@ rsRetVal modUnloadAndDestructAll(void)
return iRet;
}
+
+
+rsRetVal modUnloadAndDestructDynamic(void)
+{
+ DEFiRet;
+ modInfo_t *pMod;
+ modInfo_t *pModPrev;
+
+ pLoadedModulesLast = NULL;
+
+ pMod = modGetNxt(NULL);
+ while(pMod != NULL) {
+ pModPrev = pMod;
+ pMod = modGetNxt(pModPrev); /* get next */
+ /* now we can destroy the previous module */
+ if(pModPrev->eLinkType != eMOD_LINK_STATIC) {
+ dbgprintf("Unloading module %s\n", modGetName(pModPrev));
+ moduleDestruct(pModPrev);
+ } else {
+ pLoadedModulesLast = pModPrev;
+ }
+ }
+
+ return iRet;
+}
/*
* vi:set ai:
*/
--- rsyslog/modules.h.orig 2007-08-17 11:11:26.000000000 +0200
+++ rsyslog/modules.h 2007-08-17 11:15:35.000000000 +0200
@@ -94,6 +94,7 @@ uchar *modGetName(modInfo_t *pThis);
uchar *modGetStateName(modInfo_t *pThis);
void modPrintList(void);
rsRetVal modUnloadAndDestructAll(void);
+rsRetVal modUnloadAndDestructDynamic(void);
#endif /* #ifndef MODULES_H_INCLUDED */
/*

View File

@ -0,0 +1,79 @@
--- rsyslog/ommysql.c.orig 2007-08-16 17:06:10.000000000 +0200
+++ rsyslog/ommysql.c 2007-08-16 17:07:02.000000000 +0200
@@ -229,7 +229,7 @@ CODE_STD_STRING_REQUESTparseSelectorAct(
/* ok, if we reach this point, we have something for us */
if((iRet = createInstance(&pData)) != RS_RET_OK)
- return iRet;
+ goto finalize_it;
p++; /* eat '>' '*/
--- rsyslog/omusrmsg.c.orig 2007-08-16 17:07:20.000000000 +0200
+++ rsyslog/omusrmsg.c 2007-08-16 17:11:52.000000000 +0200
@@ -272,10 +272,10 @@ CODE_STD_STRING_REQUESTparseSelectorAct(
*/
if (!*p || !((*p >= 'a' && *p <= 'z') || (*p >= 'A' && *p <= 'Z')
|| (*p >= '0' && *p <= '9') || *p == '_' || *p == '.' || *p == '*'))
- return RS_RET_CONFLINE_UNPROCESSED;
+ ABORT_FINALIZE(RS_RET_CONFLINE_UNPROCESSED);
if((iRet = createInstance(&pData)) != RS_RET_OK)
- return iRet;
+ goto finalize_it;
if(*p == '*') { /* wall */
@@ -284,7 +284,7 @@ CODE_STD_STRING_REQUESTparseSelectorAct(
pData->bIsWall = 1; /* write to all users */
if((iRet = cflineParseTemplateName(&p, *ppOMSR, 0, OMSR_NO_RQD_TPL_OPTS, (uchar*) " WallFmt"))
!= RS_RET_OK)
- return iRet;
+ goto finalize_it;
} else {
/* everything else beginning with the regex above
* is currently treated as a user name
@@ -309,7 +309,7 @@ CODE_STD_STRING_REQUESTparseSelectorAct(
*/
if((iRet = cflineParseTemplateName(&p, *ppOMSR, 0, OMSR_NO_RQD_TPL_OPTS, (uchar*)" StdUsrMsgFmt"))
!= RS_RET_OK)
- return iRet;
+ goto finalize_it;
}
CODE_STD_FINALIZERparseSelectorAct
ENDparseSelectorAct
--- rsyslog/rsyslog.h.orig 2007-08-16 17:13:38.000000000 +0200
+++ rsyslog/rsyslog.h 2007-08-16 17:15:47.000000000 +0200
@@ -82,9 +82,11 @@ typedef enum rsRetVal_ rsRetVal; /**< fr
/* macro below is to be used if we need our own handling, eg for cleanup */
#define CHKiRet_Hdlr(code) if((iRet = code) != RS_RET_OK)
#define DEFiRet rsRetVal iRet = RS_RET_OK
-#define ABORT_FINALIZE(errCode) \
- iRet = errCode;\
- goto finalize_it;
+#define ABORT_FINALIZE(errCode) \
+ do { \
+ iRet = errCode; \
+ goto finalize_it; \
+ } while (0)
/** Object ID. These are for internal checking. Each
* object is assigned a specific ID. This is contained in
--- rsyslog/module-template.h.orig 2007-08-16 17:29:13.000000000 +0200
+++ rsyslog/module-template.h 2007-08-16 17:38:37.000000000 +0200
@@ -226,10 +226,13 @@ finalize_it:\
*pp = p;\
} else {\
/* cleanup, we failed */\
- if(*ppOMSR != NULL)\
+ if(*ppOMSR != NULL) {\
OMSRdestruct(*ppOMSR);\
*ppOMSR = NULL;\
- }
+ }\
+ if(pData != NULL)\
+ freeInstance(&pData);\
+ }
#define ENDparseSelectorAct \
return iRet;\

View File

@ -0,0 +1,18 @@
--- rsyslog-1.19.0/syslogd.c.orig 2007-08-21 16:45:10.000000000 +0200
+++ rsyslog-1.19.0/syslogd.c 2007-08-21 16:45:28.000000000 +0200
@@ -5650,11 +5650,11 @@ static void mainloop(void)
#endif
#endif
- errno = 0;
- FD_ZERO(&readfds);
- maxfds = 0;
-
while(!bFinished){
+ errno = 0;
+ maxfds = 0;
+ FD_ZERO (&readfds);
+
/* first check if we have any internal messages queued and spit them out */
processImInternal();

View File

@ -1,20 +1,20 @@
%define with_db 0
%define sbindir /sbin %define sbindir /sbin
Summary: Enhanced system logging and kernel message trapping daemons Summary: Enhanced system logging and kernel message trapping daemons
Name: rsyslog Name: rsyslog
Version: 1.18.1 Version: 1.19.0
Release: 1%{?dist} Release: 1%{?dist}
License: GPL License: GPLv2+
Group: System Environment/Daemons Group: System Environment/Daemons
URL: http://www.rsyslog.com/ URL: http://www.rsyslog.com/
Source0: http://download.adiscon.com/rsyslog/%{name}-%{version}.tar.gz Source0: http://download.adiscon.com/rsyslog/%{name}-%{version}.tar.gz
Source1: rsyslog.init Source1: rsyslog.init
Source2: rsyslog.sysconfig Source2: rsyslog.sysconfig
Patch1: rsyslog-1.19.0-libPath.patch
Patch2: rsyslog-1.19.0-ommysqlLeak.patch
Patch3: rsyslog-1.19.0-modUnload.patch
Patch4: rsyslog-1.19.0-readfds.patch
Conflicts: logrotate < 3.5.2 Conflicts: logrotate < 3.5.2
%if %{with_db}
BuildRequires: mysql-devel >= 4.0
%endif
BuildRequires: zlib-devel BuildRequires: zlib-devel
Requires: logrotate Requires: logrotate
Requires: bash >= 2.0 Requires: bash >= 2.0
@ -26,6 +26,12 @@ Provides: sysklogd = 1.4.3-1
Obsoletes: sysklogd < 1.4.3-1 Obsoletes: sysklogd < 1.4.3-1
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
%package mysql
Summary: MySQL support for rsyslog
Group: System Environment/Daemons
Requires: %name = %version-%release
BuildRequires: mysql-devel >= 4.0
%description %description
Rsyslog is an enhanced multi-threaded syslogd supporting, among others, MySQL, Rsyslog is an enhanced multi-threaded syslogd supporting, among others, MySQL,
syslog/tcp, RFC 3195, permitted sender lists, filtering on any message part, syslog/tcp, RFC 3195, permitted sender lists, filtering on any message part,
@ -35,11 +41,20 @@ suitable for enterprise-class, encryption protected syslog relay chains while
at the same time being very easy to setup for the novice user. at the same time being very easy to setup for the novice user.
%description mysql
The rsyslog-mysql package contains a dynamic shared object that will add
MySQL database support to rsyslog.
%prep %prep
%setup -q %setup -q
%patch1 -p1 -b .libPath
%patch2 -p1 -b .ommysqlLeak
%patch3 -p1 -b .modUnload
%patch4 -p1 -b .readfds
autoreconf
%build %build
%configure --sbindir=%{sbindir} %configure --sbindir=%{sbindir} --disable-static
make %{?_smp_mflags} make %{?_smp_mflags}
%install %install
@ -55,6 +70,9 @@ install -p -m 644 redhat/rsyslog.conf $RPM_BUILD_ROOT%{_sysconfdir}/rsyslog.conf
install -p -m 644 redhat/rsyslog.log $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/rsyslog install -p -m 644 redhat/rsyslog.log $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/rsyslog
install -p -m 644 %{SOURCE2} $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/rsyslog install -p -m 644 %{SOURCE2} $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/rsyslog
#get rid of *.la
rm $RPM_BUILD_ROOT/%{_libdir}/rsyslog/*.la
%clean %clean
rm -rf $RPM_BUILD_ROOT rm -rf $RPM_BUILD_ROOT
@ -100,7 +118,15 @@ fi
%{sbindir}/rfc3195d %{sbindir}/rfc3195d
%{_mandir}/*/* %{_mandir}/*/*
%files mysql
%defattr(-,root,root)
%doc createDB.sql
%{_libdir}/rsyslog/ommysql.so
%changelog %changelog
* Fri Aug 17 2007 Peter Vrabec <pvrabec@redhat.com> 1.19.0-1
- new upstream release with MySQL support(as plugin)
* Wed Aug 08 2007 Peter Vrabec <pvrabec@redhat.com> 1.18.1-1 * Wed Aug 08 2007 Peter Vrabec <pvrabec@redhat.com> 1.18.1-1
- upstream bugfix release - upstream bugfix release

View File

@ -1,3 +1,3 @@
d91a522980cc6a21526743dfbba061d8 rsyslog-1.18.1.tar.gz 5a1852cd86e55dd0d3125e0d7a6af1ca rsyslog-1.19.0.tar.gz
fe8fcd90c672701fa198dd1206df64ae rsyslog.init fe8fcd90c672701fa198dd1206df64ae rsyslog.init
e10d2dc3238c2cf2a54933f10b19b9bf rsyslog.sysconfig e10d2dc3238c2cf2a54933f10b19b9bf rsyslog.sysconfig