made startup and shutdown message more consistent and included the pid, so that they can be easier correlated. Used syslog-protocol structured data format for this purpose.
improved config info in startup message, now tells not only if it is listening remote on udp, but also for tcp. Also includes the port numbers. The previous startup message was misleading, because it did not say "remote reception" if rsyslogd was only listening via tcp (but not via udp).
added a "how can you help" document to the doc set
Posted by
rgerhards
on
Monday, September 05, 2005
751
some of the previous doc files (like INSTALL) did not properly
reflect the changes to the build process and the new doc. Fixed
that.
changed syslogd.c so that when compiled without database support,
an error message is displayed when a database action is detected
in the config file (previously this was used as an user rule ;))
fixed a bug in the os-specific Makefiles which caused MySQL
support to not be compiled, even if selected
IMPORTANT: The 0.9.6 release has a build procedure different from previous versions of rsyslog. It has been reported that this causes confusion and is not very obvious in the supporting doc. Please be sure to have a look the rsyslog install man page before you build it.
greatly enhanced documentation. Now available in html format in the "doc" folder and FreeBSD. Finally includes an install howto.
improved MySQL error messages a little - they now show up as log messages, too (formerly only in debug mode
added the ability to specify the listen port for udp syslog. WARNING: This introduces an incompatibility. Formerly, udp syslog was enabled by the -r command line option. Now, it is "-r [port]", which is consistent with the tcp listener. However, just -r will now return an error message.
added sample startup scripts for Debian and FreeBSD
added support for easy feature selection in the makefile. Unfortunately, this also means I needed to spilt the make file for different OS and distros. There are some really bad syntax differences between FreeBSD and Linux make.
Posted by
rgerhards
on
Tuesday, August 09, 2005
1293
the "semicolon bug" was actually not (fully) solved in 0.9.4. One part of the bug was solved, but another still existed. This one is fixed now, too.
the "semicolon bug" actually turned out to be a more generic bug. It appeared whenever an invalid template name was given. With some selector actions, rsyslogd dumped core, with other it "just" had a small ressource leak with others all worked well. These anomalies are now fixed. Note that they only appeared during system initaliziation once the system was running, nothing bad happened.
improved error reporting for template errors on startup. They are now shown on the console and the start-up tty. Formerly, they were only visible in debug mode.
support for multiple instances of rsyslogd on a single machine added
added new option "-o" --> omit local unix domain socket. This option enables rsyslogd NOT to listen to the local socket. This is most helpful when multiple instances of rsyslogd (or rsyslogd and another syslogd) shall run on a single system.
added new option "-i <pidfile>" which allows to specify the pidfile. This is needed when multiple instances of rsyslogd are to be run.
Posted by
rgerhards
on
Monday, August 01, 2005
1032
finally added the TCP sender. It now supports non-blocking mode, no longer disabling message reception during connect. As it is now, it is usable in production. The code could be more sophisticated, but I've kept it short in anticipation of the move to liblogging, which will lead to the removal of the code just written ;)
the "exiting on signal..." message still had the "syslogd" name in it. Changed this to "rsyslogd", as we do not have a large user base yet, this should pose no problem.
changed a default for traditional output format. During testing, it was seen that the timestamp written to file in default format was the time of message reception, not the time specified in the TIMESTAMP field of the message itself. Traditionally, the message TIMESTAMP is used and this has been changed now.
fixed a bug in the message parser. In June, the RFC 3164 timestamp
was not correctly parsed (yes, only in June and some other months,
see the code comment to learn why...)
added the ability to specify the destination port when forwarding
syslog messages (both for TCP and UDP)
added an very experimental TCP sender (activated by
@@machine:port in config). This is not yet for production use. If
the receiver is not alive, rsyslogd will wait quite some time until
the connection request times out, which most probably leads to
loss of incoming messages.
I intended to change the maxsupported message size to 32k to
support IHE - but given the memory inefficiency in the usual use
cases, I have not done this. I have, however, included very
specific instructions on how to do this in the source code. I have
also done some testing with 32k messages, so you can change the
max size without taking too much risk.
added a syslog/tcp receiver; we now can receive messages via
plain tcp, but we can still send only via UDP. The syslog/tcp
receiver is the primary enhancement of this release.
slightly changed some error messages that contained a spurios \n at
the end of the line (which gives empty lines in your log...)
fixed code so that it compiles without errors under FreeBSD
removed now unused function "allocate_log()" from syslogd.c
changed the make file so that it contains more defines for
different environments (in the long term, we need a better
system for disabling/enabling features...)
changed some printf's printing off_t types to %lld and
explicit (long long) casts. I tried to figure out the exact type,
but did not succeed in this. In the worst case, ultra-large peta-
byte files will now display funny informational messages on rollover,
something I think we can live with for the next 10 years or so...
changed the filed structure to be a linked list. Previously, it
was a table - well, for non-SYSV it was defined as linked list,
but from what I see that code did no longer work after my
modifications. I am now using a linked list in general because
that is needed for other upcoming modifications.
fixed a bug that caused rsyslogd not to listen to anything if
the configuration file could not be read
previous versions disabled network logging (send/receive) if
syslog/udp port was not in /etc/services. Now defaulting to
port 514 in this case.
internal error messages are now supported up to 256 bytes
error message seen during config file read are now also displayed
to the attached tty and not only the console
changed some error messages during init to be sent to the console
and/or emergency log. Previously, they were only seen if the
-d (debug) option was present on the command line.
fixed the "2gb file issue on 32bit systems". If a file grew to
more than 2gb, the syslogd was aborted with "file size exceeded".
Now, defines have been added according to http://www.daimi.au.dk/~kasperd/comp.os.linux.development.faq.html#LARGEFILE Testing revealed that they work ;)
HOWEVER, if your file system, glibc, kernel, whatever does not
support files larger 2gb, you need to set a file size limit with
the new output channel mechanism.