| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
This, in default mode, caused buffered writing to be used, what
means that it looked like no output were written or partial
lines. Thanks to Michael Biebl for pointing out this bug.
|
|
|
|
|
|
| |
...message-induced off-by-one error (potential segfault) (see 4.6.2)
The analysis has been completed and a better fix been crafted and
integrated.
|
| |
|
|
|
|
| |
it permits to specifiy if asynchronous writing should be done or not
|
|
|
|
|
|
|
| |
Further testing turned out that the rsyslog core works correctly and
this fix is not needed. The concurrency we saw was actually caused by
other actions (even processes) during directory creation. See commit
9e5b31fc44136dbcc1e443cfe7714e9daf97d844 for further details.
|
|
|
|
|
|
|
|
|
| |
This bug was triggered by an open failure. The the cache was full and
a new entry needed to be placed inside it, a victim for eviction was
selected. That victim was freed, then the open of the new file tried. If
the open failed, the victim entry was still freed, and the function
exited. However, on next invocation and cache search, the victim entry
was used as if it were populated, most probably resulting in a segfault.
|
|
|
|
|
|
| |
The old code looks a bit "strange", though not necessarily incorrect.
The new code looks correct and is probably less irritating during bug
hunting.
|
|
|
|
|
|
|
| |
when dynaCache is enabled, the cache is full, a new entry needs to
be allocated, thus the LRU discarded, then a new entry is opend and that
fails. In that case, it looks like the discarded stream may be reused
improperly (based on code analysis, test case and confirmation pending)
|
|
|
|
| |
This is what caused the new test to fail...
|
|
|
|
|
|
|
|
|
|
|
|
| |
file instance
In theory, the rsyslog core should never call in parallel into an output
module for the same instance. However, it looks like this seems to happen
under (strange?) circumstances. I have now enhanced omfile so that it guards
itself against being called in parallel on the same instance data. This is
done to help troubleshooting and may stay as an interim solution if it
proves to solve an anomaly we see in at least one installation (to trigger
this problem, an extremely large traffic volume is needed).
|
|
|
|
|
|
|
|
| |
The previous fix fixed an issue with on/off bying used in the exact wrong
semantic. It corrected the situation, but failed to fix one spot where the
wrong semantics were used. This is done with this commit.
Note that this is NOT a bug seen in any released version.
|
|
|
|
| |
(this is primarily meant as a debug aid)
|
|
|
|
| |
This could only happen during config file parsing.
|
|
|
|
|
| |
this is a perquisite to support more flexible testing modes, which
could not intelligently be implemented with the old interface
|
|
|
|
|
|
|
|
|
|
| |
When a write error occured in stream.c, variable iWritten had the error
code but this was handled as if it were the actual number of bytes
written. That was used in pointer arithmetic later on, and thus could
lead to all sorts of problems. However, this could only happen if the
error was EINTR or the file in question was a tty. All other cases were
handled properly. Now, iWritten is reset to zero in such cases, resulting
in proper retries.
|
|
|
|
|
| |
required because due to bug the default was actually different than
specified (or better said: spec was inconsistent in doc as well).
|
| |
|
|
|
|
| |
Signed-off-by: Rainer Gerhards <rgerhards@adiscon.com>
|
|
|
|
|
|
|
|
|
| |
- _FILE_OFFSET_BITS must be defined before including any other system
headers otherwise it does nothing.
- Don't define it in rsyslog.h, let it be defined in config.h,
and let ./configure script enable LFS since Autoconf provides
a portable macro to enable LFS support : AC_SYS_LARGEFILE
|
|
|
|
|
|
|
| |
For consistency, ./configure generated "config.h" must be the first
header include through out the project.
Signed-off-by: Rainer Gerhards <rgerhards@adiscon.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
- bugfix: potential segfault in omfile when a dynafile open failed
In that case, a partial cache entry was written, and some internal
pointers (iCurrElt) not correctly updated. In the next iteration, that
could lead to a segfault, especially if iCurrElt then points to the
then-partial record. Not very likely, but could happen in practice.
- bugfix (theoretical): potential segfault in omfile under low memory
condition. This is only a theoretical bug, because it would only
happen when strdup() fails to allocate memory - which is highly
unlikely and will probably lead to all other sorts of errors.
|
|
|
|
| |
Signed-off-by: Rainer Gerhards <rgerhards@adiscon.com>
|
|
|
|
|
| |
Note that I now also prefer to use utmp.h if it is present - this seems
to be much better under Linux.
|
|
|
|
|
|
|
|
|
| |
This was not honored by the new ompipe module, because it is a local
file directive (it was applied to pipes as a side-effect of using the
same module for pipes and files...). I now made this a global, so that
semantics are the same as previously. Not really nice, but probably
the best thing to do in the current situation (everything else would
involve much more overhead --- leave that for the new config system).
|
|
|
|
|
| |
bugtracker: http://bugzilla.adiscon.com/show_bug.cgi?id=181
Thanks to Christiano for reporting.
|
|
|
|
|
|
|
| |
$InputUDPServerRun config variable does not exist, should be $UDPServerRun
instead http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=571202
Signed-off-by: Rainer Gerhards <rgerhards@adiscon.com>
|
| |
|
|
|
|
|
|
|
| |
... based on old omfile. Michael Biebl reported that xconsole seems
to have some issues with the new pipe code, so it was best to use
the old code for pipes. The optimizations were done to speed up file
access, so it doesn't really matter pipes do not receive them.
|
|
|
|
|
|
|
|
|
| |
- improved testbench to contain samples for totally malformed messages
which miss parts of the message content
- bugfix: some malformed messages could lead to a missing LF inside files
or some other missing parts of the template content.
- bugfix: if a message ended immediately with a hostname, the hostname
was mistakenly interpreted as TAG, and localhost be used as hostname
|
|
|
|
|
|
|
| |
[backported from v5 commit 98d1ed504ec001728955a5bcd7916f64cd85f39f]
This actually was a "recent" regression, but I did not realize that it
was introduced by the performance optimization in v4-devel. Shame on
me for having two devel versions at the same time...
|
|\ |
|
| |
| |
| |
| | |
Signed-off-by: Rainer Gerhards <rgerhards@adiscon.com>
|
| |
| |
| |
| |
| |
| | |
correct value on FreeBSD.
Signed-off-by: Rainer Gerhards <rgerhards@adiscon.com>
|
| |
| |
| |
| |
| | |
regression from introduction of "debug on demand" mode
Thanks to Michael Biebl for reporting this bug
|
|\| |
|
| |
| |
| |
| | |
Signed-off-by: Rainer Gerhards <rgerhards@adiscon.com>
|
| |
| |
| |
| | |
Thanks to Michael Biebl for reporting this bug.
|
| |
| |
| |
| | |
Signed-off-by: Rainer Gerhards <rgerhards@adiscon.com>
|
|\| |
|
| |\ |
|
| | |
| | |
| | |
| | | |
thanks to varmojfekoj for pointing me at this bug
|
|\| | |
|
| |\| |
|
| | |
| | |
| | |
| | | |
default thus was random (but most often "on")
|
|\| | |
|
| |\|
| | |
| | |
| | |
| | |
| | | |
Conflicts:
doc/rsyslog_conf.html
runtime/net.c
|
| | |
| | |
| | |
| | |
| | | |
This is the correct patch. The previous one solved the segfault, but
disabled the -q/Q options.
|
|\| | |
|
| |\| |
|
| | |
| | |
| | |
| | |
| | | |
bug tracker: http://bugzilla.adiscon.com/show_bug.cgi?id=157
Thanks to Jonas Nogueira for reporting this bug.
|