55 Commits

Author SHA1 Message Date
Rainer Gerhards
4beff8dab6 Merge branch 'nextmaster' into oracle
Conflicts:
	runtime/rsyslog.h
2009-04-16 17:28:29 +02:00
Rainer Gerhards
2d5e8ba7cd added a new error code for too-old rsyslog core
which can be emittend when plugin can not load due to missing
core functionality.
2009-04-16 17:26:07 +02:00
Rainer Gerhards
85ccd6e9b7 Merge branch 'omprog' into nextmaster
Conflicts:
	ChangeLog
	runtime/rsyslog.h
2009-04-14 14:49:01 +02:00
Rainer Gerhards
04272876d1 implemented $MaxOpenFiles directive and changed testbench
... to utilize it. This work is not yet fully verified to be correct.
2009-04-14 13:52:07 +02:00
Rainer Gerhards
01f2c7a7a3 improved omprog, now ready for first practical testing 2009-04-01 18:17:20 +02:00
Rainer Gerhards
59d4a52c28 initial work on omprog, an output module to send messages to another program 2009-04-01 16:31:41 +02:00
Rainer Gerhards
8e3c5a9ca3 improved internal handling of RainerScript functions
- building the necessary plumbing to support more functions with
  decent runtime performance. This is also necessary towards the
  long-term goal of loadable library modules.
- added new RainerScript function "tolower"
2009-04-06 17:55:04 +02:00
Rainer Gerhards
8de35eaa2c clean compile on solaris 2009-04-02 15:37:17 +02:00
Rainer Gerhards
e8499c6d33 initial implementation of RainerScript functions & strlen()
- implemented function support in RainerScript. That means the engine
  parses and compile functions, as well as executes a few build-in
  ones. Dynamic loading and registration of functions is not yet
  supported - but we now have a good foundation to do that later on.
  NOTE: nested function calls are not yet supported due to a design
  issue with the function call VM instruction set design.
- implemented the strlen() RainerScript function
2009-03-10 17:37:13 +01:00
Rainer Gerhards
e02b553e1f Merge branch 'beta'
Conflicts:
	ChangeLog
	configure.ac
	doc/manual.html
	doc/rsyslog_conf.html
	plugins/imudp/imudp.c
	runtime/rsyslog.h
2008-12-04 12:59:37 +01:00
Rainer Gerhards
fae8f451ab Merge branch 'v3-stable' into beta
Conflicts:
	runtime/rsyslog.h
2008-11-29 08:02:37 +01:00
Rainer Gerhards
f0ddbed44c security bugfix: $AllowedSender was not honored,
...all senders were permitted instead
2008-11-29 07:22:48 +01:00
Rainer Gerhards
ace4f2f752 reordered imudp processing.
Message parsing is now done as part of main message queue worker
processing (was part of the input thread) This should also improve
performance, as potentially more work is done in parallel.
2008-10-08 18:55:11 +02:00
Rainer Gerhards
760e5f0d39 performance optimization: unnecessary time() calls during message parsing removed
thanks to David Lang for his excellent performance analysis
2008-09-16 11:56:07 +02:00
Rainer Gerhards
1e819a8afe Merge branch 'beta'
Conflicts:

	runtime/rsyslog.h
	tools/syslogd.c
2008-09-12 15:17:47 +02:00
Rainer Gerhards
4e86efaf0e fixed duplicate error number
This probably happened during a branch merge and was not detected.
Fixed now, should not haved any harm.
2008-09-12 15:15:28 +02:00
Rainer Gerhards
63994d092c Merge branch 'v3-stable' into beta
Conflicts:

	runtime/datetime.h
	runtime/rsyslog.h
2008-09-12 15:11:38 +02:00
Rainer Gerhards
c3c385c63b added testbed for config errors and fixed a bug
- bugfix: no error was reported if the target of a $IncludeConfig
  could not be accessed.
- added testbed for common config errors
2008-07-29 14:55:44 +02:00
Rainer Gerhards
d2feb7063e enhanced configuration file error reporting and verification
- enhanced config file checking - no active actions are detected
- added -N rsyslogd command line option for a config validation run
  (which does not execute actual syslogd code and does not interfere
  with a running instance)
- somewhat improved emergency configuration. It is now also selected
  if the config contains no active actions
- rsyslogd error messages are now reported to stderr by default. can be
  turned off by the new "$ErrorMessagesToStderr off" directive
Thanks to HKS for suggesting these new features.
2008-07-29 10:07:50 +02:00
Rainer Gerhards
aeef9bbe72 bugfix: machine certificate was required for client even in TLS anon mode
Reference: http://bugzilla.adiscon.com/show_bug.cgi?id=85
The fix also slightly improves performance by not storing certificates in
client sessions when there is no need to do so.
2008-07-02 11:56:54 +02:00
Rainer Gerhards
3f6c73a8b7 added (internal) error codes to error messages
Also added redirector to web description of error codes
closes bug http://bugzilla.adiscon.com/show_bug.cgi?id=20
2008-06-27 12:52:45 +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
531f27a8c3 implemented wildcards inside certificate name check authentication 2008-05-27 14:49:45 +02:00
Rainer Gerhards
ae387d6900 client now provides cert even if it is not signed by one of the server's trusted CAs (gtls) 2008-05-27 09:46:30 +02:00
Rainer Gerhards
bc5eb93e40 added certificate validity date check (gtls) 2008-05-26 14:47:36 +02:00
Rainer Gerhards
b674dd69bd added gtls name authentication based on common name (inside DN)
also changed fingerprint gtls auth mode to new format fingerprint
2008-05-26 12:53:49 +02:00
Rainer Gerhards
68a2c3d512 implemented x509/certvalid "authentication" 2008-05-21 14:59:24 +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
48684ceac5 improved error messages and corrected fingerprint format 2008-05-19 09:43:37 +02:00
Rainer Gerhards
6ea98ec5ff added first rough ability to authenticate the server against its certificate
This is very experimental and needs some more work. It probably even
segfaults - but the base code is there and running. The rest is
refinement.

While working on this, I did these two bugfixes:
- bugfix: small mem leak in omfwd on exit (strmdriver name was not freed)
- bugfix: $ActionSendStreamDriver had no effect
2008-05-16 18:26:25 +02:00
Rainer Gerhards
d594f83a89 server's X509 cert fingerprint is obtained by client on connect 2008-05-08 16:00:57 +02:00
Rainer Gerhards
3d74096021 added a bit of doc (at least something...) 2008-05-08 13:24:20 +02:00
Rainer Gerhards
c370fc6305 server handshake now works with nonblocking sockets 2008-04-30 16:35:35 +02:00
Rainer Gerhards
94acfb1c5f ability to load proper select netstrm driver 2008-04-29 10:02:59 +02:00
Rainer Gerhards
a3ff7eaf85 added $ActionSendStreamDriverMode config directive 2008-04-28 14:21:58 +02:00
Rainer Gerhards
af30c9f8f2 added select() driver for GnuTls 2008-04-24 20:10:24 +02:00
Rainer Gerhards
af50a76c3f made this compile with the new abstracted socket server calls
undid some invalid changes during merge plus did a few wrappers.
Compiles, but does not yet work.
2008-04-24 17:59:43 +02:00
Rainer Gerhards
4b05bef636 Merge branch 'sock-abstract' into tls
Conflicts:

	runtime/Makefile.am
	runtime/netstrm.c
	runtime/nsd.h
	runtime/nsd_ptcp.c
	runtime/rsyslog.h
2008-04-24 17:43:45 +02:00
Rainer Gerhards
50fe2ec2ea removed listener array from inidividual netstrm (mostly finished) 2008-04-23 16:31:35 +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
2069ab114e first working TLS-enabled plain TCP sender
implemented a first working version of a TLS-enabled plain TCP
sender (but, of course, the implementation is insecure as it is)
2008-04-18 18:29:02 +02:00
Rainer Gerhards
032b9c1f64 Merge branch 'master' into tls 2008-04-18 14:38:17 +02:00
Rainer Gerhards
08a4fc4ae5 bugfix: a recent change effectively disabled error messages 2008-04-18 14:35:27 +02:00
Rainer Gerhards
fd6c3bc36a set stage for TLS client implementation 2008-04-18 14:25:29 +02:00
Rainer Gerhards
1daf8d492f converted netstrm into generic netstrm and the nsd_pctp driver 2008-04-18 11:40:15 +02:00
Rainer Gerhards
ccf3b533c6 imported tcp module from librelp as basis for new stream class
we got permission to include the tcp module from librelp
copyright holders
2008-04-17 15:40:28 +02:00
Rainer Gerhards
92303d400b added new "netstrm" class (not yet implemented) 2008-04-17 14:33:43 +02:00
Rainer Gerhards
60309004df completed better modularity of runtime
- added the ability to specify an error log function for the
  runtime
- removed dependency of core runtime on dirty.h

Note that it is "better" modularity, not perfect. There is still
work to do, but I think we can for the time being proceed with
other things.
2008-04-17 12:46:57 +02:00
Rainer Gerhards
e5130affc0 moved "glblModPath" variable inside global data pool
(but still as a variable, not part of glbl object)
2008-04-17 11:17:15 +02:00