Commit Graph

48 Commits

Author SHA1 Message Date
Joey Schulze
ed788aeeff Reset the 'restart' flag immediately after entering the restart code,
so that subsequent SIGHUPs are able to set it again and cause a new
restart.  This fixes a race condition when somebody sends tons of HUP
signals.
2006-05-25 07:49:54 +00:00
Joey Schulze
facf7ff5bb Applied adjusted patch by Miquel van Smoorenburg to fix spurious
hanging syslogd in connection with futex and NPTL introduced in recent
glibc versions and Linux 2.6 (details: http://bugs.debian.org/301511)
2005-05-25 18:08:30 +00:00
Joey Schulze
affedf39aa Applied patch by Dirk Mueller <mueller@kde.org> to prevent syslogd
from crashing when the log file can't grow anymore (e.g. with 2GB
without LargeFileSupport)
2005-01-15 19:13:08 +00:00
Joey Schulze
4d8248ba3e Remove trailing newline from forwarded messages. This would be turned
into a whitespace by the receiving syslogd and doesn't seem to be
required anyway.
2004-11-07 12:52:30 +00:00
Joey Schulze
4c09ec0516 Discard any timestamp information found in received syslog messages.
This will affect local messages sent from a different timezone.  Also
removed code due to the changed semantics.  This was inspired by
Anders Henke from Schlund + Partner AG.
2004-11-07 11:38:44 +00:00
Joey Schulze
b2e84809dc Colin Phipps <cph@cph.demon.co.uk>: Don't block on the network socket,
in case a packet gets lost between select and recv. (Debian Bug#275578)
2004-11-02 19:30:30 +00:00
Joey Schulze
a09b9865cc Adjust the size of a variable to prevent a buffer overflow
should _PATH_DEV ever contain something different than "/dev/".
2004-05-04 14:52:56 +00:00
Joey Schulze
4205dbebda Minor corrections 2004-05-04 14:50:18 +00:00
Joey Schulze
3ee89e2c0b Patch: sysklogd-1.4.1-owl-longjmp.diff from Openwall
From: Solar Designer <solar@openwall.com>

1. Ensures that "len" is not placed in a register and as such can't be
clobbered by longjmp().  With the particular code, it does not really
matter whether it is clobbered or not, but this avoids the gcc warning.

2. Makes endtty() the signal handler only after the variable that
function uses is initialized.  In the original code, the signal
handler was setup too early and if there would be SIGALRM before
control reaches setjmp(), syslogd would segfault (if not worse).

Basically, this is a minor correctness patch.
2004-05-04 14:49:23 +00:00
Joey Schulze
e9c3de7bfd From Openwalls: needs to be a USER_PROCESS 2004-04-29 10:58:40 +00:00
Joey Schulze
669d9991b7 Applied Openwall paranoia patches to improve crunch_list(). 2004-04-29 10:39:55 +00:00
Joey Schulze
2961c7b794 Patch by Steve Grubb <linux_4ever@yahoo.com> to correct memory calculation 2004-04-17 16:06:16 +00:00
Joey Schulze
ae499acae2 Moved the installation of the signal handler up a little bit so it
guaranteed to be available when the child is forked, hence, fixing a
race condition.  This used to create problems with UML and fast
machines.  Thanks to Jon Burgess <Jon_Burgess@eur.3com.com>
2003-09-28 10:26:22 +00:00
Joey Schulze
0f9873bed4 On heavily loaded systems, some which are probably receiving a lot of
syslog traffic through the network, there's a (not well researched)
problem with receiving messages on the syslog UDP port.  For some
reason recvfrom() results in EAGAIN.  See
http://bugs.debian.org/188194 and
http://www.ussg.iu.edu/hypermail/linux/kernel/0209.1/0218.html
2003-09-27 23:29:02 +00:00
Joey Schulze
8b02038df4 . Bumped patchlevel
. Changed versioning scheme to version.patchlevel (like 1.4.1)
2001-03-11 19:40:10 +00:00
Joey Schulze
c6edf85cd6 . Removed kernel.patch since it is no longer required
. Changed SOCK_STREAM to SOCK_DGRAM in syslog.c

 . klogd will only change the console log level if `-c' is supplied

 . syslogd.c by Bill Nottingham <notting@redhat.com>

   Um, if the directory is invalid, the bind() call in
   create_unix_socket fails. Without the return -1, we return the
   invalid fd that we just closed.  When syslogd then starts
   listening, select goes into a hard loop getting EBADF, IIRC.

 . klogd.c by Troels Walsted Hansen <troels@thule.no>

   I found a bug in the sysklogd package version 1.4. When it
   encounters a zero byte in the kernel logging output, the text
   parser enters a busy loop. I came upon it when the 3c59x driver
   from kernel 2.4.0 started outputting two zero bytes for the product
   code of my laptop's 3Com card. It could be argued that the kernel
   should never output zero bytes in the logging info, but obviously
   that will happen from time to time.

   I fear this bug might be considered a security issue as well, if
   the kernel can be coerced to output a zero byte somehow, all kernel
   logging will stop.

   Wolfgang Oertl <Wolfgang.Oertl@uibk.ac.at> had a similar bugfix
   idea

 . klogd.c by Thomas Roessler <roessler@does-not-exist.org>

   Additionally, the patch prevents LogLine from being invoked with a
   negative counter as an argument.
2001-03-11 19:35:52 +00:00
Joey Schulze
728d79d925 Mon Sep 18 15:33:26 CEST 2000: Martin Schulze <joey@infodrom.ffis.de>
Removed unixm/unix domain sockets and switch to Datagram Unix
    Sockets.  This should remove one possibility to play DoS with
    syslogd.  Thanks to Olaf Kirch <okir@caldera.de> for the patch.
2000-09-18 13:41:33 +00:00
Joey Schulze
5433c6018b Mon Sep 18 09:10:47 CEST 2000: Martin Schulze <joey@infodrom.ffis.de>
Fixed bug in printchopped() that caused syslogd to emit
      kern.emerg messages when splitting long lines.  Thanks to
      Daniel Jacobowitz <dan@debian.org> for the fix.
2000-09-18 07:13:08 +00:00
Joey Schulze
a1775f1d8c Sun Sep 17 21:26:16 CEST 2000: Martin Schulze <joey@infodrom.ffis.de>
Don't close open sockets upon reload.  Thanks to Bill Nottingham.
2000-09-17 19:30:50 +00:00
Joey Schulze
afcd97602f Sun Sep 17 20:45:33 CEST 2000: Martin Schulze <joey@infodrom.ffis.de>
Fixed some bugs in printline() code that did not escape
      control characters '\177' through '\237' and contained a
      single-byte buffer overflow.  Thanks to Solar Designer
      <solar@false.com>.
2000-09-17 18:49:39 +00:00
Joey Schulze
c762d84561 * Fixed typo in syslogd-listfiles (closes: Bug#35408)
* Removed superflous call to utmpname() (closes: Bug#34733)
  * Added --ignore-size and limit for rotating log files at 2MB to
    syslogd-listfiles (closes: Bug#36198)
1999-05-23 08:41:06 +00:00
Joey Schulze
64ce6b452e Args, the last commit contained some mistakes. 1999-01-19 11:31:58 +00:00
Joey Schulze
68b50092c7 * ``-m 0'' turns off -- MARK -- now. (closes: Bug#28629, Bug#31494)
* Changed Greg's e-mail address to represent his current one.
  * Shortened line length for kernel logging slightly.
  * Corrected return value of AddModule (closes: Bug#30093)
  * Finally fixed an error with `-a' processing, thanks to Topi Miettinen
    <tom@medialab.sonera.net> (closes: Bug#30462)
1999-01-19 00:09:12 +00:00
Joey Schulze
7d36dc9402 * Contains more patches from Topi Miettinen.
* Fixed two mistakes from the most recent version
  * Fixed fd leak problem.  Thanks to Topi for detecting it
  * Ouch!  Looks like the released package again is broken.  It worked
    locally.
1998-10-18 18:43:18 +00:00
Joey Schulze
2b70a699f1 * Re-Applied patch provided vom Topi Miettinen with regard to the people
from OpenBSD.  This provides the additional '-a' argument used for
    specifying additional UNIX domain sockets to listen to.  This is been
    used with chroot()'ed named's for example.  An example is described at
    http://www.psionic.com/papers/dns.html.  This time the patch doesn't
    stall syslogd.  Thanks to Topi Miettinen <tom@medialab.sonera.net>
    (closes: Bug#24893)
1998-10-17 18:23:19 +00:00
Joey Schulze
3acc6c3a40 * Reverted support for multiple Unix domain sockets since it caused
syslogd to not accept more sockets after a certain (undefinitve)
    time.  (opens: Bug#24893)
  * The complete code is still present, search for `Bug#24893'
  * Commented out `-a' in the syslogd.8 manpage
1998-10-15 17:35:38 +00:00
Joey Schulze
4f30ea0acd Mon Oct 12 20:49:18 MET DST 1998: Martin Schulze <joey@infodrom.north.de>
Avoid logging of SIGCHLD when syslogd is in the process of
      exiting and closing its files.  Again thanks to Topi.

  Mon Oct 12 22:18:34 CEST 1998: Martin Schulze <joey@infodrom.north.de>
      Modified printline() to support 8bit characters - such as
      russion letters.  Thanks to Vladas Lapinskas <lapinskas@mail.iae.lt>.
1998-10-12 20:20:25 +00:00
Joey Schulze
8e054c5f41 * Code cleanups with regard to bsd -> posix transition and stronger
security (buffer length checking).  Thanks to Topi Miettinen
    <tom@medialab.sonera.net> (closes: Bug#24894)
    . index() --> strchr()
    . sprintf() --> snprintf()
    . bcopy() --> memcpy()
    . bzero() --> memset()
    . UNAMESZ --> UT_NAMESIZE
    . sys_errlist --> strerror()
  * Added support for setutent()/getutent()/endutend() instead of binary
    reading the UTMP file.  This is the the most portable way.  Thanks to
    Topi Miettinen <tom@medialab.sonera.net>.
1998-10-12 18:24:48 +00:00
Joey Schulze
b1b46e241f Changed the define. 1998-10-12 16:47:05 +00:00
Joey Schulze
f03fe8ea2c Added URL. 1998-10-12 16:43:28 +00:00
Joey Schulze
0e4915d405 Mon Oct 12 13:30:35 CEST 1998: Martin Schulze <joey@infodrom.north.de>
Redirected some error output with regard to argument parsing to
      stderr.

  Mon Oct 12 14:02:51 CEST 1998: Martin Schulze <joey@infodrom.north.de>
      Applied patch provided vom Topi Miettinen with regard to the
      people from OpenBSD.  This provides the additional '-a'
      argument used for specifying additional UNIX domain sockets to
      listen to.  This is been used with chroot()'ed named's for
      example.

  Mon Oct 12 18:29:44 CEST 1998: Martin Schulze <joey@infodrom.north.de>
      Added `ftp' facility which was introduced in glibc version 2.
      It's #ifdef'ed so won't harm with older libraries.
1998-10-12 16:36:18 +00:00
Joey Schulze
cf7e986344 . Added support for TESTING define which will turn syslogd into
stdio-mode used for debugging.

 . Reworked the initialization/fork code.  Now the parent process
   activates a signal handler which the daughter process will raise if
   it is initialized.  Only after that one the parent process may
   exit.  Otherwise klogd might try to flush its log cache while
   syslogd can't receive the messages yet.
1998-10-12 11:35:02 +00:00
Joey Schulze
c924428cb7 * The code now is compilable without SYSLOG_INET again. Thanks to
Enrik Berkhan <enrik@rzstud1.akk.org>.
1998-07-10 23:56:53 +00:00
Joey Schulze
7326d197dd * Postinst will create files with correct file modes (closes: Bug#21212)
* Made /dev/xconsole mode 0640 and root.adm (closes: Bug#11917)
  * Changed priority of exit message from LOG_ERR to LOG_INFO (closes
    Bug#21606)
1998-06-12 23:43:39 +00:00
Joey Schulze
1f3d627188 * Fixed typos in syslogd-listfiles(1), thanks to Francesco Potorti`
<F.Potorti@cnuce.cnr.it> (closes: Bug#20903)
  * Corrected email address for Shane Alderton (closes: Bug#20765)
  * Fixed manpage to not reflect reverse implementated SIGALRM signal
    handler (closes: Bug#20647)
  * Modified behaviour with including <sys/module.h> (closes: Bug#20556)
  * Added correct prototype for llseek() (closes: Bug#20507, Bug#20220)
  * Added more log information if problems occurr while reading a system
    map file.
  * Modified System.map read function to try all possible map files until
    a file with matching version is found.
  * Added Debian release to klogd
  * Switched to fgets() as gets() is not buffer overrun secure.
  * Modified loop for detecting the correct system map.
1998-04-13 23:27:37 +00:00
Joey Schulze
69331684e1 * Corrected Topi's patch as it prevented forwarding during startup due
to an unknown LogPort.
  * Finalized it
1998-02-25 12:20:58 +00:00
Joey Schulze
de54a7e0c7 Fixed little comparison mistake that prevented the MARK
feature to work properly.
1998-02-25 09:53:47 +00:00
Joey Schulze
d9d28b60d0 * Applied patch from Topi Miettinen <Topi.Miettinen@ml.tele.fi> to open
the UDP socket only if it is really needed.
  * Updated sysklogd(8) manpage
  * Added note to mailing list
1998-02-23 23:41:00 +00:00
Joey Schulze
e7509db5e3 * Removed killall-statement from postinst. Thanks to James Troup for
reporting it.
  * Added chdir("/") to both daemons (fixes: Bug#17601)
1998-01-29 20:40:48 +00:00
Joey Schulze
5a279c7af7 * Fixed small typo in syslogd-listfiles
* Corrected debug output concerning remote receiption
  * Removed race condition in syslogd-listfiles
  * Modified logfile detection routine to take care of double listed
    logfiles.  Thanks to Roman Hodek <roman@debian.org> for providing an
    appropriate patch.  (Bug#17000)
1998-01-13 01:30:28 +00:00
Joey Schulze
e9b180bb9b * Corrected some code that caused klogd to dump core when receiving some
special messages from 2.1.78.  Thanks to Chu-yeon Park
    <kokids@doit.ajou.ac.kr> for informing me.
  * Fixed bug that caused klogd to die if there is no System.map
    available.
  * Added -x switch to omit EIP translation and System.map evaluation.
    Thanks to Florian La Roche <florian@knorke.saar.de>.
  * Fixed small bugs in F_FORW_UNKN meachanism.  Thanks to Torsten Neumann
    <torsten@londo.rhein-main.de> for pointing me to it.
  * Fixed problem with klogd not being able to be built on a kernel newer
    than 2.1.18.  Worked in a patch from Alessandro Suardi <asuardi@uninetcom.it>
1998-01-10 18:02:57 +00:00
Joey Schulze
f1bddb54ec * Corrected Standards-Version to 2.3.0.1 (Bug#16769)
* Reworked one line of an older patch because it prevented syslogd from
    binding the socket with the result that no messages were forwarded to
    other hosts.
  * Changed the behaviour of klogd when receiving a terminate signal. Now
    the program terminates immediately instead of completing the receipt of
    a kernel message.  (Bug#16796, Bug#16828, Bug#16148)
  * Noticed a bug which was closed by 1.3-18 (Bug#14776)
  * Changed Maintainer address to joey@debian.org
1998-01-09 00:03:55 +00:00
Joey Schulze
05c061eaa5 * Added test in postinst if user and group exist. Christoph Lameter run
into trouble upgrading a RedHat system.
  * Fixed little mistake which prevented klogd from accepting a console
    log level of 8 to get <7> alias KERN_DEBUG displayed.
  * Linked against libc6 (Bug#11731)
  * Added SHELL=/bin/bash to rules as Herbert Xu suggested
  * Corrected syslog.conf(5) manpage
  * syslogd resets the ignore priority flag now.  Thanks to Herbert
    Thielen. (Bug#12009)
  * Fixed bug that caused syslogd to write into wrong files under some
    race conditions.  Thanks to Herbet Xu. (Bug#13506)
  * /var/log/auth.log will only be touch if needed (Bug#14329)
  * debian/conffiles is treated like a document (Bug#14521)
  * Added script for generic logfile detection and rotation and included
    that in cron scripts, included also its manpage (Bug#14610)
  * Modified restart messages in /etc/init.d/sysklogd (Bug#15840)
  * klogd will first try to load /boot/System.map-$ver, then
    /boot/System.map, then /System.map-$ver and after that /System.map
  * Modified ExpandKadds() because there were some problems accessing
    memory r/w.  (Bug#15336)
1998-01-02 03:07:16 +00:00
Joey Schulze
af05ec876f Some more glibc patches made by Michael Alan Dorman <mdorman@debian.org>. 1997-06-15 17:14:04 +00:00
Joey Schulze
c05f39c39c Included upstream patches for 1.3.1 to 1.3.3 and modified debian/rules
to support better debugging by including a patch to the modules package.
1997-06-13 07:42:20 +00:00
Joey Schulze
8947ba8d2f Included improvements and bugfixes 1997-06-10 21:06:52 +00:00
Joey Schulze
251da95efb Upgrading to version 1.3-15 from the archive 1997-06-02 17:42:34 +00:00
Joey Schulze
7834544c60 Import of bare source for 1.3 1997-06-02 17:21:41 +00:00