From 2496b31537f2200c720fbbc54d72cfa524f29f07 Mon Sep 17 00:00:00 2001 From: Tomas Heinrich Date: Thu, 8 Apr 2010 13:42:21 +0000 Subject: [PATCH] - upgrade to new upstream stable version 4.6.2 - correct the default value of the OMFileFlushOnTXEnd directive --- .cvsignore | 2 +- rsyslog-4.4.2-unlimited-select.patch | 1681 -------------------------- rsyslog-4.6.2-omfileflush.patch | 29 + rsyslog-4.6.2-unlimited-select.patch | 761 ++++++++++++ rsyslog.spec | 13 +- sources | 2 +- 6 files changed, 802 insertions(+), 1686 deletions(-) delete mode 100644 rsyslog-4.4.2-unlimited-select.patch create mode 100644 rsyslog-4.6.2-omfileflush.patch create mode 100644 rsyslog-4.6.2-unlimited-select.patch diff --git a/.cvsignore b/.cvsignore index 6d7951f..50a5298 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -rsyslog-4.4.2.tar.gz +rsyslog-4.6.2.tar.gz diff --git a/rsyslog-4.4.2-unlimited-select.patch b/rsyslog-4.4.2-unlimited-select.patch deleted file mode 100644 index 956f7f7..0000000 --- a/rsyslog-4.4.2-unlimited-select.patch +++ /dev/null @@ -1,1681 +0,0 @@ -diff -ur -N rsyslog-4.4.2.orig/Makefile.in rsyslog-4.4.2.patched/Makefile.in ---- rsyslog-4.4.2.orig/Makefile.in 2009-10-09 13:59:39.000000000 +0200 -+++ rsyslog-4.4.2.patched/Makefile.in 2010-02-11 15:42:37.593932130 +0100 -@@ -1,4 +1,4 @@ --# Makefile.in generated by automake 1.11 from Makefile.am. -+# Makefile.in generated by automake 1.11.1 from Makefile.am. - # @configure_input@ - - # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -@@ -635,7 +635,7 @@ - # (which will cause the Makefiles to be regenerated when you run `make'); - # (2) otherwise, pass the desired values on the `make' command line. - $(RECURSIVE_TARGETS): -- @failcom='exit 1'; \ -+ @fail= failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ -@@ -660,7 +660,7 @@ - fi; test -z "$$fail" - - $(RECURSIVE_CLEAN_TARGETS): -- @failcom='exit 1'; \ -+ @fail= failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ -@@ -824,7 +824,8 @@ - fi; \ - done - -test -n "$(am__skip_mode_fix)" \ -- || find "$(distdir)" -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ -+ || find "$(distdir)" -type d ! -perm -755 \ -+ -exec chmod u+rwx,go+rx {} \; -o \ - ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ -@@ -868,17 +869,17 @@ - distcheck: dist - case '$(DIST_ARCHIVES)' in \ - *.tar.gz*) \ -- GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ -+ GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ - *.tar.bz2*) \ -- bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ -+ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ - *.tar.lzma*) \ -- unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\ -+ lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\ - *.tar.xz*) \ - xz -dc $(distdir).tar.xz | $(am__untar) ;;\ - *.tar.Z*) \ - uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ - *.shar.gz*) \ -- GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ -+ GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ - *.zip*) \ - unzip $(distdir).zip ;;\ - esac -diff -ur -N rsyslog-4.4.2.orig/aclocal.m4 rsyslog-4.4.2.patched/aclocal.m4 ---- rsyslog-4.4.2.orig/aclocal.m4 2009-10-09 13:59:27.000000000 +0200 -+++ rsyslog-4.4.2.patched/aclocal.m4 2010-02-11 15:42:30.217931770 +0100 -@@ -1,4 +1,4 @@ --# generated automatically by aclocal 1.11 -*- Autoconf -*- -+# generated automatically by aclocal 1.11.1 -*- Autoconf -*- - - # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, - # 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. -@@ -190,7 +190,7 @@ - [am__api_version='1.11' - dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to - dnl require some minimum version. Point them to the right macro. --m4_if([$1], [1.11], [], -+m4_if([$1], [1.11.1], [], - [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl - ]) - -@@ -206,7 +206,7 @@ - # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. - # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. - AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], --[AM_AUTOMAKE_VERSION([1.11])dnl -+[AM_AUTOMAKE_VERSION([1.11.1])dnl - m4_ifndef([AC_AUTOCONF_VERSION], - [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl - _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) -diff -ur -N rsyslog-4.4.2.orig/compile rsyslog-4.4.2.patched/compile ---- rsyslog-4.4.2.orig/compile 2009-10-09 13:59:34.000000000 +0200 -+++ rsyslog-4.4.2.patched/compile 2010-02-11 15:42:34.793932302 +0100 -@@ -1,7 +1,7 @@ - #! /bin/sh - # Wrapper for compilers which do not understand `-c -o'. - --scriptversion=2009-04-28.21; # UTC -+scriptversion=2009-10-06.20; # UTC - - # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009 Free Software - # Foundation, Inc. -@@ -124,9 +124,9 @@ - ret=$? - - if test -f "$cofile"; then -- mv "$cofile" "$ofile" -+ test "$cofile" = "$ofile" || mv "$cofile" "$ofile" - elif test -f "${cofile}bj"; then -- mv "${cofile}bj" "$ofile" -+ test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" - fi - - rmdir "$lockdir" -diff -ur -N rsyslog-4.4.2.orig/config.guess rsyslog-4.4.2.patched/config.guess ---- rsyslog-4.4.2.orig/config.guess 2009-10-09 13:59:34.000000000 +0200 -+++ rsyslog-4.4.2.patched/config.guess 2010-02-11 15:42:34.795932152 +0100 -@@ -1,10 +1,10 @@ - #! /bin/sh - # Attempt to guess a canonical system name. - # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, --# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 -+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 - # Free Software Foundation, Inc. - --timestamp='2009-04-27' -+timestamp='2009-11-20' - - # This file is free software; you can redistribute it and/or modify it - # under the terms of the GNU General Public License as published by -@@ -27,16 +27,16 @@ - # the same distribution terms that you use for the rest of that program. - - --# Originally written by Per Bothner . --# Please send patches to . Submit a context --# diff and a properly formatted ChangeLog entry. -+# Originally written by Per Bothner. Please send patches (context -+# diff format) to and include a ChangeLog -+# entry. - # - # This script attempts to guess a canonical system name similar to - # config.sub. If it succeeds, it prints the system name on stdout, and - # exits with 0. Otherwise, it exits with 1. - # --# The plan is that this can be called by configure scripts if you --# don't specify an explicit build system type. -+# You can get the latest version of this script from: -+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD - - me=`echo "$0" | sed -e 's,.*/,,'` - -@@ -170,7 +170,7 @@ - arm*|i386|m68k|ns32k|sh3*|sparc|vax) - eval $set_cc_for_build - if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ -- | grep __ELF__ >/dev/null -+ | grep -q __ELF__ - then - # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). - # Return netbsd for either. FIX? -@@ -333,6 +333,9 @@ - sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; -+ i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) -+ echo i386-pc-auroraux${UNAME_RELEASE} -+ exit ;; - i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) - eval $set_cc_for_build - SUN_ARCH="i386" -@@ -656,7 +659,7 @@ - # => hppa64-hp-hpux11.23 - - if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | -- grep __LP64__ >/dev/null -+ grep -q __LP64__ - then - HP_ARCH="hppa2.0w" - else -@@ -807,12 +810,12 @@ - i*:PW*:*) - echo ${UNAME_MACHINE}-pc-pw32 - exit ;; -- *:Interix*:[3456]*) -+ *:Interix*:*) - case ${UNAME_MACHINE} in - x86) - echo i586-pc-interix${UNAME_RELEASE} - exit ;; -- EM64T | authenticamd | genuineintel) -+ authenticamd | genuineintel | EM64T) - echo x86_64-unknown-interix${UNAME_RELEASE} - exit ;; - IA64) -@@ -822,6 +825,9 @@ - [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) - echo i${UNAME_MACHINE}-pc-mks - exit ;; -+ 8664:Windows_NT:*) -+ echo x86_64-pc-mks -+ exit ;; - i*:Windows_NT*:* | Pentium*:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we -@@ -851,6 +857,20 @@ - i*86:Minix:*:*) - echo ${UNAME_MACHINE}-pc-minix - exit ;; -+ alpha:Linux:*:*) -+ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in -+ EV5) UNAME_MACHINE=alphaev5 ;; -+ EV56) UNAME_MACHINE=alphaev56 ;; -+ PCA56) UNAME_MACHINE=alphapca56 ;; -+ PCA57) UNAME_MACHINE=alphapca56 ;; -+ EV6) UNAME_MACHINE=alphaev6 ;; -+ EV67) UNAME_MACHINE=alphaev67 ;; -+ EV68*) UNAME_MACHINE=alphaev68 ;; -+ esac -+ objdump --private-headers /bin/sh | grep -q ld.so.1 -+ if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi -+ echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} -+ exit ;; - arm*:Linux:*:*) - eval $set_cc_for_build - if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ -@@ -873,6 +893,17 @@ - frv:Linux:*:*) - echo frv-unknown-linux-gnu - exit ;; -+ i*86:Linux:*:*) -+ LIBC=gnu -+ eval $set_cc_for_build -+ sed 's/^ //' << EOF >$dummy.c -+ #ifdef __dietlibc__ -+ LIBC=dietlibc -+ #endif -+EOF -+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` -+ echo "${UNAME_MACHINE}-pc-linux-${LIBC}" -+ exit ;; - ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; -@@ -882,78 +913,34 @@ - m68*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; -- mips:Linux:*:*) -- eval $set_cc_for_build -- sed 's/^ //' << EOF >$dummy.c -- #undef CPU -- #undef mips -- #undef mipsel -- #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) -- CPU=mipsel -- #else -- #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) -- CPU=mips -- #else -- CPU= -- #endif -- #endif --EOF -- eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' -- /^CPU/{ -- s: ::g -- p -- }'`" -- test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } -- ;; -- mips64:Linux:*:*) -+ mips:Linux:*:* | mips64:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU -- #undef mips64 -- #undef mips64el -+ #undef ${UNAME_MACHINE} -+ #undef ${UNAME_MACHINE}el - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) -- CPU=mips64el -+ CPU=${UNAME_MACHINE}el - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) -- CPU=mips64 -+ CPU=${UNAME_MACHINE} - #else - CPU= - #endif - #endif - EOF -- eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' -- /^CPU/{ -- s: ::g -- p -- }'`" -+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } - ;; - or32:Linux:*:*) - echo or32-unknown-linux-gnu - exit ;; -- ppc:Linux:*:*) -- echo powerpc-unknown-linux-gnu -- exit ;; -- ppc64:Linux:*:*) -- echo powerpc64-unknown-linux-gnu -- exit ;; -- alpha:Linux:*:*) -- case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in -- EV5) UNAME_MACHINE=alphaev5 ;; -- EV56) UNAME_MACHINE=alphaev56 ;; -- PCA56) UNAME_MACHINE=alphapca56 ;; -- PCA57) UNAME_MACHINE=alphapca56 ;; -- EV6) UNAME_MACHINE=alphaev6 ;; -- EV67) UNAME_MACHINE=alphaev67 ;; -- EV68*) UNAME_MACHINE=alphaev68 ;; -- esac -- objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null -- if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi -- echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} -- exit ;; - padre:Linux:*:*) - echo sparc-unknown-linux-gnu - exit ;; -+ parisc64:Linux:*:* | hppa64:Linux:*:*) -+ echo hppa64-unknown-linux-gnu -+ exit ;; - parisc:Linux:*:* | hppa:Linux:*:*) - # Look for CPU level - case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in -@@ -962,8 +949,11 @@ - *) echo hppa-unknown-linux-gnu ;; - esac - exit ;; -- parisc64:Linux:*:* | hppa64:Linux:*:*) -- echo hppa64-unknown-linux-gnu -+ ppc64:Linux:*:*) -+ echo powerpc64-unknown-linux-gnu -+ exit ;; -+ ppc:Linux:*:*) -+ echo powerpc-unknown-linux-gnu - exit ;; - s390:Linux:*:* | s390x:Linux:*:*) - echo ${UNAME_MACHINE}-ibm-linux -@@ -986,66 +976,6 @@ - xtensa*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; -- i*86:Linux:*:*) -- # The BFD linker knows what the default object file format is, so -- # first see if it will tell us. cd to the root directory to prevent -- # problems with other programs or directories called `ld' in the path. -- # Set LC_ALL=C to ensure ld outputs messages in English. -- ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ -- | sed -ne '/supported targets:/!d -- s/[ ][ ]*/ /g -- s/.*supported targets: *// -- s/ .*// -- p'` -- case "$ld_supported_targets" in -- elf32-i386) -- TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" -- ;; -- a.out-i386-linux) -- echo "${UNAME_MACHINE}-pc-linux-gnuaout" -- exit ;; -- "") -- # Either a pre-BFD a.out linker (linux-gnuoldld) or -- # one that does not give us useful --help. -- echo "${UNAME_MACHINE}-pc-linux-gnuoldld" -- exit ;; -- esac -- # Determine whether the default compiler is a.out or elf -- eval $set_cc_for_build -- sed 's/^ //' << EOF >$dummy.c -- #include -- #ifdef __ELF__ -- # ifdef __GLIBC__ -- # if __GLIBC__ >= 2 -- LIBC=gnu -- # else -- LIBC=gnulibc1 -- # endif -- # else -- LIBC=gnulibc1 -- # endif -- #else -- #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) -- LIBC=gnu -- #else -- LIBC=gnuaout -- #endif -- #endif -- #ifdef __dietlibc__ -- LIBC=dietlibc -- #endif --EOF -- eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' -- /^LIBC/{ -- s: ::g -- p -- }'`" -- test x"${LIBC}" != x && { -- echo "${UNAME_MACHINE}-pc-linux-${LIBC}" -- exit -- } -- test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } -- ;; - i*86:DYNIX/ptx:4*:*) - # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. - # earlier versions are messed up and put the nodename in both -@@ -1074,7 +1004,7 @@ - i*86:syllable:*:*) - echo ${UNAME_MACHINE}-pc-syllable - exit ;; -- i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) -+ i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) - echo i386-unknown-lynxos${UNAME_RELEASE} - exit ;; - i*86:*DOS:*:*) -@@ -1182,7 +1112,7 @@ - rs6000:LynxOS:2.*:*) - echo rs6000-unknown-lynxos${UNAME_RELEASE} - exit ;; -- PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) -+ PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) - echo powerpc-unknown-lynxos${UNAME_RELEASE} - exit ;; - SM[BE]S:UNIX_SV:*:*) -@@ -1275,6 +1205,16 @@ - *:Darwin:*:*) - UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown - case $UNAME_PROCESSOR in -+ i386) -+ eval $set_cc_for_build -+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then -+ if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ -+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ -+ grep IS_64BIT_ARCH >/dev/null -+ then -+ UNAME_PROCESSOR="x86_64" -+ fi -+ fi ;; - unknown) UNAME_PROCESSOR=powerpc ;; - esac - echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} -diff -ur -N rsyslog-4.4.2.orig/config.h.in rsyslog-4.4.2.patched/config.h.in ---- rsyslog-4.4.2.orig/config.h.in 2009-10-09 13:59:32.000000000 +0200 -+++ rsyslog-4.4.2.patched/config.h.in 2010-02-11 15:42:33.000000000 +0100 -@@ -355,6 +355,10 @@ - #endif - - -+/* If defined, the select() syscall won't be limited to a particular number of -+ file descriptors. */ -+#undef USE_UNLIMITED_SELECT -+ - /* Defined if valgrind support settings are to be enabled (e.g. prevents - dlclose()). */ - #undef VALGRIND -diff -ur -N rsyslog-4.4.2.orig/config.sub rsyslog-4.4.2.patched/config.sub ---- rsyslog-4.4.2.orig/config.sub 2009-10-09 13:59:34.000000000 +0200 -+++ rsyslog-4.4.2.patched/config.sub 2010-02-11 15:42:34.797932430 +0100 -@@ -1,10 +1,10 @@ - #! /bin/sh - # Configuration validation subroutine script. - # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, --# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 -+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 - # Free Software Foundation, Inc. - --timestamp='2009-04-17' -+timestamp='2009-11-20' - - # This file is (in principle) common to ALL GNU software. - # The presence of a machine in this file suggests that SOME GNU software -@@ -32,13 +32,16 @@ - - - # Please send patches to . Submit a context --# diff and a properly formatted ChangeLog entry. -+# diff and a properly formatted GNU ChangeLog entry. - # - # Configuration subroutine to validate and canonicalize a configuration type. - # Supply the specified configuration type as an argument. - # If it is invalid, we print an error message on stderr and exit with code 1. - # Otherwise, we print the canonical config type on stdout and succeed. - -+# You can get the latest version of this script from: -+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD -+ - # This file is supposed to be the same for all GNU packages - # and recognize all the CPU types, system types and aliases - # that are meaningful with *any* GNU software. -@@ -149,10 +152,13 @@ - -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ - -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ - -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ -- -apple | -axis | -knuth | -cray) -+ -apple | -axis | -knuth | -cray | -microblaze) - os= - basic_machine=$1 - ;; -+ -bluegene*) -+ os=-cnk -+ ;; - -sim | -cisco | -oki | -wec | -winbond) - os= - basic_machine=$1 -@@ -281,6 +287,7 @@ - | pdp10 | pdp11 | pj | pjl \ - | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ - | pyramid \ -+ | rx \ - | score \ - | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ - | sh64 | sh64le \ -@@ -288,13 +295,14 @@ - | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ - | spu | strongarm \ - | tahoe | thumb | tic4x | tic80 | tron \ -+ | ubicom32 \ - | v850 | v850e \ - | we32k \ - | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ - | z8k | z80) - basic_machine=$basic_machine-unknown - ;; -- m6811 | m68hc11 | m6812 | m68hc12) -+ m6811 | m68hc11 | m6812 | m68hc12 | picochip) - # Motorola 68HC11/12. - basic_machine=$basic_machine-unknown - os=-none -@@ -337,7 +345,7 @@ - | lm32-* \ - | m32c-* | m32r-* | m32rle-* \ - | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ -- | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ -+ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ - | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ - | mips16-* \ - | mips64-* | mips64el-* \ -@@ -365,7 +373,7 @@ - | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ - | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ - | pyramid-* \ -- | romp-* | rs6000-* \ -+ | romp-* | rs6000-* | rx-* \ - | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ - | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ - | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ -@@ -374,6 +382,7 @@ - | tahoe-* | thumb-* \ - | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \ - | tron-* \ -+ | ubicom32-* \ - | v850-* | v850e-* | vax-* \ - | we32k-* \ - | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ -@@ -467,6 +476,10 @@ - basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux - ;; -+ bluegene*) -+ basic_machine=powerpc-ibm -+ os=-cnk -+ ;; - c90) - basic_machine=c90-cray - os=-unicos -@@ -719,6 +732,9 @@ - basic_machine=ns32k-utek - os=-sysv - ;; -+ microblaze) -+ basic_machine=microblaze-xilinx -+ ;; - mingw32) - basic_machine=i386-pc - os=-mingw32 -@@ -1240,6 +1256,9 @@ - # First match some system type aliases - # that might get confused with valid system types. - # -solaris* is a basic system type, with this one exception. -+ -auroraux) -+ os=-auroraux -+ ;; - -solaris1 | -solaris1.*) - os=`echo $os | sed -e 's|solaris1|sunos4|'` - ;; -@@ -1260,9 +1279,9 @@ - # Each alternative MUST END IN A *, to match a version number. - # -sysv* is not here because it comes later, after sysvr4. - -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ -- | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ -- | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ -- | -kopensolaris* \ -+ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ -+ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ -+ | -sym* | -kopensolaris* \ - | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* | -aros* \ - | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ -@@ -1283,7 +1302,7 @@ - | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ - | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ - | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ -- | -skyos* | -haiku* | -rdos* | -toppers* | -drops*) -+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) - # Remember, each alternative MUST END IN *, to match a version number. - ;; - -qnx*) -@@ -1613,7 +1632,7 @@ - -sunos*) - vendor=sun - ;; -- -aix*) -+ -cnk*|-aix*) - vendor=ibm - ;; - -beos*) -diff -ur -N rsyslog-4.4.2.orig/configure rsyslog-4.4.2.patched/configure ---- rsyslog-4.4.2.orig/configure 2009-10-09 13:59:30.000000000 +0200 -+++ rsyslog-4.4.2.patched/configure 2010-02-11 15:42:31.953931646 +0100 -@@ -1008,6 +1008,7 @@ - enable_unix - enable_inet - enable_fsstnd -+enable_unlimited_select - enable_debug - enable_rtinst - enable_valgrind -@@ -1695,6 +1696,8 @@ - --disable-unix Disable support for unix - --enable-inet Enable networking support [default=yes] - --disable-fsstnd Disable support for FSSTND -+ --enable-unlimited-select -+ Enable unlimited select() syscall [default=no] - --enable-debug Enable debug mode [default=no] - --enable-rtinst Enable runtime instrumentation mode [default=no] - --enable-valgrind Enable valgrind support settings [default=no] -@@ -5731,8 +5734,8 @@ - - - --macro_version='2.2.6' --macro_revision='1.3012' -+macro_version='2.2.6b' -+macro_revision='1.3017' - - - -@@ -6291,13 +6294,13 @@ - else - lt_cv_nm_interface="BSD nm" - echo "int some_variable = 0;" > conftest.$ac_ext -- (eval echo "\"\$as_me:6294: $ac_compile\"" >&5) -+ (eval echo "\"\$as_me:6297: $ac_compile\"" >&5) - (eval "$ac_compile" 2>conftest.err) - cat conftest.err >&5 -- (eval echo "\"\$as_me:6297: $NM \\\"conftest.$ac_objext\\\"\"" >&5) -+ (eval echo "\"\$as_me:6300: $NM \\\"conftest.$ac_objext\\\"\"" >&5) - (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) - cat conftest.err >&5 -- (eval echo "\"\$as_me:6300: output\"" >&5) -+ (eval echo "\"\$as_me:6303: output\"" >&5) - cat conftest.out >&5 - if $GREP 'External.*some_variable' conftest.out > /dev/null; then - lt_cv_nm_interface="MS dumpbin" -@@ -7502,7 +7505,7 @@ - ;; - *-*-irix6*) - # Find out which ABI we are using. -- echo '#line 7505 "configure"' > conftest.$ac_ext -+ echo '#line 7508 "configure"' > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? -@@ -8841,11 +8844,11 @@ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` -- (eval echo "\"\$as_me:8844: $lt_compile\"" >&5) -+ (eval echo "\"\$as_me:8847: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 -- echo "$as_me:8848: \$? = $ac_status" >&5 -+ echo "$as_me:8851: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. -@@ -9180,11 +9183,11 @@ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` -- (eval echo "\"\$as_me:9183: $lt_compile\"" >&5) -+ (eval echo "\"\$as_me:9186: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 -- echo "$as_me:9187: \$? = $ac_status" >&5 -+ echo "$as_me:9190: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. -@@ -9285,11 +9288,11 @@ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` -- (eval echo "\"\$as_me:9288: $lt_compile\"" >&5) -+ (eval echo "\"\$as_me:9291: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 -- echo "$as_me:9292: \$? = $ac_status" >&5 -+ echo "$as_me:9295: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized -@@ -9340,11 +9343,11 @@ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` -- (eval echo "\"\$as_me:9343: $lt_compile\"" >&5) -+ (eval echo "\"\$as_me:9346: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 -- echo "$as_me:9347: \$? = $ac_status" >&5 -+ echo "$as_me:9350: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized -@@ -12143,7 +12146,7 @@ - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF --#line 12146 "configure" -+#line 12149 "configure" - #include "confdefs.h" - - #if HAVE_DLFCN_H -@@ -12239,7 +12242,7 @@ - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF --#line 12242 "configure" -+#line 12245 "configure" - #include "confdefs.h" - - #if HAVE_DLFCN_H -@@ -17994,6 +17997,30 @@ - - - -+# support for unlimited select() syscall -+# Check whether --enable-unlimited_select was given. -+if test "${enable_unlimited_select+set}" = set; then -+ enableval=$enable_unlimited_select; case "${enableval}" in -+ yes) enable_unlimited_select="yes" ;; -+ no) enable_unlimited_select="no" ;; -+ *) { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-unlimited-select" >&5 -+$as_echo "$as_me: error: bad value ${enableval} for --enable-unlimited-select" >&2;} -+ { (exit 1); exit 1; }; } ;; -+ esac -+else -+ enable_unlimited_select="no" -+ -+fi -+ -+if test "$enable_unlimited_select" = "yes"; then -+ -+cat >>confdefs.h <<\_ACEOF -+#define USE_UNLIMITED_SELECT 1 -+_ACEOF -+ -+fi -+ -+ - # debug - # Check whether --enable-debug was given. - if test "${enable_debug+set}" = set; then -@@ -22577,6 +22604,7 @@ - echo " rsyslog runtime will be built: $enable_rsyslogrt" - echo " rsyslogd will be built: $enable_rsyslogd" - echo " custom module 1 will be built: $enable_cust1" -+echo " Unlimited select() support enabled: $enable_unlimited_select" - echo - echo "---{ input plugins }---" - echo " Klog functionality enabled: $enable_klog ($os_type)" -diff -ur -N rsyslog-4.4.2.orig/configure.ac rsyslog-4.4.2.patched/configure.ac ---- rsyslog-4.4.2.orig/configure.ac 2009-10-09 13:58:13.000000000 +0200 -+++ rsyslog-4.4.2.patched/configure.ac 2010-02-11 15:39:40.862932116 +0100 -@@ -341,6 +341,21 @@ - ]) - - -+# support for unlimited select() syscall -+AC_ARG_ENABLE(unlimited_select, -+ [AS_HELP_STRING([--enable-unlimited-select],[Enable unlimited select() syscall @<:@default=no@:>@])], -+ [case "${enableval}" in -+ yes) enable_unlimited_select="yes" ;; -+ no) enable_unlimited_select="no" ;; -+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-unlimited-select) ;; -+ esac], -+ [enable_unlimited_select="no"] -+) -+if test "$enable_unlimited_select" = "yes"; then -+ AC_DEFINE(USE_UNLIMITED_SELECT, 1, [If defined, the select() syscall won't be limited to a particular number of file descriptors.]) -+fi -+ -+ - # debug - AC_ARG_ENABLE(debug, - [AS_HELP_STRING([--enable-debug],[Enable debug mode @<:@default=no@:>@])], -@@ -843,6 +858,7 @@ - echo " rsyslog runtime will be built: $enable_rsyslogrt" - echo " rsyslogd will be built: $enable_rsyslogd" - echo " custom module 1 will be built: $enable_cust1" -+echo " Unlimited select() support enabled: $enable_unlimited_select" - echo - echo "---{ input plugins }---" - echo " Klog functionality enabled: $enable_klog ($os_type)" -diff -ur -N rsyslog-4.4.2.orig/doc/Makefile.in rsyslog-4.4.2.patched/doc/Makefile.in ---- rsyslog-4.4.2.orig/doc/Makefile.in 2009-10-09 13:59:34.000000000 +0200 -+++ rsyslog-4.4.2.patched/doc/Makefile.in 2010-02-11 15:42:34.866931622 +0100 -@@ -1,4 +1,4 @@ --# Makefile.in generated by automake 1.11 from Makefile.am. -+# Makefile.in generated by automake 1.11.1 from Makefile.am. - # @configure_input@ - - # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -diff -ur -N rsyslog-4.4.2.orig/gss-misc.c rsyslog-4.4.2.patched/gss-misc.c ---- rsyslog-4.4.2.orig/gss-misc.c 2009-09-23 17:01:22.000000000 +0200 -+++ rsyslog-4.4.2.patched/gss-misc.c 2010-02-11 15:39:40.862932116 +0100 -@@ -51,11 +51,14 @@ - #include "obj.h" - #include "errmsg.h" - #include "gss-misc.h" -+#include "glbl.h" -+#include "unlimited_select.h" - - MODULE_TYPE_LIB - - /* static data */ - DEFobjStaticHelpers -+DEFobjCurrIf(glbl) - DEFobjCurrIf(errmsg) - - static void display_status_(char *m, OM_uint32 code, int type) -@@ -108,28 +111,38 @@ - { - int ret; - char *ptr; -- fd_set rfds; - struct timeval tv; -+#ifdef USE_UNLIMITED_SELECT -+ fd_set *pRfds = malloc(glbl.GetFdSetSize()); -+#else -+ fd_set rfds; -+ fd_set *pRfds = &rfds; -+#endif - - for (ptr = buf; nbyte; ptr += ret, nbyte -= ret) { -- FD_ZERO(&rfds); -- FD_SET(fd, &rfds); -+ FD_ZERO(pRfds); -+ FD_SET(fd, pRfds); - tv.tv_sec = 1; - tv.tv_usec = 0; - -- if ((ret = select(FD_SETSIZE, &rfds, NULL, NULL, &tv)) <= 0 -- || !FD_ISSET(fd, &rfds)) -+ if ((ret = select(FD_SETSIZE, pRfds, NULL, NULL, &tv)) <= 0 -+ || !FD_ISSET(fd, pRfds)) { -+ freeFdSet(pRfds); - return ret; -+ } - ret = recv(fd, ptr, nbyte, 0); - if (ret < 0) { - if (errno == EINTR) - continue; -+ freeFdSet(pRfds); - return (ret); - } else if (ret == 0) { -+ freeFdSet(pRfds); - return (ptr - buf); - } - } - -+ freeFdSet(pRfds); - return (ptr - buf); - } - -@@ -264,6 +277,7 @@ - CODESTARTObjClassExit(gssutil) - /* release objects we no longer need */ - objRelease(errmsg, CORE_COMPONENT); -+ objRelease(glbl, CORE_COMPONENT); - ENDObjClassExit(gssutil) - - -@@ -274,6 +288,7 @@ - BEGINAbstractObjClassInit(gssutil, 1, OBJ_IS_LOADABLE_MODULE) /* class, version - CHANGE class also in END MACRO! */ - /* request objects we use */ - CHKiRet(objUse(errmsg, CORE_COMPONENT)); -+ CHKiRet(objUse(glbl, CORE_COMPONENT)); - ENDObjClassInit(gssutil) - - -diff -ur -N rsyslog-4.4.2.orig/ltmain.sh rsyslog-4.4.2.patched/ltmain.sh ---- rsyslog-4.4.2.orig/ltmain.sh 2009-10-09 13:59:22.000000000 +0200 -+++ rsyslog-4.4.2.patched/ltmain.sh 2010-02-11 15:42:27.218932607 +0100 -@@ -1,6 +1,6 @@ - # Generated from ltmain.m4sh. - --# ltmain.sh (GNU libtool) 2.2.6 -+# ltmain.sh (GNU libtool) 2.2.6b - # Written by Gordon Matzigkeit , 1996 - - # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007 2008 Free Software Foundation, Inc. -@@ -65,7 +65,7 @@ - # compiler: $LTCC - # compiler flags: $LTCFLAGS - # linker: $LD (gnu? $with_gnu_ld) --# $progname: (GNU libtool) 2.2.6 -+# $progname: (GNU libtool) 2.2.6b - # automake: $automake_version - # autoconf: $autoconf_version - # -@@ -73,9 +73,9 @@ - - PROGRAM=ltmain.sh - PACKAGE=libtool --VERSION=2.2.6 -+VERSION=2.2.6b - TIMESTAMP="" --package_revision=1.3012 -+package_revision=1.3017 - - # Be Bourne compatible - if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then -diff -ur -N rsyslog-4.4.2.orig/m4/ltversion.m4 rsyslog-4.4.2.patched/m4/ltversion.m4 ---- rsyslog-4.4.2.orig/m4/ltversion.m4 2009-10-09 13:59:23.000000000 +0200 -+++ rsyslog-4.4.2.patched/m4/ltversion.m4 2010-02-11 15:42:27.377932397 +0100 -@@ -9,15 +9,15 @@ - - # Generated from ltversion.in. - --# serial 3012 ltversion.m4 -+# serial 3017 ltversion.m4 - # This file is part of GNU Libtool - --m4_define([LT_PACKAGE_VERSION], [2.2.6]) --m4_define([LT_PACKAGE_REVISION], [1.3012]) -+m4_define([LT_PACKAGE_VERSION], [2.2.6b]) -+m4_define([LT_PACKAGE_REVISION], [1.3017]) - - AC_DEFUN([LTVERSION_VERSION], --[macro_version='2.2.6' --macro_revision='1.3012' -+[macro_version='2.2.6b' -+macro_revision='1.3017' - _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) - _LT_DECL(, macro_revision, 0) - ]) -diff -ur -N rsyslog-4.4.2.orig/plugins/cust1/Makefile.in rsyslog-4.4.2.patched/plugins/cust1/Makefile.in ---- rsyslog-4.4.2.orig/plugins/cust1/Makefile.in 2009-10-09 13:59:34.000000000 +0200 -+++ rsyslog-4.4.2.patched/plugins/cust1/Makefile.in 2010-02-11 15:42:34.951931968 +0100 -@@ -1,4 +1,4 @@ --# Makefile.in generated by automake 1.11 from Makefile.am. -+# Makefile.in generated by automake 1.11.1 from Makefile.am. - # @configure_input@ - - # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -diff -ur -N rsyslog-4.4.2.orig/plugins/im3195/Makefile.in rsyslog-4.4.2.patched/plugins/im3195/Makefile.in ---- rsyslog-4.4.2.orig/plugins/im3195/Makefile.in 2009-10-09 13:59:34.000000000 +0200 -+++ rsyslog-4.4.2.patched/plugins/im3195/Makefile.in 2010-02-11 15:42:35.032931884 +0100 -@@ -1,4 +1,4 @@ --# Makefile.in generated by automake 1.11 from Makefile.am. -+# Makefile.in generated by automake 1.11.1 from Makefile.am. - # @configure_input@ - - # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -diff -ur -N rsyslog-4.4.2.orig/plugins/imdiag/Makefile.in rsyslog-4.4.2.patched/plugins/imdiag/Makefile.in ---- rsyslog-4.4.2.orig/plugins/imdiag/Makefile.in 2009-10-09 13:59:35.000000000 +0200 -+++ rsyslog-4.4.2.patched/plugins/imdiag/Makefile.in 2010-02-11 15:42:35.112931636 +0100 -@@ -1,4 +1,4 @@ --# Makefile.in generated by automake 1.11 from Makefile.am. -+# Makefile.in generated by automake 1.11.1 from Makefile.am. - # @configure_input@ - - # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -diff -ur -N rsyslog-4.4.2.orig/plugins/imfile/Makefile.in rsyslog-4.4.2.patched/plugins/imfile/Makefile.in ---- rsyslog-4.4.2.orig/plugins/imfile/Makefile.in 2009-10-09 13:59:35.000000000 +0200 -+++ rsyslog-4.4.2.patched/plugins/imfile/Makefile.in 2010-02-11 15:42:35.192931787 +0100 -@@ -1,4 +1,4 @@ --# Makefile.in generated by automake 1.11 from Makefile.am. -+# Makefile.in generated by automake 1.11.1 from Makefile.am. - # @configure_input@ - - # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -diff -ur -N rsyslog-4.4.2.orig/plugins/imgssapi/Makefile.in rsyslog-4.4.2.patched/plugins/imgssapi/Makefile.in ---- rsyslog-4.4.2.orig/plugins/imgssapi/Makefile.in 2009-10-09 13:59:35.000000000 +0200 -+++ rsyslog-4.4.2.patched/plugins/imgssapi/Makefile.in 2010-02-11 15:42:35.274931656 +0100 -@@ -1,4 +1,4 @@ --# Makefile.in generated by automake 1.11 from Makefile.am. -+# Makefile.in generated by automake 1.11.1 from Makefile.am. - # @configure_input@ - - # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -diff -ur -N rsyslog-4.4.2.orig/plugins/imgssapi/imgssapi.c rsyslog-4.4.2.patched/plugins/imgssapi/imgssapi.c ---- rsyslog-4.4.2.orig/plugins/imgssapi/imgssapi.c 2009-10-09 13:58:13.000000000 +0200 -+++ rsyslog-4.4.2.patched/plugins/imgssapi/imgssapi.c 2010-02-11 15:39:40.863962807 +0100 -@@ -56,6 +56,7 @@ - #include "errmsg.h" - #include "netstrm.h" - #include "glbl.h" -+#include "unlimited_select.h" - - - MODULE_TYPE_INPUT -@@ -414,15 +415,20 @@ - CHKiRet(netstrm.GetSock(pSess->pStrm, &fdSess)); // TODO: method access! - if (allowedMethods & ALLOWEDMETHOD_TCP) { - int len; -- fd_set fds; - struct timeval tv; -+#ifdef USE_UNLIMITED_SELECT -+ fd_set *pFds = malloc(glbl.GetFdSetSize()); -+#else -+ fd_set fds; -+ fd_set *pFds = &fds; -+#endif - - do { -- FD_ZERO(&fds); -- FD_SET(fdSess, &fds); -+ FD_ZERO(pFds); -+ FD_SET(fdSess, pFds); - tv.tv_sec = 1; - tv.tv_usec = 0; -- ret = select(fdSess + 1, &fds, NULL, NULL, &tv); -+ ret = select(fdSess + 1, pFds, NULL, NULL, &tv); - } while (ret < 0 && errno == EINTR); - if (ret < 0) { - errmsg.LogError(0, RS_RET_ERR, "TCP session %p will be closed, error ignored\n", pSess); -@@ -475,6 +481,8 @@ - pGSess->allowedMethods = ALLOWEDMETHOD_TCP; - ABORT_FINALIZE(RS_RET_OK); // TODO: define good error codes - } -+ -+ freeFdSet(pFds); - } - - context = &pGSess->gss_context; -diff -ur -N rsyslog-4.4.2.orig/plugins/imklog/Makefile.in rsyslog-4.4.2.patched/plugins/imklog/Makefile.in ---- rsyslog-4.4.2.orig/plugins/imklog/Makefile.in 2009-10-09 13:59:35.000000000 +0200 -+++ rsyslog-4.4.2.patched/plugins/imklog/Makefile.in 2010-02-11 15:42:35.376931797 +0100 -@@ -1,4 +1,4 @@ --# Makefile.in generated by automake 1.11 from Makefile.am. -+# Makefile.in generated by automake 1.11.1 from Makefile.am. - # @configure_input@ - - # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -diff -ur -N rsyslog-4.4.2.orig/plugins/immark/Makefile.in rsyslog-4.4.2.patched/plugins/immark/Makefile.in ---- rsyslog-4.4.2.orig/plugins/immark/Makefile.in 2009-10-09 13:59:35.000000000 +0200 -+++ rsyslog-4.4.2.patched/plugins/immark/Makefile.in 2010-02-11 15:42:35.458932601 +0100 -@@ -1,4 +1,4 @@ --# Makefile.in generated by automake 1.11 from Makefile.am. -+# Makefile.in generated by automake 1.11.1 from Makefile.am. - # @configure_input@ - - # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -diff -ur -N rsyslog-4.4.2.orig/plugins/imrelp/Makefile.in rsyslog-4.4.2.patched/plugins/imrelp/Makefile.in ---- rsyslog-4.4.2.orig/plugins/imrelp/Makefile.in 2009-10-09 13:59:35.000000000 +0200 -+++ rsyslog-4.4.2.patched/plugins/imrelp/Makefile.in 2010-02-11 15:42:35.539932135 +0100 -@@ -1,4 +1,4 @@ --# Makefile.in generated by automake 1.11 from Makefile.am. -+# Makefile.in generated by automake 1.11.1 from Makefile.am. - # @configure_input@ - - # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -diff -ur -N rsyslog-4.4.2.orig/plugins/imtcp/Makefile.in rsyslog-4.4.2.patched/plugins/imtcp/Makefile.in ---- rsyslog-4.4.2.orig/plugins/imtcp/Makefile.in 2009-10-09 13:59:35.000000000 +0200 -+++ rsyslog-4.4.2.patched/plugins/imtcp/Makefile.in 2010-02-11 15:42:35.619932290 +0100 -@@ -1,4 +1,4 @@ --# Makefile.in generated by automake 1.11 from Makefile.am. -+# Makefile.in generated by automake 1.11.1 from Makefile.am. - # @configure_input@ - - # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -diff -ur -N rsyslog-4.4.2.orig/plugins/imtemplate/Makefile.in rsyslog-4.4.2.patched/plugins/imtemplate/Makefile.in ---- rsyslog-4.4.2.orig/plugins/imtemplate/Makefile.in 2009-10-09 13:59:36.000000000 +0200 -+++ rsyslog-4.4.2.patched/plugins/imtemplate/Makefile.in 2010-02-11 15:42:35.700931695 +0100 -@@ -1,4 +1,4 @@ --# Makefile.in generated by automake 1.11 from Makefile.am. -+# Makefile.in generated by automake 1.11.1 from Makefile.am. - # @configure_input@ - - # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -diff -ur -N rsyslog-4.4.2.orig/plugins/imudp/Makefile.in rsyslog-4.4.2.patched/plugins/imudp/Makefile.in ---- rsyslog-4.4.2.orig/plugins/imudp/Makefile.in 2009-10-09 13:59:36.000000000 +0200 -+++ rsyslog-4.4.2.patched/plugins/imudp/Makefile.in 2010-02-11 15:42:35.781931351 +0100 -@@ -1,4 +1,4 @@ --# Makefile.in generated by automake 1.11 from Makefile.am. -+# Makefile.in generated by automake 1.11.1 from Makefile.am. - # @configure_input@ - - # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -diff -ur -N rsyslog-4.4.2.orig/plugins/imudp/imudp.c rsyslog-4.4.2.patched/plugins/imudp/imudp.c ---- rsyslog-4.4.2.orig/plugins/imudp/imudp.c 2009-10-09 13:58:13.000000000 +0200 -+++ rsyslog-4.4.2.patched/plugins/imudp/imudp.c 2010-02-11 15:39:40.864942250 +0100 -@@ -44,6 +44,7 @@ - #include "parser.h" - #include "datetime.h" - #include "unicode-helper.h" -+#include "unlimited_select.h" - - MODULE_TYPE_INPUT - -@@ -256,12 +257,18 @@ - int maxfds; - int nfds; - int i; -- fd_set readfds; - struct sockaddr_storage frominetPrev; - int bIsPermitted; - uchar fromHost[NI_MAXHOST]; - uchar fromHostIP[NI_MAXHOST]; - uchar fromHostFQDN[NI_MAXHOST]; -+#ifdef USE_UNLIMITED_SELECT -+ fd_set *pReadfds = malloc(glbl.GetFdSetSize()); -+#else -+ fd_set readfds; -+ fd_set *pReadfds = &readfds; -+#endif -+ - CODESTARTrunInput - /* start "name caching" algo by making sure the previous system indicator - * is invalidated. -@@ -280,30 +287,30 @@ - * is given without -a, we do not need to listen at all.. - */ - maxfds = 0; -- FD_ZERO (&readfds); -+ FD_ZERO (pReadfds); - - /* Add the UDP listen sockets to the list of read descriptors. */ - for (i = 0; i < *udpLstnSocks; i++) { - if (udpLstnSocks[i+1] != -1) { - if(Debug) - net.debugListenInfo(udpLstnSocks[i+1], "UDP"); -- FD_SET(udpLstnSocks[i+1], &readfds); -+ FD_SET(udpLstnSocks[i+1], pReadfds); - if(udpLstnSocks[i+1]>maxfds) maxfds=udpLstnSocks[i+1]; - } - } - if(Debug) { - dbgprintf("--------imUDP calling select, active file descriptors (max %d): ", maxfds); - for (nfds = 0; nfds <= maxfds; ++nfds) -- if ( FD_ISSET(nfds, &readfds) ) -+ if ( FD_ISSET(nfds, pReadfds) ) - dbgprintf("%d ", nfds); - dbgprintf("\n"); - } - - /* wait for io to become ready */ -- nfds = select(maxfds+1, (fd_set *) &readfds, NULL, NULL, NULL); -+ nfds = select(maxfds+1, (fd_set *) pReadfds, NULL, NULL, NULL); - - for(i = 0; nfds && i < *udpLstnSocks; i++) { -- if(FD_ISSET(udpLstnSocks[i+1], &readfds)) { -+ if (FD_ISSET(udpLstnSocks[i+1], pReadfds)) { - processSocket(udpLstnSocks[i+1], &frominetPrev, &bIsPermitted, - fromHost, fromHostFQDN, fromHostIP); - --nfds; /* indicate we have processed one descriptor */ -@@ -312,6 +319,7 @@ - /* end of a run, back to loop for next recv() */ - } - -+ freeFdSet(pReadfds); - return iRet; - ENDrunInput - -diff -ur -N rsyslog-4.4.2.orig/plugins/imuxsock/Makefile.in rsyslog-4.4.2.patched/plugins/imuxsock/Makefile.in ---- rsyslog-4.4.2.orig/plugins/imuxsock/Makefile.in 2009-10-09 13:59:36.000000000 +0200 -+++ rsyslog-4.4.2.patched/plugins/imuxsock/Makefile.in 2010-02-11 15:42:35.863934534 +0100 -@@ -1,4 +1,4 @@ --# Makefile.in generated by automake 1.11 from Makefile.am. -+# Makefile.in generated by automake 1.11.1 from Makefile.am. - # @configure_input@ - - # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -diff -ur -N rsyslog-4.4.2.orig/plugins/imuxsock/imuxsock.c rsyslog-4.4.2.patched/plugins/imuxsock/imuxsock.c ---- rsyslog-4.4.2.orig/plugins/imuxsock/imuxsock.c 2009-10-09 13:58:13.000000000 +0200 -+++ rsyslog-4.4.2.patched/plugins/imuxsock/imuxsock.c 2010-02-11 15:39:40.866024994 +0100 -@@ -43,6 +43,7 @@ - #include "net.h" - #include "glbl.h" - #include "msg.h" -+#include "unlimited_select.h" - - MODULE_TYPE_INPUT - -@@ -245,7 +246,13 @@ - int nfds; - int i; - int fd; -- fd_set readfds; -+#ifdef USE_UNLIMITED_SELECT -+ fd_set *pReadfds = malloc(glbl.GetFdSetSize()); -+#else -+ fd_set readfds; -+ fd_set *pReadfds = &readfds; -+#endif -+ - CODESTARTrunInput - /* this is an endless loop - it is terminated when the thread is - * signalled to do so. This, however, is handled by the framework, -@@ -259,11 +266,11 @@ - * is given without -a, we do not need to listen at all.. - */ - maxfds = 0; -- FD_ZERO (&readfds); -+ FD_ZERO (pReadfds); - /* Copy master connections */ - for (i = startIndexUxLocalSockets; i < nfunix; i++) { - if (funix[i] != -1) { -- FD_SET(funix[i], &readfds); -+ FD_SET(funix[i], pReadfds); - if (funix[i]>maxfds) maxfds=funix[i]; - } - } -@@ -271,22 +278,23 @@ - if(Debug) { - dbgprintf("--------imuxsock calling select, active file descriptors (max %d): ", maxfds); - for (nfds= 0; nfds <= maxfds; ++nfds) -- if ( FD_ISSET(nfds, &readfds) ) -+ if ( FD_ISSET(nfds, pReadfds) ) - dbgprintf("%d ", nfds); - dbgprintf("\n"); - } - - /* wait for io to become ready */ -- nfds = select(maxfds+1, (fd_set *) &readfds, NULL, NULL, NULL); -+ nfds = select(maxfds+1, (fd_set *) pReadfds, NULL, NULL, NULL); - - for (i = 0; i < nfunix && nfds > 0; i++) { -- if ((fd = funix[i]) != -1 && FD_ISSET(fd, &readfds)) { -+ if ((fd = funix[i]) != -1 && FD_ISSET(fd, pReadfds)) { - readSocket(fd, i); - --nfds; /* indicate we have processed one */ - } - } - } - -+ freeFdSet(pReadfds); - RETiRet; - ENDrunInput - -diff -ur -N rsyslog-4.4.2.orig/plugins/omgssapi/Makefile.in rsyslog-4.4.2.patched/plugins/omgssapi/Makefile.in ---- rsyslog-4.4.2.orig/plugins/omgssapi/Makefile.in 2009-10-09 13:59:36.000000000 +0200 -+++ rsyslog-4.4.2.patched/plugins/omgssapi/Makefile.in 2010-02-11 15:42:35.946931909 +0100 -@@ -1,4 +1,4 @@ --# Makefile.in generated by automake 1.11 from Makefile.am. -+# Makefile.in generated by automake 1.11.1 from Makefile.am. - # @configure_input@ - - # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -diff -ur -N rsyslog-4.4.2.orig/plugins/omlibdbi/Makefile.in rsyslog-4.4.2.patched/plugins/omlibdbi/Makefile.in ---- rsyslog-4.4.2.orig/plugins/omlibdbi/Makefile.in 2009-10-09 13:59:36.000000000 +0200 -+++ rsyslog-4.4.2.patched/plugins/omlibdbi/Makefile.in 2010-02-11 15:42:36.028932138 +0100 -@@ -1,4 +1,4 @@ --# Makefile.in generated by automake 1.11 from Makefile.am. -+# Makefile.in generated by automake 1.11.1 from Makefile.am. - # @configure_input@ - - # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -diff -ur -N rsyslog-4.4.2.orig/plugins/ommail/Makefile.in rsyslog-4.4.2.patched/plugins/ommail/Makefile.in ---- rsyslog-4.4.2.orig/plugins/ommail/Makefile.in 2009-10-09 13:59:36.000000000 +0200 -+++ rsyslog-4.4.2.patched/plugins/ommail/Makefile.in 2010-02-11 15:42:36.110931754 +0100 -@@ -1,4 +1,4 @@ --# Makefile.in generated by automake 1.11 from Makefile.am. -+# Makefile.in generated by automake 1.11.1 from Makefile.am. - # @configure_input@ - - # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -diff -ur -N rsyslog-4.4.2.orig/plugins/ommysql/Makefile.in rsyslog-4.4.2.patched/plugins/ommysql/Makefile.in ---- rsyslog-4.4.2.orig/plugins/ommysql/Makefile.in 2009-10-09 13:59:36.000000000 +0200 -+++ rsyslog-4.4.2.patched/plugins/ommysql/Makefile.in 2010-02-11 15:42:36.194931801 +0100 -@@ -1,4 +1,4 @@ --# Makefile.in generated by automake 1.11 from Makefile.am. -+# Makefile.in generated by automake 1.11.1 from Makefile.am. - # @configure_input@ - - # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -diff -ur -N rsyslog-4.4.2.orig/plugins/omoracle/Makefile.in rsyslog-4.4.2.patched/plugins/omoracle/Makefile.in ---- rsyslog-4.4.2.orig/plugins/omoracle/Makefile.in 2009-10-09 13:59:37.000000000 +0200 -+++ rsyslog-4.4.2.patched/plugins/omoracle/Makefile.in 2010-02-11 15:42:36.277931654 +0100 -@@ -1,4 +1,4 @@ --# Makefile.in generated by automake 1.11 from Makefile.am. -+# Makefile.in generated by automake 1.11.1 from Makefile.am. - # @configure_input@ - - # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -diff -ur -N rsyslog-4.4.2.orig/plugins/ompgsql/Makefile.in rsyslog-4.4.2.patched/plugins/ompgsql/Makefile.in ---- rsyslog-4.4.2.orig/plugins/ompgsql/Makefile.in 2009-10-09 13:59:37.000000000 +0200 -+++ rsyslog-4.4.2.patched/plugins/ompgsql/Makefile.in 2010-02-11 15:42:36.360931816 +0100 -@@ -1,4 +1,4 @@ --# Makefile.in generated by automake 1.11 from Makefile.am. -+# Makefile.in generated by automake 1.11.1 from Makefile.am. - # @configure_input@ - - # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -diff -ur -N rsyslog-4.4.2.orig/plugins/omprog/Makefile.in rsyslog-4.4.2.patched/plugins/omprog/Makefile.in ---- rsyslog-4.4.2.orig/plugins/omprog/Makefile.in 2009-10-09 13:59:37.000000000 +0200 -+++ rsyslog-4.4.2.patched/plugins/omprog/Makefile.in 2010-02-11 15:42:36.441931806 +0100 -@@ -1,4 +1,4 @@ --# Makefile.in generated by automake 1.11 from Makefile.am. -+# Makefile.in generated by automake 1.11.1 from Makefile.am. - # @configure_input@ - - # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -diff -ur -N rsyslog-4.4.2.orig/plugins/omrelp/Makefile.in rsyslog-4.4.2.patched/plugins/omrelp/Makefile.in ---- rsyslog-4.4.2.orig/plugins/omrelp/Makefile.in 2009-10-09 13:59:37.000000000 +0200 -+++ rsyslog-4.4.2.patched/plugins/omrelp/Makefile.in 2010-02-11 15:42:36.523931599 +0100 -@@ -1,4 +1,4 @@ --# Makefile.in generated by automake 1.11 from Makefile.am. -+# Makefile.in generated by automake 1.11.1 from Makefile.am. - # @configure_input@ - - # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -diff -ur -N rsyslog-4.4.2.orig/plugins/omsnmp/Makefile.in rsyslog-4.4.2.patched/plugins/omsnmp/Makefile.in ---- rsyslog-4.4.2.orig/plugins/omsnmp/Makefile.in 2009-10-09 13:59:37.000000000 +0200 -+++ rsyslog-4.4.2.patched/plugins/omsnmp/Makefile.in 2010-02-11 15:42:36.604931604 +0100 -@@ -1,4 +1,4 @@ --# Makefile.in generated by automake 1.11 from Makefile.am. -+# Makefile.in generated by automake 1.11.1 from Makefile.am. - # @configure_input@ - - # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -diff -ur -N rsyslog-4.4.2.orig/plugins/omstdout/Makefile.in rsyslog-4.4.2.patched/plugins/omstdout/Makefile.in ---- rsyslog-4.4.2.orig/plugins/omstdout/Makefile.in 2009-10-09 13:59:37.000000000 +0200 -+++ rsyslog-4.4.2.patched/plugins/omstdout/Makefile.in 2010-02-11 15:42:36.686931831 +0100 -@@ -1,4 +1,4 @@ --# Makefile.in generated by automake 1.11 from Makefile.am. -+# Makefile.in generated by automake 1.11.1 from Makefile.am. - # @configure_input@ - - # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -diff -ur -N rsyslog-4.4.2.orig/plugins/omtemplate/Makefile.in rsyslog-4.4.2.patched/plugins/omtemplate/Makefile.in ---- rsyslog-4.4.2.orig/plugins/omtemplate/Makefile.in 2009-10-09 13:59:37.000000000 +0200 -+++ rsyslog-4.4.2.patched/plugins/omtemplate/Makefile.in 2010-02-11 15:42:36.767931648 +0100 -@@ -1,4 +1,4 @@ --# Makefile.in generated by automake 1.11 from Makefile.am. -+# Makefile.in generated by automake 1.11.1 from Makefile.am. - # @configure_input@ - - # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -diff -ur -N rsyslog-4.4.2.orig/plugins/omtesting/Makefile.in rsyslog-4.4.2.patched/plugins/omtesting/Makefile.in ---- rsyslog-4.4.2.orig/plugins/omtesting/Makefile.in 2009-10-09 13:59:38.000000000 +0200 -+++ rsyslog-4.4.2.patched/plugins/omtesting/Makefile.in 2010-02-11 15:42:36.846931932 +0100 -@@ -1,4 +1,4 @@ --# Makefile.in generated by automake 1.11 from Makefile.am. -+# Makefile.in generated by automake 1.11.1 from Makefile.am. - # @configure_input@ - - # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -diff -ur -N rsyslog-4.4.2.orig/runtime/Makefile.am rsyslog-4.4.2.patched/runtime/Makefile.am ---- rsyslog-4.4.2.orig/runtime/Makefile.am 2009-10-09 13:58:13.000000000 +0200 -+++ rsyslog-4.4.2.patched/runtime/Makefile.am 2010-02-11 15:39:40.866024994 +0100 -@@ -15,6 +15,7 @@ - nsd.h \ - glbl.h \ - glbl.c \ -+ unlimited_select.h \ - conf.c \ - conf.h \ - parser.h \ -diff -ur -N rsyslog-4.4.2.orig/runtime/Makefile.in rsyslog-4.4.2.patched/runtime/Makefile.in ---- rsyslog-4.4.2.orig/runtime/Makefile.in 2009-10-09 13:59:38.000000000 +0200 -+++ rsyslog-4.4.2.patched/runtime/Makefile.in 2010-02-11 15:42:37.170995075 +0100 -@@ -1,4 +1,4 @@ --# Makefile.in generated by automake 1.11 from Makefile.am. -+# Makefile.in generated by automake 1.11.1 from Makefile.am. - # @configure_input@ - - # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -@@ -365,6 +365,7 @@ - nsd.h \ - glbl.h \ - glbl.c \ -+ unlimited_select.h \ - conf.c \ - conf.h \ - parser.h \ -diff -ur -N rsyslog-4.4.2.orig/runtime/glbl.c rsyslog-4.4.2.patched/runtime/glbl.c ---- rsyslog-4.4.2.orig/runtime/glbl.c 2009-10-09 13:58:13.000000000 +0200 -+++ rsyslog-4.4.2.patched/runtime/glbl.c 2010-02-11 15:39:40.867024880 +0100 -@@ -68,6 +68,9 @@ - static uchar *pszDfltNetstrmDrvrCAF = NULL; /* default CA file for the netstrm driver */ - static uchar *pszDfltNetstrmDrvrKeyFile = NULL; /* default key file for the netstrm driver (server) */ - static uchar *pszDfltNetstrmDrvrCertFile = NULL; /* default cert file for the netstrm driver (server) */ -+#ifdef USE_UNLIMITED_SELECT -+static int iFdSetSize = howmany(FD_SETSIZE, __NFDBITS) * sizeof (fd_mask); /* size of select() bitmask in bytes */ -+#endif - - - /* define a macro for the simple properties' set and get functions -@@ -100,6 +103,9 @@ - SIMP_PROP(LocalDomain, LocalDomain, uchar*) - SIMP_PROP(StripDomains, StripDomains, char**) - SIMP_PROP(LocalHosts, LocalHosts, char**) -+#ifdef USE_UNLIMITED_SELECT -+SIMP_PROP(FdSetSize, iFdSetSize, int) -+#endif - - SIMP_PROP_SET(LocalFQDNName, LocalFQDNName, uchar*) - SIMP_PROP_SET(LocalHostName, LocalHostName, uchar*) -@@ -217,6 +223,9 @@ - SIMP_PROP(DfltNetstrmDrvrCAF) - SIMP_PROP(DfltNetstrmDrvrKeyFile) - SIMP_PROP(DfltNetstrmDrvrCertFile) -+#ifdef USE_UNLIMITED_SELECT -+ SIMP_PROP(FdSetSize) -+#endif - #undef SIMP_PROP - finalize_it: - ENDobjQueryInterface(glbl) -@@ -251,6 +260,9 @@ - bOptimizeUniProc = 1; - bHUPisRestart = 1; - bPreserveFQDN = 0; -+#ifdef USE_UNLIMITED_SELECT -+ iFdSetSize = howmany(FD_SETSIZE, __NFDBITS) * sizeof (fd_mask); -+#endif - return RS_RET_OK; - } - -diff -ur -N rsyslog-4.4.2.orig/runtime/glbl.h rsyslog-4.4.2.patched/runtime/glbl.h ---- rsyslog-4.4.2.orig/runtime/glbl.h 2009-10-09 13:58:13.000000000 +0200 -+++ rsyslog-4.4.2.patched/runtime/glbl.h 2010-02-11 15:39:40.867024880 +0100 -@@ -57,9 +57,10 @@ - SIMP_PROP(DfltNetstrmDrvrCAF, uchar*) - SIMP_PROP(DfltNetstrmDrvrKeyFile, uchar*) - SIMP_PROP(DfltNetstrmDrvrCertFile, uchar*) -+ SIMP_PROP(FdSetSize, int) - #undef SIMP_PROP - ENDinterface(glbl) --#define glblCURR_IF_VERSION 2 /* increment whenever you change the interface structure! */ -+#define glblCURR_IF_VERSION 101 /* increment whenever you change the interface structure! */ - /* version 2 had PreserveFQDN added - rgerhards, 2008-12-08 */ - - /* the remaining prototypes */ -diff -ur -N rsyslog-4.4.2.orig/runtime/nsdsel_ptcp.c rsyslog-4.4.2.patched/runtime/nsdsel_ptcp.c ---- rsyslog-4.4.2.orig/runtime/nsdsel_ptcp.c 2009-09-23 17:01:22.000000000 +0200 -+++ rsyslog-4.4.2.patched/runtime/nsdsel_ptcp.c 2010-02-11 15:39:40.868035248 +0100 -@@ -36,6 +36,7 @@ - #include "errmsg.h" - #include "nsd_ptcp.h" - #include "nsdsel_ptcp.h" -+#include "unlimited_select.h" - - /* static data */ - DEFobjStaticHelpers -@@ -47,14 +48,23 @@ - */ - BEGINobjConstruct(nsdsel_ptcp) /* be sure to specify the object type also in END macro! */ - pThis->maxfds = 0; -+#ifdef USE_UNLIMITED_SELECT -+ pThis->pReadfds = calloc(1, glbl.GetFdSetSize()); -+ pThis->pWritefds = calloc(1, glbl.GetFdSetSize()); -+#else - FD_ZERO(&pThis->readfds); - FD_ZERO(&pThis->writefds); -+#endif - ENDobjConstruct(nsdsel_ptcp) - - - /* destructor for the nsdsel_ptcp object */ - BEGINobjDestruct(nsdsel_ptcp) /* be sure to specify the object type also in END and CODESTART macros! */ - CODESTARTobjDestruct(nsdsel_ptcp) -+#ifdef USE_UNLIMITED_SELECT -+ freeFdSet(pThis->pReadfds); -+ freeFdSet(pThis->pWritefds); -+#endif - ENDobjDestruct(nsdsel_ptcp) - - -@@ -65,20 +75,27 @@ - DEFiRet; - nsdsel_ptcp_t *pThis = (nsdsel_ptcp_t*) pNsdsel; - nsd_ptcp_t *pSock = (nsd_ptcp_t*) pNsd; -+#ifdef USE_UNLIMITED_SELECT -+ fd_set *pReadfds = pThis->pReadfds; -+ fd_set *pWritefds = pThis->pWritefds; -+#else -+ fd_set *pReadfds = &pThis->readfds; -+ fd_set *pWritefds = &pThis->writefds; -+#endif - - ISOBJ_TYPE_assert(pSock, nsd_ptcp); - ISOBJ_TYPE_assert(pThis, nsdsel_ptcp); - - switch(waitOp) { - case NSDSEL_RD: -- FD_SET(pSock->sock, &pThis->readfds); -+ FD_SET(pSock->sock, pReadfds); - break; - case NSDSEL_WR: -- FD_SET(pSock->sock, &pThis->writefds); -+ FD_SET(pSock->sock, pWritefds); - break; - case NSDSEL_RDWR: -- FD_SET(pSock->sock, &pThis->readfds); -- FD_SET(pSock->sock, &pThis->writefds); -+ FD_SET(pSock->sock, pReadfds); -+ FD_SET(pSock->sock, pWritefds); - break; - } - -@@ -98,6 +115,13 @@ - DEFiRet; - int i; - nsdsel_ptcp_t *pThis = (nsdsel_ptcp_t*) pNsdsel; -+#ifdef USE_UNLIMITED_SELECT -+ fd_set *pReadfds = pThis->pReadfds; -+ fd_set *pWritefds = pThis->pWritefds; -+#else -+ fd_set *pReadfds = &pThis->readfds; -+ fd_set *pWritefds = &pThis->writefds; -+#endif - - ISOBJ_TYPE_assert(pThis, nsdsel_ptcp); - assert(piNumReady != NULL); -@@ -106,13 +130,13 @@ - // TODO: name in dbgprintf! - dbgprintf("-------- calling select, active fds (max %d): ", pThis->maxfds); - for(i = 0; i <= pThis->maxfds; ++i) -- if(FD_ISSET(i, &pThis->readfds) || FD_ISSET(i, &pThis->writefds)) -+ if(FD_ISSET(i, pReadfds) || FD_ISSET(i, pWritefds)) - dbgprintf("%d ", i); - dbgprintf("\n"); - } - - /* now do the select */ -- *piNumReady = select(pThis->maxfds+1, &pThis->readfds, &pThis->writefds, NULL, NULL); -+ *piNumReady = select(pThis->maxfds+1, pReadfds, pWritefds, NULL, NULL); - - RETiRet; - } -@@ -125,6 +149,13 @@ - DEFiRet; - nsdsel_ptcp_t *pThis = (nsdsel_ptcp_t*) pNsdsel; - nsd_ptcp_t *pSock = (nsd_ptcp_t*) pNsd; -+#ifdef USE_UNLIMITED_SELECT -+ fd_set *pReadfds = pThis->pReadfds; -+ fd_set *pWritefds = pThis->pWritefds; -+#else -+ fd_set *pReadfds = &pThis->readfds; -+ fd_set *pWritefds = &pThis->writefds; -+#endif - - ISOBJ_TYPE_assert(pThis, nsdsel_ptcp); - ISOBJ_TYPE_assert(pSock, nsd_ptcp); -@@ -132,14 +163,14 @@ - - switch(waitOp) { - case NSDSEL_RD: -- *pbIsReady = FD_ISSET(pSock->sock, &pThis->readfds); -+ *pbIsReady = FD_ISSET(pSock->sock, pReadfds); - break; - case NSDSEL_WR: -- *pbIsReady = FD_ISSET(pSock->sock, &pThis->writefds); -+ *pbIsReady = FD_ISSET(pSock->sock, pWritefds); - break; - case NSDSEL_RDWR: -- *pbIsReady = FD_ISSET(pSock->sock, &pThis->readfds) -- | FD_ISSET(pSock->sock, &pThis->writefds); -+ *pbIsReady = FD_ISSET(pSock->sock, pReadfds) -+ | FD_ISSET(pSock->sock, pWritefds); - break; - } - -diff -ur -N rsyslog-4.4.2.orig/runtime/nsdsel_ptcp.h rsyslog-4.4.2.patched/runtime/nsdsel_ptcp.h ---- rsyslog-4.4.2.orig/runtime/nsdsel_ptcp.h 2009-09-23 17:01:22.000000000 +0200 -+++ rsyslog-4.4.2.patched/runtime/nsdsel_ptcp.h 2010-02-11 15:39:40.868962794 +0100 -@@ -31,8 +31,13 @@ - struct nsdsel_ptcp_s { - BEGINobjInstance; /* Data to implement generic object - MUST be the first data element! */ - int maxfds; -+#ifdef USE_UNLIMITED_SELECT -+ fd_set *pReadfds; -+ fd_set *pWritefds; -+#else - fd_set readfds; - fd_set writefds; -+#endif - }; - - /* interface is defined in nsd.h, we just implement it! */ -diff -ur -N rsyslog-4.4.2.orig/runtime/unlimited_select.h rsyslog-4.4.2.patched/runtime/unlimited_select.h ---- rsyslog-4.4.2.orig/runtime/unlimited_select.h 1970-01-01 01:00:00.000000000 +0100 -+++ rsyslog-4.4.2.patched/runtime/unlimited_select.h 2010-02-11 15:39:40.868962794 +0100 -@@ -0,0 +1,45 @@ -+/* unlimited_select.h -+ * Tweak the macros for accessing fd_set so that the select() syscall -+ * won't be limited to a particular number of file descriptors. -+ * -+ * Copyright 2009 Rainer Gerhards and Adiscon GmbH. -+ * -+ * This file is part of rsyslog. -+ * -+ * Rsyslog is free software: you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation, either version 3 of the License, or -+ * (at your option) any later version. -+ * -+ * Rsyslog is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with Rsyslog. If not, see . -+ * -+ * A copy of the GPL can be found in the file "COPYING" in this distribution. -+ */ -+ -+#ifndef UNLIMITED_SELECT_H_INCLUDED -+ -+#include -+#include -+#include -+#include "glbl.h" -+ -+#ifdef USE_UNLIMITED_SELECT -+# undef FD_ZERO -+# define FD_ZERO(set) memset((set), 0, glbl.GetFdSetSize()); -+#endif -+ -+#ifdef USE_UNLIMITED_SELECT -+void freeFdSet(fd_set *p) { -+ free(p); -+} -+#else -+# define freeFdSet(x) -+#endif -+ -+#endif /* #ifndef UNLIMITED_SELECT_H_INCLUDED */ -diff -ur -N rsyslog-4.4.2.orig/tests/Makefile.in rsyslog-4.4.2.patched/tests/Makefile.in ---- rsyslog-4.4.2.orig/tests/Makefile.in 2009-10-09 13:59:38.000000000 +0200 -+++ rsyslog-4.4.2.patched/tests/Makefile.in 2010-02-11 15:42:37.305994662 +0100 -@@ -1,4 +1,4 @@ --# Makefile.in generated by automake 1.11 from Makefile.am. -+# Makefile.in generated by automake 1.11.1 from Makefile.am. - # @configure_input@ - - # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -diff -ur -N rsyslog-4.4.2.orig/tools/Makefile.in rsyslog-4.4.2.patched/tools/Makefile.in ---- rsyslog-4.4.2.orig/tools/Makefile.in 2009-10-09 13:59:38.000000000 +0200 -+++ rsyslog-4.4.2.patched/tools/Makefile.in 2010-02-11 15:42:37.435931695 +0100 -@@ -1,4 +1,4 @@ --# Makefile.in generated by automake 1.11 from Makefile.am. -+# Makefile.in generated by automake 1.11.1 from Makefile.am. - # @configure_input@ - - # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -diff -ur -N rsyslog-4.4.2.orig/tools/syslogd.c rsyslog-4.4.2.patched/tools/syslogd.c ---- rsyslog-4.4.2.orig/tools/syslogd.c 2009-10-09 13:58:13.000000000 +0200 -+++ rsyslog-4.4.2.patched/tools/syslogd.c 2010-02-11 15:39:40.870931782 +0100 -@@ -2150,6 +2150,9 @@ - iFiles, errStr, (long) maxFiles.rlim_max); - ABORT_FINALIZE(RS_RET_ERR_RLIM_NOFILE); - } -+#ifdef USE_UNLIMITED_SELECT -+ glbl.SetFdSetSize(howmany(iFiles, __NFDBITS) * sizeof (fd_mask)); -+#endif - DBGPRINTF("Max number of files set to %d [kernel max %ld].\n", iFiles, (long) maxFiles.rlim_max); - - finalize_it: diff --git a/rsyslog-4.6.2-omfileflush.patch b/rsyslog-4.6.2-omfileflush.patch new file mode 100644 index 0000000..84ece78 --- /dev/null +++ b/rsyslog-4.6.2-omfileflush.patch @@ -0,0 +1,29 @@ +diff -up rsyslog-4.6.2.omfileflush/tools/omfile.c.orig rsyslog-4.6.2.omfileflush/tools/omfile.c +--- rsyslog-4.6.2.omfileflush/tools/omfile.c.orig 2010-04-08 15:10:47.000000000 +0200 ++++ rsyslog-4.6.2.omfileflush/tools/omfile.c 2010-04-08 15:08:57.000000000 +0200 +@@ -87,6 +87,7 @@ typedef struct s_dynaFileCacheEntry dyna + #define IOBUF_DFLT_SIZE 1024 /* default size for io buffers */ + #define FLUSH_INTRVL_DFLT 1 /* default buffer flush interval (in seconds) */ + #define USE_ASYNCWRITER_DFLT 0 /* default buffer use async writer */ ++#define FLUSHONTX_DFLT 1 /* default for flush on TX end */ + + /* globals for default values */ + static int iDynaFileCacheSize = 10; /* max cache for dynamic files */ +@@ -100,7 +101,7 @@ static uid_t dirGID; /* GID to be used + static int bCreateDirs = 1;/* auto-create directories for dynaFiles: 0 - no, 1 - yes */ + static int bEnableSync = 0;/* enable syncing of files (no dash in front of pathname in conf): 0 - no, 1 - yes */ + static int iZipLevel = 0; /* zip compression mode (0..9 as usual) */ +-static bool bFlushOnTXEnd = 0;/* flush write buffers when transaction has ended? */ ++static bool bFlushOnTXEnd = FLUSHONTX_DFLT;/* flush write buffers when transaction has ended? */ + static int64 iIOBufSize = IOBUF_DFLT_SIZE; /* size of an io buffer */ + static int iFlushInterval = FLUSH_INTRVL_DFLT; /* how often flush the output buffer on inactivity? */ + static int bUseAsyncWriter = USE_ASYNCWRITER_DFLT; /* should we enable asynchronous writing? */ +@@ -764,7 +765,7 @@ static rsRetVal resetConfigVariables(uch + bCreateDirs = 1; + bEnableSync = 0; + iZipLevel = 0; +- bFlushOnTXEnd = 0; ++ bFlushOnTXEnd = FLUSHONTX_DFLT; + iIOBufSize = IOBUF_DFLT_SIZE; + iFlushInterval = FLUSH_INTRVL_DFLT; + bUseAsyncWriter = USE_ASYNCWRITER_DFLT; diff --git a/rsyslog-4.6.2-unlimited-select.patch b/rsyslog-4.6.2-unlimited-select.patch new file mode 100644 index 0000000..7726e96 --- /dev/null +++ b/rsyslog-4.6.2-unlimited-select.patch @@ -0,0 +1,761 @@ +diff -urp rsyslog-4.6.2.orig/config.h.in rsyslog-4.6.2/config.h.in +--- rsyslog-4.6.2.orig/config.h.in 2010-03-26 14:51:56.000000000 +0100 ++++ rsyslog-4.6.2/config.h.in 2010-04-07 18:00:07.000000000 +0200 +@@ -370,6 +370,10 @@ + #endif + + ++/* If defined, the select() syscall won't be limited to a particular number of ++ file descriptors. */ ++#undef USE_UNLIMITED_SELECT ++ + /* Defined if valgrind support settings are to be enabled (e.g. prevents + dlclose()). */ + #undef VALGRIND +diff -urp rsyslog-4.6.2.orig/configure rsyslog-4.6.2/configure +--- rsyslog-4.6.2.orig/configure 2010-03-26 14:51:54.000000000 +0100 ++++ rsyslog-4.6.2/configure 2010-04-07 18:00:06.449170306 +0200 +@@ -1010,6 +1010,7 @@ enable_klog + enable_unix + enable_inet + enable_fsstnd ++enable_unlimited_select + enable_debug + enable_rtinst + enable_valgrind +@@ -1697,6 +1698,8 @@ Optional Features: + --disable-unix Disable support for unix + --enable-inet Enable networking support [default=yes] + --disable-fsstnd Disable support for FSSTND ++ --enable-unlimited-select ++ Enable unlimited select() syscall [default=no] + --enable-debug Enable debug mode [default=no] + --enable-rtinst Enable runtime instrumentation mode [default=no] + --enable-valgrind Enable valgrind support settings [default=no] +@@ -6293,13 +6296,13 @@ if test "${lt_cv_nm_interface+set}" = se + else + lt_cv_nm_interface="BSD nm" + echo "int some_variable = 0;" > conftest.$ac_ext +- (eval echo "\"\$as_me:6296: $ac_compile\"" >&5) ++ (eval echo "\"\$as_me:6299: $ac_compile\"" >&5) + (eval "$ac_compile" 2>conftest.err) + cat conftest.err >&5 +- (eval echo "\"\$as_me:6299: $NM \\\"conftest.$ac_objext\\\"\"" >&5) ++ (eval echo "\"\$as_me:6302: $NM \\\"conftest.$ac_objext\\\"\"" >&5) + (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) + cat conftest.err >&5 +- (eval echo "\"\$as_me:6302: output\"" >&5) ++ (eval echo "\"\$as_me:6305: output\"" >&5) + cat conftest.out >&5 + if $GREP 'External.*some_variable' conftest.out > /dev/null; then + lt_cv_nm_interface="MS dumpbin" +@@ -7504,7 +7507,7 @@ ia64-*-hpux*) + ;; + *-*-irix6*) + # Find out which ABI we are using. +- echo '#line 7507 "configure"' > conftest.$ac_ext ++ echo '#line 7510 "configure"' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? +@@ -8843,11 +8846,11 @@ else + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` +- (eval echo "\"\$as_me:8846: $lt_compile\"" >&5) ++ (eval echo "\"\$as_me:8849: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 +- echo "$as_me:8850: \$? = $ac_status" >&5 ++ echo "$as_me:8853: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. +@@ -9182,11 +9185,11 @@ else + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` +- (eval echo "\"\$as_me:9185: $lt_compile\"" >&5) ++ (eval echo "\"\$as_me:9188: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 +- echo "$as_me:9189: \$? = $ac_status" >&5 ++ echo "$as_me:9192: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. +@@ -9287,11 +9290,11 @@ else + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` +- (eval echo "\"\$as_me:9290: $lt_compile\"" >&5) ++ (eval echo "\"\$as_me:9293: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 +- echo "$as_me:9294: \$? = $ac_status" >&5 ++ echo "$as_me:9297: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized +@@ -9342,11 +9345,11 @@ else + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` +- (eval echo "\"\$as_me:9345: $lt_compile\"" >&5) ++ (eval echo "\"\$as_me:9348: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 +- echo "$as_me:9349: \$? = $ac_status" >&5 ++ echo "$as_me:9352: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized +@@ -12145,7 +12148,7 @@ else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 12148 "configure" ++#line 12151 "configure" + #include "confdefs.h" + + #if HAVE_DLFCN_H +@@ -12241,7 +12244,7 @@ else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 12244 "configure" ++#line 12247 "configure" + #include "confdefs.h" + + #if HAVE_DLFCN_H +@@ -18349,6 +18352,30 @@ fi + + + ++# support for unlimited select() syscall ++# Check whether --enable-unlimited_select was given. ++if test "${enable_unlimited_select+set}" = set; then ++ enableval=$enable_unlimited_select; case "${enableval}" in ++ yes) enable_unlimited_select="yes" ;; ++ no) enable_unlimited_select="no" ;; ++ *) { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-unlimited-select" >&5 ++$as_echo "$as_me: error: bad value ${enableval} for --enable-unlimited-select" >&2;} ++ { (exit 1); exit 1; }; } ;; ++ esac ++else ++ enable_unlimited_select="no" ++ ++fi ++ ++if test "$enable_unlimited_select" = "yes"; then ++ ++cat >>confdefs.h <<\_ACEOF ++#define USE_UNLIMITED_SELECT 1 ++_ACEOF ++ ++fi ++ ++ + # debug + # Check whether --enable-debug was given. + if test "${enable_debug+set}" = set; then +@@ -22939,6 +22966,7 @@ echo " Zlib compression support enabl + echo " rsyslog runtime will be built: $enable_rsyslogrt" + echo " rsyslogd will be built: $enable_rsyslogd" + echo " custom module 1 will be built: $enable_cust1" ++echo " Unlimited select() support enabled: $enable_unlimited_select" + echo + echo "---{ input plugins }---" + echo " Klog functionality enabled: $enable_klog ($os_type)" +diff -urp rsyslog-4.6.2.orig/configure.ac rsyslog-4.6.2/configure.ac +--- rsyslog-4.6.2.orig/configure.ac 2010-03-26 14:51:21.000000000 +0100 ++++ rsyslog-4.6.2/configure.ac 2010-04-07 14:36:14.000000000 +0200 +@@ -335,6 +335,21 @@ AC_ARG_ENABLE([fsstnd], + ]) + + ++# support for unlimited select() syscall ++AC_ARG_ENABLE(unlimited_select, ++ [AS_HELP_STRING([--enable-unlimited-select],[Enable unlimited select() syscall @<:@default=no@:>@])], ++ [case "${enableval}" in ++ yes) enable_unlimited_select="yes" ;; ++ no) enable_unlimited_select="no" ;; ++ *) AC_MSG_ERROR(bad value ${enableval} for --enable-unlimited-select) ;; ++ esac], ++ [enable_unlimited_select="no"] ++) ++if test "$enable_unlimited_select" = "yes"; then ++ AC_DEFINE(USE_UNLIMITED_SELECT, 1, [If defined, the select() syscall won't be limited to a particular number of file descriptors.]) ++fi ++ ++ + # debug + AC_ARG_ENABLE(debug, + [AS_HELP_STRING([--enable-debug],[Enable debug mode @<:@default=no@:>@])], +@@ -837,6 +852,7 @@ echo " Zlib compression support enabl + echo " rsyslog runtime will be built: $enable_rsyslogrt" + echo " rsyslogd will be built: $enable_rsyslogd" + echo " custom module 1 will be built: $enable_cust1" ++echo " Unlimited select() support enabled: $enable_unlimited_select" + echo + echo "---{ input plugins }---" + echo " Klog functionality enabled: $enable_klog ($os_type)" +diff -urp rsyslog-4.6.2.orig/gss-misc.c rsyslog-4.6.2/gss-misc.c +--- rsyslog-4.6.2.orig/gss-misc.c 2010-03-23 15:09:59.000000000 +0100 ++++ rsyslog-4.6.2/gss-misc.c 2010-04-07 14:39:55.000000000 +0200 +@@ -51,11 +51,14 @@ + #include "obj.h" + #include "errmsg.h" + #include "gss-misc.h" ++#include "glbl.h" ++#include "unlimited_select.h" + + MODULE_TYPE_LIB + + /* static data */ + DEFobjStaticHelpers ++DEFobjCurrIf(glbl) + DEFobjCurrIf(errmsg) + + static void display_status_(char *m, OM_uint32 code, int type) +@@ -108,28 +111,38 @@ static int read_all(int fd, char *buf, u + { + int ret; + char *ptr; +- fd_set rfds; + struct timeval tv; ++#ifdef USE_UNLIMITED_SELECT ++ fd_set *pRfds = malloc(glbl.GetFdSetSize()); ++#else ++ fd_set rfds; ++ fd_set *pRfds = &rfds; ++#endif + + for (ptr = buf; nbyte; ptr += ret, nbyte -= ret) { +- FD_ZERO(&rfds); +- FD_SET(fd, &rfds); ++ FD_ZERO(pRfds); ++ FD_SET(fd, pRfds); + tv.tv_sec = 1; + tv.tv_usec = 0; + +- if ((ret = select(FD_SETSIZE, &rfds, NULL, NULL, &tv)) <= 0 +- || !FD_ISSET(fd, &rfds)) ++ if ((ret = select(FD_SETSIZE, pRfds, NULL, NULL, &tv)) <= 0 ++ || !FD_ISSET(fd, pRfds)) { ++ freeFdSet(pRfds); + return ret; ++ } + ret = recv(fd, ptr, nbyte, 0); + if (ret < 0) { + if (errno == EINTR) + continue; ++ freeFdSet(pRfds); + return (ret); + } else if (ret == 0) { ++ freeFdSet(pRfds); + return (ptr - buf); + } + } + ++ freeFdSet(pRfds); + return (ptr - buf); + } + +@@ -264,6 +277,7 @@ BEGINObjClassExit(gssutil, OBJ_IS_LOADAB + CODESTARTObjClassExit(gssutil) + /* release objects we no longer need */ + objRelease(errmsg, CORE_COMPONENT); ++ objRelease(glbl, CORE_COMPONENT); + ENDObjClassExit(gssutil) + + +@@ -274,6 +288,7 @@ ENDObjClassExit(gssutil) + BEGINAbstractObjClassInit(gssutil, 1, OBJ_IS_LOADABLE_MODULE) /* class, version - CHANGE class also in END MACRO! */ + /* request objects we use */ + CHKiRet(objUse(errmsg, CORE_COMPONENT)); ++ CHKiRet(objUse(glbl, CORE_COMPONENT)); + ENDObjClassInit(gssutil) + + +diff -urp rsyslog-4.6.2.orig/plugins/imgssapi/imgssapi.c rsyslog-4.6.2/plugins/imgssapi/imgssapi.c +--- rsyslog-4.6.2.orig/plugins/imgssapi/imgssapi.c 2010-03-23 15:09:59.000000000 +0100 ++++ rsyslog-4.6.2/plugins/imgssapi/imgssapi.c 2010-04-07 14:42:13.000000000 +0200 +@@ -56,6 +56,7 @@ + #include "errmsg.h" + #include "netstrm.h" + #include "glbl.h" ++#include "unlimited_select.h" + + + MODULE_TYPE_INPUT +@@ -414,15 +415,20 @@ OnSessAcceptGSS(tcpsrv_t *pThis, tcps_se + CHKiRet(netstrm.GetSock(pSess->pStrm, &fdSess)); // TODO: method access! + if (allowedMethods & ALLOWEDMETHOD_TCP) { + int len; +- fd_set fds; + struct timeval tv; +- ++#ifdef USE_UNLIMITED_SELECT ++ fd_set *pFds = malloc(glbl.GetFdSetSize()); ++#else ++ fd_set fds; ++ fd_set *pFds = &fds; ++#endif ++ + do { +- FD_ZERO(&fds); +- FD_SET(fdSess, &fds); ++ FD_ZERO(pFds); ++ FD_SET(fdSess, pFds); + tv.tv_sec = 1; + tv.tv_usec = 0; +- ret = select(fdSess + 1, &fds, NULL, NULL, &tv); ++ ret = select(fdSess + 1, pFds, NULL, NULL, &tv); + } while (ret < 0 && errno == EINTR); + if (ret < 0) { + errmsg.LogError(0, RS_RET_ERR, "TCP session %p will be closed, error ignored\n", pSess); +@@ -475,6 +481,8 @@ OnSessAcceptGSS(tcpsrv_t *pThis, tcps_se + pGSess->allowedMethods = ALLOWEDMETHOD_TCP; + ABORT_FINALIZE(RS_RET_OK); // TODO: define good error codes + } ++ ++ freeFdSet(pFds); + } + + context = &pGSess->gss_context; +diff -urp rsyslog-4.6.2.orig/plugins/imudp/imudp.c rsyslog-4.6.2/plugins/imudp/imudp.c +--- rsyslog-4.6.2.orig/plugins/imudp/imudp.c 2010-03-23 15:09:59.000000000 +0100 ++++ rsyslog-4.6.2/plugins/imudp/imudp.c 2010-04-07 14:45:13.000000000 +0200 +@@ -45,6 +45,7 @@ + #include "datetime.h" + #include "prop.h" + #include "unicode-helper.h" ++#include "unlimited_select.h" + + MODULE_TYPE_INPUT + +@@ -287,12 +288,18 @@ BEGINrunInput + int maxfds; + int nfds; + int i; +- fd_set readfds; + struct sockaddr_storage frominetPrev; + int bIsPermitted; + uchar fromHost[NI_MAXHOST]; + uchar fromHostIP[NI_MAXHOST]; + uchar fromHostFQDN[NI_MAXHOST]; ++#ifdef USE_UNLIMITED_SELECT ++ fd_set *pReadfds = malloc(glbl.GetFdSetSize()); ++#else ++ fd_set readfds; ++ fd_set *pReadfds = &readfds; ++#endif ++ + CODESTARTrunInput + /* start "name caching" algo by making sure the previous system indicator + * is invalidated. +@@ -311,30 +318,30 @@ CODESTARTrunInput + * is given without -a, we do not need to listen at all.. + */ + maxfds = 0; +- FD_ZERO (&readfds); ++ FD_ZERO (pReadfds); + + /* Add the UDP listen sockets to the list of read descriptors. */ + for (i = 0; i < *udpLstnSocks; i++) { + if (udpLstnSocks[i+1] != -1) { + if(Debug) + net.debugListenInfo(udpLstnSocks[i+1], "UDP"); +- FD_SET(udpLstnSocks[i+1], &readfds); ++ FD_SET(udpLstnSocks[i+1], pReadfds); + if(udpLstnSocks[i+1]>maxfds) maxfds=udpLstnSocks[i+1]; + } + } + if(Debug) { + dbgprintf("--------imUDP calling select, active file descriptors (max %d): ", maxfds); + for (nfds = 0; nfds <= maxfds; ++nfds) +- if ( FD_ISSET(nfds, &readfds) ) ++ if ( FD_ISSET(nfds, pReadfds) ) + dbgprintf("%d ", nfds); + dbgprintf("\n"); + } + + /* wait for io to become ready */ +- nfds = select(maxfds+1, (fd_set *) &readfds, NULL, NULL, NULL); ++ nfds = select(maxfds+1, (fd_set *) pReadfds, NULL, NULL, NULL); + + for(i = 0; nfds && i < *udpLstnSocks; i++) { +- if(FD_ISSET(udpLstnSocks[i+1], &readfds)) { ++ if (FD_ISSET(udpLstnSocks[i+1], pReadfds)) { + processSocket(udpLstnSocks[i+1], &frominetPrev, &bIsPermitted, + fromHost, fromHostFQDN, fromHostIP); + --nfds; /* indicate we have processed one descriptor */ +@@ -343,6 +350,7 @@ CODESTARTrunInput + /* end of a run, back to loop for next recv() */ + } + ++ freeFdSet(pReadfds); + return iRet; + ENDrunInput + +diff -urp rsyslog-4.6.2.orig/plugins/imuxsock/imuxsock.c rsyslog-4.6.2/plugins/imuxsock/imuxsock.c +--- rsyslog-4.6.2.orig/plugins/imuxsock/imuxsock.c 2010-03-23 15:09:59.000000000 +0100 ++++ rsyslog-4.6.2/plugins/imuxsock/imuxsock.c 2010-04-07 14:54:35.000000000 +0200 +@@ -45,6 +45,7 @@ + #include "glbl.h" + #include "msg.h" + #include "prop.h" ++#include "unlimited_select.h" + + MODULE_TYPE_INPUT + +@@ -249,7 +250,13 @@ BEGINrunInput + int nfds; + int i; + int fd; +- fd_set readfds; ++#ifdef USE_UNLIMITED_SELECT ++ fd_set *pReadfds = malloc(glbl.GetFdSetSize()); ++#else ++ fd_set readfds; ++ fd_set *pReadfds = &readfds; ++#endif ++ + CODESTARTrunInput + /* this is an endless loop - it is terminated when the thread is + * signalled to do so. This, however, is handled by the framework, +@@ -263,11 +270,11 @@ CODESTARTrunInput + * is given without -a, we do not need to listen at all.. + */ + maxfds = 0; +- FD_ZERO (&readfds); ++ FD_ZERO (pReadfds); + /* Copy master connections */ + for (i = startIndexUxLocalSockets; i < nfunix; i++) { + if (funix[i] != -1) { +- FD_SET(funix[i], &readfds); ++ FD_SET(funix[i], pReadfds); + if (funix[i]>maxfds) maxfds=funix[i]; + } + } +@@ -275,22 +282,23 @@ CODESTARTrunInput + if(Debug) { + dbgprintf("--------imuxsock calling select, active file descriptors (max %d): ", maxfds); + for (nfds= 0; nfds <= maxfds; ++nfds) +- if ( FD_ISSET(nfds, &readfds) ) ++ if ( FD_ISSET(nfds, pReadfds) ) + dbgprintf("%d ", nfds); + dbgprintf("\n"); + } + + /* wait for io to become ready */ +- nfds = select(maxfds+1, (fd_set *) &readfds, NULL, NULL, NULL); ++ nfds = select(maxfds+1, (fd_set *) pReadfds, NULL, NULL, NULL); + + for (i = 0; i < nfunix && nfds > 0; i++) { +- if ((fd = funix[i]) != -1 && FD_ISSET(fd, &readfds)) { ++ if ((fd = funix[i]) != -1 && FD_ISSET(fd, pReadfds)) { + readSocket(fd, i); + --nfds; /* indicate we have processed one */ + } + } + } + ++ freeFdSet(pReadfds); + RETiRet; + ENDrunInput + +diff -urp rsyslog-4.6.2.orig/runtime/Makefile.am rsyslog-4.6.2/runtime/Makefile.am +--- rsyslog-4.6.2.orig/runtime/Makefile.am 2010-03-26 14:49:33.000000000 +0100 ++++ rsyslog-4.6.2/runtime/Makefile.am 2010-04-07 14:55:15.000000000 +0200 +@@ -15,6 +15,7 @@ librsyslog_la_SOURCES = \ + nsd.h \ + glbl.h \ + glbl.c \ ++ unlimited_select.h \ + conf.c \ + conf.h \ + parser.h \ +diff -urp rsyslog-4.6.2.orig/runtime/Makefile.in rsyslog-4.6.2/runtime/Makefile.in +--- rsyslog-4.6.2.orig/runtime/Makefile.in 2010-03-26 14:52:01.000000000 +0100 ++++ rsyslog-4.6.2/runtime/Makefile.in 2010-04-07 18:00:12.201107936 +0200 +@@ -383,6 +383,7 @@ librsyslog_la_SOURCES = \ + nsd.h \ + glbl.h \ + glbl.c \ ++ unlimited_select.h \ + conf.c \ + conf.h \ + parser.h \ +diff -urp rsyslog-4.6.2.orig/runtime/glbl.c rsyslog-4.6.2/runtime/glbl.c +--- rsyslog-4.6.2.orig/runtime/glbl.c 2010-03-23 15:09:59.000000000 +0100 ++++ rsyslog-4.6.2/runtime/glbl.c 2010-04-07 14:58:18.000000000 +0200 +@@ -72,6 +72,9 @@ static uchar *pszDfltNetstrmDrvr = NULL; + static uchar *pszDfltNetstrmDrvrCAF = NULL; /* default CA file for the netstrm driver */ + static uchar *pszDfltNetstrmDrvrKeyFile = NULL; /* default key file for the netstrm driver (server) */ + static uchar *pszDfltNetstrmDrvrCertFile = NULL; /* default cert file for the netstrm driver (server) */ ++#ifdef USE_UNLIMITED_SELECT ++static int iFdSetSize = howmany(FD_SETSIZE, __NFDBITS) * sizeof (fd_mask); /* size of select() bitmask in bytes */ ++#endif + + + /* define a macro for the simple properties' set and get functions +@@ -104,6 +107,9 @@ SIMP_PROP(DisableDNS, bDisableDNS, int) + SIMP_PROP(LocalDomain, LocalDomain, uchar*) + SIMP_PROP(StripDomains, StripDomains, char**) + SIMP_PROP(LocalHosts, LocalHosts, char**) ++#ifdef USE_UNLIMITED_SELECT ++SIMP_PROP(FdSetSize, iFdSetSize, int) ++#endif + + SIMP_PROP_SET(LocalFQDNName, LocalFQDNName, uchar*) + SIMP_PROP_SET(LocalHostName, LocalHostName, uchar*) +@@ -261,6 +267,9 @@ CODESTARTobjQueryInterface(glbl) + SIMP_PROP(DfltNetstrmDrvrCAF) + SIMP_PROP(DfltNetstrmDrvrKeyFile) + SIMP_PROP(DfltNetstrmDrvrCertFile) ++#ifdef USE_UNLIMITED_SELECT ++ SIMP_PROP(FdSetSize) ++#endif + #undef SIMP_PROP + finalize_it: + ENDobjQueryInterface(glbl) +@@ -295,6 +304,9 @@ static rsRetVal resetConfigVariables(uch + bOptimizeUniProc = 1; + bHUPisRestart = 0; + bPreserveFQDN = 0; ++#ifdef USE_UNLIMITED_SELECT ++ iFdSetSize = howmany(FD_SETSIZE, __NFDBITS) * sizeof (fd_mask); ++#endif + return RS_RET_OK; + } + +diff -urp rsyslog-4.6.2.orig/runtime/glbl.h rsyslog-4.6.2/runtime/glbl.h +--- rsyslog-4.6.2.orig/runtime/glbl.h 2010-03-23 15:09:59.000000000 +0100 ++++ rsyslog-4.6.2/runtime/glbl.h 2010-04-07 16:13:32.000000000 +0200 +@@ -62,9 +62,10 @@ BEGINinterface(glbl) /* name must also b + /* added v3, 2009-06-30 */ + rsRetVal (*GenerateLocalHostNameProperty)(void); + prop_t* (*GetLocalHostNameProp)(void); ++ SIMP_PROP(FdSetSize, int) + #undef SIMP_PROP + ENDinterface(glbl) +-#define glblCURR_IF_VERSION 3 /* increment whenever you change the interface structure! */ ++#define glblCURR_IF_VERSION 103 /* increment whenever you change the interface structure! */ + /* version 2 had PreserveFQDN added - rgerhards, 2008-12-08 */ + + /* the remaining prototypes */ +diff -urp rsyslog-4.6.2.orig/runtime/nsdsel_ptcp.c rsyslog-4.6.2/runtime/nsdsel_ptcp.c +--- rsyslog-4.6.2.orig/runtime/nsdsel_ptcp.c 2010-03-23 15:09:59.000000000 +0100 ++++ rsyslog-4.6.2/runtime/nsdsel_ptcp.c 2010-04-07 16:16:52.000000000 +0200 +@@ -36,6 +36,7 @@ + #include "errmsg.h" + #include "nsd_ptcp.h" + #include "nsdsel_ptcp.h" ++#include "unlimited_select.h" + + /* static data */ + DEFobjStaticHelpers +@@ -47,14 +48,23 @@ DEFobjCurrIf(glbl) + */ + BEGINobjConstruct(nsdsel_ptcp) /* be sure to specify the object type also in END macro! */ + pThis->maxfds = 0; ++#ifdef USE_UNLIMITED_SELECT ++ pThis->pReadfds = calloc(1, glbl.GetFdSetSize()); ++ pThis->pWritefds = calloc(1, glbl.GetFdSetSize()); ++#else + FD_ZERO(&pThis->readfds); + FD_ZERO(&pThis->writefds); ++#endif + ENDobjConstruct(nsdsel_ptcp) + + + /* destructor for the nsdsel_ptcp object */ + BEGINobjDestruct(nsdsel_ptcp) /* be sure to specify the object type also in END and CODESTART macros! */ + CODESTARTobjDestruct(nsdsel_ptcp) ++#ifdef USE_UNLIMITED_SELECT ++ freeFdSet(pThis->pReadfds); ++ freeFdSet(pThis->pWritefds); ++#endif + ENDobjDestruct(nsdsel_ptcp) + + +@@ -65,20 +75,27 @@ Add(nsdsel_t *pNsdsel, nsd_t *pNsd, nsds + DEFiRet; + nsdsel_ptcp_t *pThis = (nsdsel_ptcp_t*) pNsdsel; + nsd_ptcp_t *pSock = (nsd_ptcp_t*) pNsd; ++#ifdef USE_UNLIMITED_SELECT ++ fd_set *pReadfds = pThis->pReadfds; ++ fd_set *pWritefds = pThis->pWritefds; ++#else ++ fd_set *pReadfds = &pThis->readfds; ++ fd_set *pWritefds = &pThis->writefds; ++#endif + + ISOBJ_TYPE_assert(pSock, nsd_ptcp); + ISOBJ_TYPE_assert(pThis, nsdsel_ptcp); + + switch(waitOp) { + case NSDSEL_RD: +- FD_SET(pSock->sock, &pThis->readfds); ++ FD_SET(pSock->sock, pReadfds); + break; + case NSDSEL_WR: +- FD_SET(pSock->sock, &pThis->writefds); ++ FD_SET(pSock->sock, pWritefds); + break; + case NSDSEL_RDWR: +- FD_SET(pSock->sock, &pThis->readfds); +- FD_SET(pSock->sock, &pThis->writefds); ++ FD_SET(pSock->sock, pReadfds); ++ FD_SET(pSock->sock, pWritefds); + break; + } + +@@ -98,6 +115,13 @@ Select(nsdsel_t *pNsdsel, int *piNumRead + DEFiRet; + int i; + nsdsel_ptcp_t *pThis = (nsdsel_ptcp_t*) pNsdsel; ++#ifdef USE_UNLIMITED_SELECT ++ fd_set *pReadfds = pThis->pReadfds; ++ fd_set *pWritefds = pThis->pWritefds; ++#else ++ fd_set *pReadfds = &pThis->readfds; ++ fd_set *pWritefds = &pThis->writefds; ++#endif + + ISOBJ_TYPE_assert(pThis, nsdsel_ptcp); + assert(piNumReady != NULL); +@@ -106,13 +130,13 @@ Select(nsdsel_t *pNsdsel, int *piNumRead + // TODO: name in dbgprintf! + dbgprintf("-------- calling select, active fds (max %d): ", pThis->maxfds); + for(i = 0; i <= pThis->maxfds; ++i) +- if(FD_ISSET(i, &pThis->readfds) || FD_ISSET(i, &pThis->writefds)) ++ if(FD_ISSET(i, pReadfds) || FD_ISSET(i, pWritefds)) + dbgprintf("%d ", i); + dbgprintf("\n"); + } + + /* now do the select */ +- *piNumReady = select(pThis->maxfds+1, &pThis->readfds, &pThis->writefds, NULL, NULL); ++ *piNumReady = select(pThis->maxfds+1, pReadfds, pWritefds, NULL, NULL); + + RETiRet; + } +@@ -125,6 +149,13 @@ IsReady(nsdsel_t *pNsdsel, nsd_t *pNsd, + DEFiRet; + nsdsel_ptcp_t *pThis = (nsdsel_ptcp_t*) pNsdsel; + nsd_ptcp_t *pSock = (nsd_ptcp_t*) pNsd; ++#ifdef USE_UNLIMITED_SELECT ++ fd_set *pReadfds = pThis->pReadfds; ++ fd_set *pWritefds = pThis->pWritefds; ++#else ++ fd_set *pReadfds = &pThis->readfds; ++ fd_set *pWritefds = &pThis->writefds; ++#endif + + ISOBJ_TYPE_assert(pThis, nsdsel_ptcp); + ISOBJ_TYPE_assert(pSock, nsd_ptcp); +@@ -132,14 +163,14 @@ IsReady(nsdsel_t *pNsdsel, nsd_t *pNsd, + + switch(waitOp) { + case NSDSEL_RD: +- *pbIsReady = FD_ISSET(pSock->sock, &pThis->readfds); ++ *pbIsReady = FD_ISSET(pSock->sock, pReadfds); + break; + case NSDSEL_WR: +- *pbIsReady = FD_ISSET(pSock->sock, &pThis->writefds); ++ *pbIsReady = FD_ISSET(pSock->sock, pWritefds); + break; + case NSDSEL_RDWR: +- *pbIsReady = FD_ISSET(pSock->sock, &pThis->readfds) +- | FD_ISSET(pSock->sock, &pThis->writefds); ++ *pbIsReady = FD_ISSET(pSock->sock, pReadfds) ++ | FD_ISSET(pSock->sock, pWritefds); + break; + } + +diff -urp rsyslog-4.6.2.orig/runtime/nsdsel_ptcp.h rsyslog-4.6.2/runtime/nsdsel_ptcp.h +--- rsyslog-4.6.2.orig/runtime/nsdsel_ptcp.h 2010-03-23 15:09:59.000000000 +0100 ++++ rsyslog-4.6.2/runtime/nsdsel_ptcp.h 2010-04-07 16:16:52.000000000 +0200 +@@ -31,8 +31,13 @@ typedef nsdsel_if_t nsdsel_ptcp_if_t; /* + struct nsdsel_ptcp_s { + BEGINobjInstance; /* Data to implement generic object - MUST be the first data element! */ + int maxfds; ++#ifdef USE_UNLIMITED_SELECT ++ fd_set *pReadfds; ++ fd_set *pWritefds; ++#else + fd_set readfds; + fd_set writefds; ++#endif + }; + + /* interface is defined in nsd.h, we just implement it! */ +diff -urp rsyslog-4.6.2.orig/runtime/unlimited_select.h rsyslog-4.6.2/runtime/unlimited_select.h +--- rsyslog-4.6.2.orig/runtime/unlimited_select.h 2010-04-07 18:26:16.317180489 +0200 ++++ rsyslog-4.6.2/runtime/unlimited_select.h 2010-04-07 16:42:56.000000000 +0200 +@@ -0,0 +1,45 @@ ++/* unlimited_select.h ++ * Tweak the macros for accessing fd_set so that the select() syscall ++ * won't be limited to a particular number of file descriptors. ++ * ++ * Copyright 2009 Rainer Gerhards and Adiscon GmbH. ++ * ++ * This file is part of rsyslog. ++ * ++ * Rsyslog is free software: you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation, either version 3 of the License, or ++ * (at your option) any later version. ++ * ++ * Rsyslog is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with Rsyslog. If not, see . ++ * ++ * A copy of the GPL can be found in the file "COPYING" in this distribution. ++ */ ++ ++#ifndef UNLIMITED_SELECT_H_INCLUDED ++ ++#include ++#include ++#include ++#include "glbl.h" ++ ++#ifdef USE_UNLIMITED_SELECT ++# undef FD_ZERO ++# define FD_ZERO(set) memset((set), 0, glbl.GetFdSetSize()); ++#endif ++ ++#ifdef USE_UNLIMITED_SELECT ++void freeFdSet(fd_set *p) { ++ free(p); ++} ++#else ++# define freeFdSet(x) ++#endif ++ ++#endif /* #ifndef UNLIMITED_SELECT_H_INCLUDED */ +diff -urp rsyslog-4.6.2.orig/tools/syslogd.c rsyslog-4.6.2/tools/syslogd.c +--- rsyslog-4.6.2.orig/tools/syslogd.c 2010-03-26 14:49:33.000000000 +0100 ++++ rsyslog-4.6.2/tools/syslogd.c 2010-04-07 16:40:33.000000000 +0200 +@@ -1842,6 +1842,9 @@ static rsRetVal setMaxFiles(void __attri + iFiles, errStr, (long) maxFiles.rlim_max); + ABORT_FINALIZE(RS_RET_ERR_RLIM_NOFILE); + } ++#ifdef USE_UNLIMITED_SELECT ++ glbl.SetFdSetSize(howmany(iFiles, __NFDBITS) * sizeof (fd_mask)); ++#endif + DBGPRINTF("Max number of files set to %d [kernel max %ld].\n", iFiles, (long) maxFiles.rlim_max); + + finalize_it: diff --git a/rsyslog.spec b/rsyslog.spec index bf97b06..35080de 100644 --- a/rsyslog.spec +++ b/rsyslog.spec @@ -3,8 +3,8 @@ Summary: Enhanced system logging and kernel message trapping daemons Name: rsyslog -Version: 4.4.2 -Release: 6%{?dist} +Version: 4.6.2 +Release: 1%{?dist} License: GPLv3+ Group: System Environment/Daemons URL: http://www.rsyslog.com/ @@ -13,7 +13,8 @@ Source1: rsyslog.init Source2: rsyslog.conf Source3: rsyslog.sysconfig Source4: rsyslog.log -Patch0: rsyslog-4.4.2-unlimited-select.patch +Patch0: rsyslog-4.6.2-unlimited-select.patch +Patch1: rsyslog-4.6.2-omfileflush.patch BuildRequires: zlib-devel Requires: logrotate >= 3.5.2 Requires: bash >= 2.0 @@ -89,6 +90,7 @@ IETF standard protocol. %prep %setup -q %patch0 -p1 -b .unlimited-select +%patch1 -p1 -b .omfileflush %build export CFLAGS="$RPM_OPT_FLAGS -DSYSLOGD_PIDNAME=\\\"syslogd.pid\\\"" @@ -163,6 +165,7 @@ fi %{_libdir}/rsyslog/lmnetstrms.so %{_libdir}/rsyslog/lmnsd_ptcp.so %{_libdir}/rsyslog/lmstrmsrv.so +%{_libdir}/rsyslog/lmzlibw.so %config(noreplace) %{_sysconfdir}/rsyslog.conf %config(noreplace) %{_sysconfdir}/sysconfig/rsyslog %config(noreplace) %{_sysconfdir}/logrotate.d/syslog @@ -196,6 +199,10 @@ fi %{_libdir}/rsyslog/lmnsd_gtls.so %changelog +* Wed Apr 07 2010 Tomas Heinrich 4.6.2-1 +- upgrade to new upstream stable version 4.6.2 +- correct the default value of the OMFileFlushOnTXEnd directive + * Thu Feb 11 2010 Tomas Heinrich 4.4.2-6 - modify rsyslog-4.4.2-unlimited-select.patch so that running autoreconf is not needed diff --git a/sources b/sources index 6629614..179a635 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -a8ada67b6cd5c00fbeb3a4b687b17359 rsyslog-4.4.2.tar.gz +eca0d335736fb1554df70615d9e6f482 rsyslog-4.6.2.tar.gz