23 Commits

Author SHA1 Message Date
Rainer Gerhards
ebf0582261 added capability to turn off standard LF delimiter in TCP server
via new directive "$InputTCPServerDisableLFDelimiter on"
2010-03-01 11:33:48 +01:00
Rainer Gerhards
38cb392672 replaced data type "bool" by "sbool" because this created some portability issues 2010-02-02 15:51:01 +01:00
Rainer Gerhards
e0d77fa90c milestone commit: first working version with epoll/tcp
... but not well-tested, so there may be many hidden bugs.
2009-11-23 15:33:52 +01:00
Rainer Gerhards
6a69e47822 added $InputTCPServerNotifyOnConnectionClose config directive 2009-10-01 18:39:21 +02:00
Rainer Gerhards
56b781e5bb added $InputTCPMaxListeners directive
permits to specify how many TCP servers shall be possible (default is 20).
2009-08-17 17:18:19 +02:00
Rainer Gerhards
de84a12f8a introduced the idea of detached properties
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)
2009-06-29 16:53:26 +02:00
Rainer Gerhards
98348ae03d Merge branch 'master' into omfile
Conflicts:
	ChangeLog
	runtime/msg.h
	tcps_sess.c
	tcpsrv.c
	tools/syslogd.c
2009-06-16 12:59:55 +02:00
Rainer Gerhards
015d17ca70 some performance optimizations
- saved gettimeofday() calls in imtcp (and increased reception buffer)
- somewhat optimized stringbuf.c
- some other optimizations
2009-06-16 08:46:45 +02:00
Rainer Gerhards
ca0ddc30a3 completed multi-ruleset core support
... as well as added multi-ruleset support for imtcp
2009-06-12 15:31:08 +02:00
Rainer Gerhards
eb1615068c added new testing module imdiag
which enables to talk to the rsyslog core at runtime. The current
implementation is only a beginning, but can be expanded over time
2009-05-25 10:47:22 +02:00
Rainer Gerhards
aba90e8248 added capability to run multiple tcp listeners (on different ports)
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.
2009-05-22 17:06:52 +02:00
Rainer Gerhards
a5b4cb1681 Merge branch 'beta'
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.
2009-04-09 13:44:52 +02:00
Rainer Gerhards
bc471f1d90 bugfix: $InputTCPMaxSessions config directive was accepted, but not honored
This resulted in a fixed upper limit of 200 connections.
2009-04-09 13:36:44 +02:00
Rainer Gerhards
7b1a570d54 changed Rcv-Interface in tcpsrv subsystem
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)
2008-06-23 10:29:15 +02:00
Rainer Gerhards
85b587f93d first implementation of TLS server client authentication check
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
2008-05-19 18:52:44 +02:00
Rainer Gerhards
da88900143 added $InputTCPServerStreamDriverMode config directive 2008-04-30 18:53:21 +02:00
Rainer Gerhards
1892fc75f9 added new netstrms class
netstrms is at the top layer of the socket abstraction
2008-04-23 15:07:19 +02:00
Rainer Gerhards
2be459c4d7 objects for receive-side socket abstraction specified
The objects for receiver-side socket abstraction have now be
specified. The project as whole does not yet compile and
definitely not run, but I'd like to commit some milestones along
this way.
2008-04-23 09:59:01 +02:00
Rainer Gerhards
17f36a76cb bugfix: imgssapi segfaulted under some conditions; this fix is actually not
just a fix but a change in the object model. Thanks to varmojfekoj for
    providing the bug report, an initial fix and lots of good discussion
    that lead to where we finally ended up.
2008-03-13 11:04:33 +00:00
Rainer Gerhards
4db62823e7 renamed library module file names to lm*, so that they match the overall
scheme (like im* and om*)
2008-03-07 17:26:58 +00:00
Rainer Gerhards
4273036019 made imgssapi compile 2008-03-03 09:04:59 +00:00
Rainer Gerhards
9d8eb28ebd - added class tcps
- added class tcps_sess
- changed imtcp to use new classes; seems to work; imgssapi currently
    broken
2008-03-02 10:19:25 +00:00
Rainer Gerhards
483be40471 enhanced imtcp, among others to handel invalid NetScreen framing
- 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.
2008-12-10 14:26:19 +01:00