summaryrefslogtreecommitdiffstats
path: root/tcpsrv.c
Commit message (Collapse)AuthorAgeFilesLines
* bugfix: memory leak in imtcp & subsystems under some circumstancesRainer Gerhards2011-06-101-3/+6
| | | | | | | | | This leak is tied to error conditions which lead to incorrect cleanup of some data structures. Note: this is a backport from v6. In v5, we currently do not have the toolchain to verify the original problem and that it is solved. So this patch is preliminary and subject to change as work progresses.
* Merge branch 'v4-stable' into v5-stableRainer Gerhards2011-05-021-1/+2
|\ | | | | | | | | Conflicts: tcpsrv.c
| * bugfix: TCP connection invalidly aborted when messages needed to be discardedRainer Gerhards2011-05-021-1/+1
| | | | | | | | due to QUEUE_FULL or similar problem
| * slightly more informative errmsg when TCP connection is abortedRainer Gerhards2011-05-021-3/+5
| |
* | 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>
* | added capability to turn off standard LF delimiter in TCP serverRainer Gerhards2010-03-011-1/+15
| | | | | | | | via new directive "$InputTCPServerDisableLFDelimiter on"
* | fixing some potential segfault conditionsRainer Gerhards2009-11-251-12/+21
| |
* | milestone commit: first working version with epoll/tcpRainer Gerhards2009-11-231-69/+37
| | | | | | | | ... but not well-tested, so there may be many hidden bugs.
* | milestone: working towards utilizing epoll interfaceRainer Gerhards2009-11-191-9/+24
| | | | | | | | NOTE: this version does NOT run - tcp-based servers are defunct.
* | milestone commit: first driver layer call doneRainer Gerhards2009-11-181-4/+114
| | | | | | | | | | ... does not really run. We can now call into the epoll driver, but not handle epoll(). The driver also needs more modifications.
* | added a bit of doc and improved an error messageRainer Gerhards2009-11-111-2/+3
| |
* | enhanced test environment (including testbench)Rainer Gerhards2009-10-221-1/+1
| | | | | | | | | | | | | | | | support for enhancing probability of memory addressing failure by using non-NULL default value for malloced memory (optional, only if requested by configure option). This helps to track down some otherwise undetected issues within the testbench and is expected to be very useful in the future.
* | improved input thread termination for imtcp and imuxsockRainer Gerhards2009-10-161-0/+4
| |
* | Merge branch 'v4-devel' into tmpRainer Gerhards2009-10-021-0/+19
|\| | | | | | | | | | | | | | | | | Conflicts: ChangeLog configure.ac doc/manual.html runtime/rsyslog.h tcpsrv.c
| * bumped version number, corrected error message code (minor nit)Rainer Gerhards2009-10-011-1/+1
| |
| * added $InputTCPServerNotifyOnConnectionClose config directiveRainer Gerhards2009-10-011-0/+19
| |
* | Merge branch 'beta'Rainer Gerhards2009-08-181-12/+32
|\|
| * added $InputTCPMaxListeners directiveRainer Gerhards2009-08-171-13/+26
| | | | | | | | permits to specify how many TCP servers shall be possible (default is 20).
| * bugfix: if tcp listen port could not be created, no error message was emittedRainer Gerhards2009-08-171-2/+6
| |
* | internal: added ability to terminate input modules not via pthread_cancel...Rainer Gerhards2009-07-201-1/+3
| | | | | | | | | | | | | | | | ... but an alternate approach via pthread_kill. This is somewhat safer as we do not need to think about the cancel-safeness of all libraries we use. However, not all inputs can easily supported, so this now is a feature that can be requested by the input module (the most important ones request it).
* | minor: dbgprintf() converted to DBGPRINTF()Rainer Gerhards2009-07-201-5/+5
| |
* | re-structured tcpsrv.c a bit, no real changeRainer Gerhards2009-07-201-38/+49
|/ | | | | ... but this sets stage for potential future optimizations, especially the capability to use multiple reception threads.
* introduced the idea of detached propertiesRainer Gerhards2009-06-291-3/+12
| | | | | | | | | | | | | some things inside the message can be used over a large number of messages and need to to be allocated and re-written every time. I now begin to implement this as a "prop_t" object, first use for the inputName. Some input modules are already converted, some others to go. Will do a little performance check on the new method before I go further. Also, this commit has some cleanup and a few bug fixes that prevented compiliation in debug mode (I overlooked this as I did not compile for debug, what I normally do, and the automatted test also does not do that)
* Merge branch 'master' into omfileRainer Gerhards2009-06-161-1/+2
|\ | | | | | | | | | | | | | | | | Conflicts: ChangeLog runtime/msg.h tcps_sess.c tcpsrv.c tools/syslogd.c
| * some performance optimizationsRainer Gerhards2009-06-161-1/+2
| | | | | | | | | | | | - saved gettimeofday() calls in imtcp (and increased reception buffer) - somewhat optimized stringbuf.c - some other optimizations
* | fixed a regression from past commit & more performance enhancementRainer Gerhards2009-06-121-1/+1
| | | | | | | | a larger buffer is a cheap, yet useful, enhancement... ;)
* | performance-enhanced imtcpRainer Gerhards2009-06-121-1/+0
| | | | | | | | | | ...by now using lowres time and thus saving many time() calls. This needs some performance testing and must be made configurable if it works out.
* | completed multi-ruleset core supportRainer Gerhards2009-06-121-0/+17
|/ | | | ... as well as added multi-ruleset support for imtcp
* added a generic network stream serverRainer Gerhards2009-06-021-1/+4
| | | | (in addition to rather specific syslog tcp server)
* greatly enhanced testbenchRainer Gerhards2009-05-271-3/+0
| | | | | | | | | The imdiag module now can very effectively inject messages, which also frees us from uncertainties of tcp reception and processing. All shell script based tests have been modularized, what makes it far easier to create new tests. Also, the test bench now executes more reliable and much faster, because we can now rely on actual engine information where we previously did just a dumb sleep.
* added new testing module imdiagRainer Gerhards2009-05-251-7/+19
| | | | | which enables to talk to the rsyslog core at runtime. The current implementation is only a beginning, but can be expanded over time
* added capability to run multiple tcp listeners (on different ports)Rainer Gerhards2009-05-221-46/+104
| | | | | | | | | | | Well, actually this and a lot of related things. I improved the testbench so that the new capabilities are automatically tested and also did some general cleanup. The current multiple tcp listener solution will probably receive some further cleanup, too, but looks quite OK so far. I also reviewed the way tcpsrv et all work, in preparation of using this code for imdiag. I need to document the findings, especially as the code is rather complicated "thanks" to the combination of plain tcp and gssapi transport modes.
* made imdiag *just* compile & some cleanupRainer Gerhards2009-05-201-11/+6
| | | | | | imdiag was never finished (not even really begun), but now I need it. I made the few things that are available compile, but more serious work is required.
* Merge branch 'beta'Rainer Gerhards2009-04-091-0/+15
|\ | | | | | | | | | | | | | | | | | | Conflicts: ChangeLog tcpsrv.c tcpsrv.h Note: we have a slight inconsistency, as interface version v4 was already used for tcpsrv in this branch. We accept this inconsistency.
| * Merge branch 'v3-stable' into betaRainer Gerhards2009-04-091-0/+15
| |\ | | | | | | | | | | | | Conflicts: ChangeLog
| | * bugfix: $InputTCPMaxSessions config directive was accepted, but not honoredRainer Gerhards2009-04-091-0/+15
| | | | | | | | | | | | This resulted in a fixed upper limit of 200 connections.
* | | enhanced imtcp, among others to handel invalid NetScreen framingRainer Gerhards2008-12-101-0/+35
|/ / | | | | | | | | | | | | | | | | | | | | | | - added $InputTCPServerAddtlFrameDelimiter config directive, which enabeles to specify an additional, non-standard message delimiter for processing plain tcp syslog. This is primarily a fix for the invalid framing used in Juniper's NetScreen products. Credit to forum user Arv for suggesting this solution. - added $InputTCPServerInputName property, which enables a name to be specified that will be available during message processing in the inputname property. This is considered useful for logic that treats messages differently depending on which input received them.
* | Merge branch 'v3-stable' into betaRainer Gerhards2008-12-041-8/+13
|\| | | | | | | | | | | | | Conflicts: ChangeLog configure.ac doc/manual.html
| * bugfix: memory leak if sender was not permittedRainer Gerhards2008-12-031-6/+10
| |
| * bugfix: $AllowedSender handled invalidly for plain TCP transportRainer Gerhards2008-11-291-2/+3
| |
* | removed compile time fixed message size limit (was 2K)Rainer Gerhards2008-09-021-1/+1
| | | | | | | | | | The limit can now be set via $MaxMessageSize global config directive (finally gotten rid of MAXLINE ;))
* | begun implementing a diagnostic plugin (not yet completed)Rainer Gerhards2008-07-281-2/+1
|/
* added (internal) error codes to error messagesRainer Gerhards2008-06-271-7/+7
| | | | | Also added redirector to web description of error codes closes bug http://bugzilla.adiscon.com/show_bug.cgi?id=20
* improved gtls error reportingRainer Gerhards2008-06-241-2/+2
|
* added support for EGAIN while trying to receive data on gTLS sessionRainer Gerhards2008-06-241-10/+14
| | | | | | | | | This maps to bugzilla bug 83: http://bugzilla.adiscon.com/show_bug.cgi?id=83 This is the first test version, posted to user for repro of the problem. It contains code to handle the case, HOWEVER, I have not been able to test it in a scenario where a retry actually happens while receiving (I dont't get this in my environment). So I assume it is buggy and will probably not work.
* disabled compile warnings caused by third-party librariesRainer Gerhards2008-06-231-0/+4
|
* changed Rcv-Interface in tcpsrv subsystemRainer Gerhards2008-06-231-5/+8
| | | | | | It is now iRet based. This enables us to communicate more in-depth information to the upper peers. This is needed to handle the EGAIN case on rcv (not yet implemented)
* re-enabled anon mode (failed if client did not provide cert)Rainer Gerhards2008-05-211-1/+1
|
* first implementation of TLS server client authentication checkRainer Gerhards2008-05-191-3/+50
| | | | | | | The TLS server now checks the client fingerprint. This works, but is highly experimental. Needs to be refined for practice. Also: - implemented permittedPeers helper construct to store names - changed omfwd implementation to use new permittedPeers
* added fromhost-ip properties and some bugfixesRainer Gerhards2008-05-161-1/+4
| | | | | | | | | | - bugfix: TCP input modules did incorrectly set fromhost property (always blank) - bugfix: imklog did not set fromhost property - added "fromhost-ip" property - added "RSYSLOG_DebugFormat" canned template - bugfix: hostname and fromhost were swapped when a persisted message (in queued mode) was read in