summaryrefslogtreecommitdiffstats
path: root/tools/omfile.c
Commit message (Collapse)AuthorAgeFilesLines
* added work-around for bug in gtls, which causes fd leak when using TLSBojan Smojver2011-02-231-0/+1
| | | | | | | | The capability has been added for module to specify that they do not like being unloaded. related bug tracker: http://bugzilla.adiscon.com/show_bug.cgi?id=222 Signed-off-by: Rainer Gerhards <rgerhards@adiscon.com>
* Merge branch 'v4-stable' into v5-stableRainer Gerhards2010-12-161-1/+0
|\ | | | | | | | | | | | | | | | | | | | | Conflicts: ChangeLog runtime/parser.c runtime/queue.c runtime/wtp.c template.c threads.c tools/syslogd.c
| * some cleanup based on clang static analyzer resultsRainer Gerhards2010-12-161-1/+0
| |
* | bugfix: replacements for atomic operations for non-int sized types had problems.Rainer Gerhards2010-11-251-1/+5
| | | | | | | | | | At least one instance of that problem could potentially lead to abort (inside omfile).
* | some cleanupRainer Gerhards2010-06-101-1/+0
| | | | | | | | | | as well as some work in preparation of storing doAction params inside the batch
* | fixing msg duplication & loss regression, causes slowdownRainer Gerhards2010-06-101-1/+1
| | | | | | | | | | | | | | | | messages could get lost or be duplicated due to non-proper sync of transactions. This is a notable slowdown again, but we know how to get back concurrency, it just takes "some" more programming. It is important now to come back to correct code, so that we can base further improvements on that.
* | bugfix: regression caused more locking action in msg.c than necessaryRainer Gerhards2010-06-081-29/+7
| | | | | | | | also: bugfix: mutexes used to similate atomic instructions were not destructed
* | some cleanupRainer Gerhards2010-04-191-2/+2
| |
* | Merge branch 'v4-devel' into masterRainer Gerhards2010-04-191-0/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: ChangeLog Makefile.am configure.ac doc/manual.html runtime/debug.c runtime/rsyslog.h tests/Makefile.am tests/diag.sh tests/nettester.c tools/syslogd.c
| * | Merge branch 'v4-stable-solaris' into v4-develRainer Gerhards2010-04-121-52/+83
| |\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: ChangeLog configure.ac doc/manual.html tools/omfile.c tools/syslogd.c
| * | Merge branch 'v4-beta' into tmpRainer Gerhards2010-01-261-6/+16
| |\ \ | | | | | | | | | | | | | | | | Conflicts: ChangeLog
| * \ \ Merge branch 'v4-beta' into v4-develRainer Gerhards2009-11-301-1/+1
| |\ \ \
* | \ \ \ Merge branch 'beta' into masterRainer Gerhards2010-04-091-36/+52
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: ChangeLog configure.ac plugins/imudp/imudp.c runtime/stream.h tests/Makefile.am tests/diag.sh tools/omfile.c
| * \ \ \ \ Merge branch 'v4-stable-solaris' into betaRainer Gerhards2010-04-091-2/+3
| |\ \ \ \ \ | | | |_|_|/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: runtime/Makefile.am runtime/rsyslog.c tests/nettester.c tools/syslogd.c
| | * | | | bugfix: default for $OMFileFlushOnTXEnd was wrong ("off").Rainer Gerhards2010-04-071-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | | Merge branch 'v4-stable' into v5-stableRainer Gerhards2010-03-291-36/+51
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: ChangeLog configure.ac doc/manual.html runtime/debug.c runtime/stream.c tests/Makefile.am tests/diskqueue.sh tests/nettester.c tools/omfile.c
| | * | | | $OMFileAsyncWriting directive did not work properlyRainer Gerhards2010-03-251-1/+1
| | | | | |
| | * | | | new feature: $OMFileAsyncWriting directive addedRainer Gerhards2010-03-251-19/+22
| | | | | | | | | | | | | | | | | | | | | | | | it permits to specifiy if asynchronous writing should be done or not
| | * | | | undo experimental commit dccadb677c5a6b8379f631e4c1f14c8c4089d4a6Rainer Gerhards2010-03-251-9/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| | * | | | bugfix: potential segfault in dynafile cacheRainer Gerhards2010-03-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| | * | | | streamline dynafile cache entry deletion a bitRainer Gerhards2010-03-231-8/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The old code looks a bit "strange", though not necessarily incorrect. The new code looks correct and is probably less irritating during bug hunting.
| | * | | | bugfix: potential re-use of free()ed file stream object in omfileRainer Gerhards2010-03-231-7/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)
| | * | | | previous (experimental) patch was somewhat incorrect, fixedRainer Gerhards2010-03-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | This is what caused the new test to fail...
| | * | | | exp: made omfile ensure that it is not called twice in parallel on the same ↵Rainer Gerhards2010-03-211-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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).
| | * | | | fixed regression from previos (yet unrelease) $omfileFlushOnTXEnd fixtemp.4.6.1.10Rainer Gerhards2010-03-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| | * | | | new feature: "." action type added to support writing files to relative pathesRainer Gerhards2010-03-171-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | (this is primarily meant as a debug aid)
| | * | | | bugfix: potential problem (loop, abort) when file write error occuredRainer Gerhards2010-03-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| | * | | | retain old $OMFileFlushOnTXEnd semanticsRainer Gerhards2010-03-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | required because due to bug the default was actually different than specified (or better said: spec was inconsistent in doc as well).
| | * | | | bugfix: $omfileFlushOnTXEnd was turned on when set to off and vice versaRainer Gerhards2010-03-091-1/+1
| | | | | |
| * | | | | Merge branch 'v4-stable' into betaRainer Gerhards2010-03-081-2/+14
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: ChangeLog configure.ac doc/manual.html tests/rt-init.c
* | | | | | bugfix: omfile.c did not properly compile without atomicsRainer Gerhards2010-03-051-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | while this worked on another platform, it did not work here, and failed to do so for good reasons ;)
* | | | | | Merge branch 'v4-stable-solaris' into master-solarisRainer Gerhards2010-03-051-2/+14
|\ \ \ \ \ \ | | |/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: ChangeLog configure.ac doc/manual.html tests/rt-init.c
| * | | | | bugfix: potential (but very impropable) segfaults in omfileRainer Gerhards2010-03-021-2/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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.
* | | | | | relaxed need for atomic builtinsRainer Gerhards2010-03-051-0/+27
| | | | | |
* | | | | | Merge branch 'beta' into masterRainer Gerhards2010-03-011-15/+17
|\ \ \ \ \ \ | | |/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: ChangeLog configure.ac doc/manual.html tools/syslogd.c
| * | | | | Merge branch 'v4-stable' into tmpRainer Gerhards2010-03-011-15/+17
| |\| | | |
| | * | | | make $ActonFileDefaultTemplate available to ompipeRainer Gerhards2010-03-011-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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).
| | * | | | some code cleanupRainer Gerhards2010-02-281-5/+7
| | | | | |
| | * | | | moved pipe code to its own moduleRainer Gerhards2010-02-281-1/+1
| | | |_|/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | ... 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.
* | / | | replaced data type "bool" by "sbool" because this created some portability ↵Rainer Gerhards2010-02-021-3/+3
|/ / / / | | | | | | | | | | | | issues
* | | | Merge branch 'v4-beta' into betaRainer Gerhards2010-01-151-6/+16
|\| | | | | | | | | | | | | | | | | | | Conflicts: ChangeLog
| * | | bugfix: rsyslog hangs when writing to a named pipe which nobody was reading.Rainer Gerhards2010-01-151-6/+16
| | |/ | |/| | | | | | | Thanks to Michael Biebl for reporting this bug.
| * | Merge branch 'v4-stable' into v4-betaRainer Gerhards2009-11-301-1/+1
| |\ \
* | | | worked around an issue where omfile failed to compile on 32 bit platformsRainer Gerhards2009-12-091-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | ...under some circumstances (this smells like a gcc problem, but a simple solution was available). Thanks to Kenneth Marshall for some advice. [backported from 5.5.x branch]
* | | | Merge branch 'v5-stable' into betaRainer Gerhards2009-11-301-1/+1
|\ \ \ \
| * \ \ \ Merge branch 'v4-stable' into v5-stableRainer Gerhards2009-11-301-1/+1
| |\ \ \ \ | | | |/ / | | |/| | | | | | | | | | | | Conflicts: doc/rsyslog_conf_modules.html
| | * | | Merge branch 'v3-stable' into v4-stableRainer Gerhards2009-11-301-1/+1
| | |\ \ \
| | | * | | bugfix: $CreateDirs variable not properly initializedRainer Gerhards2009-11-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | default thus was random (but most often "on")
| | * | | | Merge branch 'v3-stable' into betaRainer Gerhards2009-06-181-3/+3
| | |\| | |
| | | * | | some minor bugfixesRainer Gerhards2009-06-181-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - bugfix: invalid error message issued if $inlcudeConfig was on an empty set of files (e.g. *.conf, where none such files existed) thanks to Michael Biebl for reporting this bug - bugfix: when run in foreground (but not in debug mode), a debug message ("DoDie called") was emitted at shutdown. Removed. thanks to Michael Biebl for reporting this bug - bugfix: some garbagge was emitted to stderr on shutdown. This garbage consisted of file names, which were written during startup (key point: not a pointer error) thanks to Michael Biebl for reporting this bug - bugfix: startup and shutdown message were emitted to stdout thanks to Michael Biebl for reporting this bug