summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2008-09-02 12:03:32 +0200
committerRainer Gerhards <rgerhards@adiscon.com>2008-09-02 12:03:32 +0200
commit25bc87872aabe03b35ca81f6be069b686e6a8435 (patch)
tree8d5f2f98e191857e8e04cd816ee96de6a38e8629
parent1a9ac0ced72dd163228438af4f31f233fab20529 (diff)
parent2082d963975a88c8e4dee3a43b98d939f9a2323f (diff)
downloadrsyslog-25bc87872aabe03b35ca81f6be069b686e6a8435.tar.gz
rsyslog-25bc87872aabe03b35ca81f6be069b686e6a8435.tar.xz
rsyslog-25bc87872aabe03b35ca81f6be069b686e6a8435.zip
Merge branch 'beta'
Conflicts: ChangeLog action.c configure.ac doc/manual.html
-rw-r--r--ChangeLog17
-rw-r--r--action.c5
-rw-r--r--runtime/cfsysline.c10
-rw-r--r--tools/rsyslog.conf.550
4 files changed, 75 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index 74aef59a..d7004554 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -65,6 +65,8 @@ Version 3.21.0 [DEVEL] (rgerhards), 2008-07-18
- imported all changes from 3.18.1 until today (some quite important,
see below)
---------------------------------------------------------------------------
+Version 3.19.12 [BETA] (rgerhards), 2008-08-25
+---------------------------------------------------------------------------
Version 3.19.11 [BETA] (rgerhards), 2008-08-25
This is a refresh of the beta. No beta-specific fixes have been added.
- included fixes from v3-stable (most importantly 3.18.3)
@@ -226,6 +228,21 @@ Version 3.19.0 (rgerhards), 2008-05-06
- -c option no longer must be the first option - thanks to varmjofekoj
for the patch
---------------------------------------------------------------------------
+Version 3.18.4 (rgerhards), 2008-09-??
+- bugfix: order-of magnitude issue with base-10 size definitions
+ in config file parser. Could lead to invalid sizes, constraints
+ etc for e.g. queue files and any other object whose size was specified
+ in base-10 entities. Did not apply to binary entities. Thanks to
+ RB for finding this bug and providing a patch.
+- bugfix: action was not called when system time was set backwards
+ (until the previous time was reached again). There are still some
+ side-effects when time is rolled back (A time rollback is really a bad
+ thing to do, ideally the OS should issue pseudo time (like NetWare did)
+ when the user tries to roll back time). Thanks to varmojfekoj for this
+ patch.
+- doc bugfix: rsyslog.conf man page improved and minor nit fixed
+ thanks to Lukas Kuklinek for the patch.
+---------------------------------------------------------------------------
Version 3.18.3 (rgerhards), 2008-08-18
- bugfix: imfile could cause a segfault upon rsyslogd HUP and termination
Thanks to lperr for an excellent bug report that helped detect this
diff --git a/action.c b/action.c
index 3a2584de..fb7f6d9f 100644
--- a/action.c
+++ b/action.c
@@ -514,6 +514,10 @@ actionWriteToAction(action_t *pAction)
pMsgSave = NULL; /* indicate message poiner not saved */
time(&now); /* we need this for several use cases, but obtain it once for performance reasons */
+ if(pAction->tLastExec > now) {
+ /* if we are traveling back in time, reset tLastExec */
+ pAction->tLastExec = (time_t) 0;
+ }
/* first, we check if the action should actually be called. The action-specific
* $ActionExecOnlyEveryNthTime permits us to execute an action only every Nth
@@ -522,7 +526,6 @@ actionWriteToAction(action_t *pAction)
* as the action was properly "passed to execution" from the upper layer's point
* of view. -- rgerhards, 2008-08-07.
*/
-dbgprintf("NTH: conf: %d, actual %d\n", pAction->iExecEveryNthOccur, pAction->iNbrNoExec);
if(pAction->iExecEveryNthOccur > 1) {
/* we need to care about multiple occurences */
if( pAction->iExecEveryNthOccurTO > 0
diff --git a/runtime/cfsysline.c b/runtime/cfsysline.c
index 18643ba5..c4490b48 100644
--- a/runtime/cfsysline.c
+++ b/runtime/cfsysline.c
@@ -215,11 +215,11 @@ static rsRetVal doGetSize(uchar **pp, rsRetVal (*pSetHdlr)(void*, uid_t), void *
case 'e': i *= (int64) 1024 * 1024 * 1024 * 1024 * 1024 * 1024; ++(*pp); break; /* exa */
/* and now the "new" 1000-based definitions */
case 'K': i *= 1000; ++(*pp); break;
- case 'M': i *= 10000; ++(*pp); break;
- case 'G': i *= 100000; ++(*pp); break;
- case 'T': i *= 1000000; ++(*pp); break; /* tera */
- case 'P': i *= 10000000; ++(*pp); break; /* peta */
- case 'E': i *= 100000000; ++(*pp); break; /* exa */
+ case 'M': i *= 1000000; ++(*pp); break;
+ case 'G': i *= 1000000000; ++(*pp); break;
+ case 'T': i *= 1000000000000; ++(*pp); break; /* tera */
+ case 'P': i *= 1000000000000000; ++(*pp); break; /* peta */
+ case 'E': i *= 1000000000000000000; ++(*pp); break; /* exa */
}
/* done */
diff --git a/tools/rsyslog.conf.5 b/tools/rsyslog.conf.5
index eb498537..0a2422c6 100644
--- a/tools/rsyslog.conf.5
+++ b/tools/rsyslog.conf.5
@@ -91,7 +91,7 @@ $ModLoad imtcp
$InputTCPServerRun 514
.TP
.TP
-.I imtcp
+.I imrelp
Input plugin for the RELP protocol. RELP can be used instead
of UDP or plain TCP syslog to provide reliable delivery of
syslog messages. Please note that plain TCP syslog does NOT
@@ -159,6 +159,54 @@ Every rule line consists of two fields, a selector field and an action field. Th
two fields are separated by one or more spaces or tabs. The selector field specifies
a pattern of facilities and priorities belonging to the specified action.
+.SH SELECTORS
+
+The selector field itself again consists of two parts, a facility and a
+priority, separated by a period ('.'). Both parts are case insensitive and can
+also be specified as decimal numbers, but don't do that, you have been warned.
+Both facilities and priorities are described in rsyslog(3). The names mentioned
+below correspond to the similar LOG_-values in /usr/include/rsyslog.h.
+
+The facility is one of the following keywords: auth, authpriv, cron, daemon,
+kern, lpr, mail, mark, news, security (same as auth), syslog, user, uucp and
+local0 through local7. The keyword security should not be used anymore and mark
+is only for internal use and therefore should not be used in applications.
+Anyway, you may want to specify and redirect these messages here. The facility
+specifies the subsystem that produced the message, i.e. all mail programs log
+with the mail facility (LOG_MAIL) if they log using syslog.
+
+The priority is one of the following keywords, in ascending order: debug, info,
+notice, warning, warn (same as warning), err, error (same as err), crit, alert,
+emerg, panic (same as emerg). The keywords error, warn and panic are deprecated
+and should not be used anymore. The priority defines the severity of the message.
+
+The behavior of the original BSD syslogd is that all messages of the specified
+priority and higher are logged according to the given action. Rsyslogd behaves
+the same, but has some extensions.
+
+In addition to the above mentioned names the rsyslogd(8) understands the
+following extensions: An asterisk ('*') stands for all facilities or all
+priorities, depending on where it is used (before or after the period). The
+keyword none stands for no priority of the given facility.
+
+You can specify multiple facilities with the same priority pattern in one
+statement using the comma (',') operator. You may specify as much facilities as
+you want. Remember that only the facility part from such a statement is taken, a
+priority part would be skipped.
+
+Multiple selectors may be specified for a single action using the semicolon
+(';') separator. Remember that each selector in the selector field is capable
+to overwrite the preceding ones. Using this behavior you can exclude some
+priorities from the pattern.
+
+Rsyslogd has a syntax extension to the original BSD source, that makes its use
+more intuitively. You may precede every priority with an equation sign ('=') to
+specify only this single priority and not any of the above. You may also (both
+is valid, too) precede the priority with an exclamation mark ('!') to ignore
+all that priorities, either exact this one or this and any higher priority. If
+you use both extensions than the exclamation mark must occur before the equation
+sign, just use it intuitively.
+
.SH ACTIONS
The action field of a rule describes what to do with the message. In general, message content
is written to a kind of "logfile". But also other actions might be done, like writing to a