summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2011-07-06 08:36:58 +0200
committerRainer Gerhards <rgerhards@adiscon.com>2011-07-06 08:36:58 +0200
commit8fbefa688fc18dd1936158318ec92a108303d2e8 (patch)
tree5090afbc864526b9d381b365dfc6365c0ffe408d
parent44609ec259fdd321520111049ace194a0941a157 (diff)
parent68a01594000b788e530ee8f716545dafccf85982 (diff)
downloadrsyslog-8fbefa688fc18dd1936158318ec92a108303d2e8.tar.gz
rsyslog-8fbefa688fc18dd1936158318ec92a108303d2e8.tar.xz
rsyslog-8fbefa688fc18dd1936158318ec92a108303d2e8.zip
Merge branch 'v5-stable' into beta
Conflicts: ChangeLog doc/manual.html
-rw-r--r--ChangeLog13
-rw-r--r--configure.ac2
-rw-r--r--doc/manual.html4
-rw-r--r--doc/rsyslog_conf_actions.html20
-rw-r--r--plugins/imdiag/imdiag.c23
-rw-r--r--rsyslog.service.in1
-rw-r--r--tools/omusrmsg.c4
7 files changed, 48 insertions, 19 deletions
diff --git a/ChangeLog b/ChangeLog
index 82574cff..c8ea4745 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,8 @@
---------------------------------------------------------------------------
+Version 6.1.11 [BETA] (rgerhards), 2011-06-??
+- added support for the ":omusrmsg:" syntax in configuring user messages
+- systemd support: set stdout/stderr to null - thx to Lennart for the patch
+---------------------------------------------------------------------------
Version 6.1.10 [BETA] (rgerhards), 2011-06-22
- bugfix: problems in failover action handling
closes: http://bugzilla.adiscon.com/show_bug.cgi?id=270
@@ -206,6 +210,10 @@ Version 5.9.0 [V5-DEVEL] (rgerhards), 2011-03-??
affected directive was: $ActionExecOnlyWhenPreviousIsSuspended on
closes: http://bugzilla.adiscon.com/show_bug.cgi?id=236
---------------------------------------------------------------------------
+Version 5.8.3 [V5-stable] (rgerhards), 2011-06-??
+- systemd support: set stdout/stderr to null - thx to Lennart for the patch
+- added support for the ":omusrmsg:" syntax in configuring user messages
+---------------------------------------------------------------------------
Version 5.8.2 [V5-stable] (rgerhards), 2011-06-21
- bugfix: problems in failover action handling
closes: http://bugzilla.adiscon.com/show_bug.cgi?id=270
@@ -1052,7 +1060,10 @@ Version 4.7.0 [v4-devel] (rgerhards), 2010-04-14
Thanks for varmojfekoj for pointing me at this bug.
- imported changes from 4.5.6 and below
---------------------------------------------------------------------------
-Version 4.6.6 [v4-stable] (rgerhards), 2010-11-??
+Version 4.6.7 [v4-stable] (rgerhards), 2011-06-??
+- added support for the ":omusrmsg:" syntax in configuring user messages
+---------------------------------------------------------------------------
+Version 4.6.6 [v4-stable] (rgerhards), 2011-06-24
- bugfix: memory leak in imtcp & subsystems under some circumstances
This leak is tied to error conditions which lead to incorrect cleanup
of some data structures. [backport from v6, limited testing under v4]
diff --git a/configure.ac b/configure.ac
index 4cf83c38..8eb280dd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -777,7 +777,7 @@ AM_CONDITIONAL(ENABLE_MAIL, test x$enable_mail = xyes)
# would complicate things if we first needed to tell them how to enable imdiag.
# rgerhards, 2008-07-25
AC_ARG_ENABLE(imdiag,
- [AS_HELP_STRING([--enable-imdiag],[Enable imdiag @<:@default=yes@:>@])],
+ [AS_HELP_STRING([--enable-imdiag],[Enable imdiag @<:@default=no@:>@])],
[case "${enableval}" in
yes) enable_imdiag="yes" ;;
no) enable_imdiag="no" ;;
diff --git a/doc/manual.html b/doc/manual.html
index 6dc025ef..3ae3754a 100644
--- a/doc/manual.html
+++ b/doc/manual.html
@@ -19,7 +19,11 @@ rsyslog support</a> available directly from the source!</p>
<p><b>Please visit the <a href="http://www.rsyslog.com/sponsors">rsyslog sponsor's page</a>
to honor the project sponsors or become one yourself!</b> We are very grateful for any help towards the
project goals.</p>
+<<<<<<< HEAD
<p><b>This documentation is for version 6.1.10 (beta branch) of rsyslog.</b>
+=======
+<p><b>This documentation is for version 5.8.2 (v5-stable branch) of rsyslog.</b>
+>>>>>>> 68a01594000b788e530ee8f716545dafccf85982
Visit the <i><a href="http://www.rsyslog.com/status">rsyslog status page</a></i></b>
to obtain current version information and project status.
</p><p><b>If you like rsyslog, you might
diff --git a/doc/rsyslog_conf_actions.html b/doc/rsyslog_conf_actions.html
index 4f8c4545..2bcb4146 100644
--- a/doc/rsyslog_conf_actions.html
+++ b/doc/rsyslog_conf_actions.html
@@ -25,7 +25,7 @@ definition. If you do this, the action will be ignored.</p>
more precisely a single filter of such a selector line). Each action
must be on its own line and the line must start with an ampersand
('&amp;') character and have no filters. An example would be</p>
-<p><code><b>*.=crit rger<br>
+<p><code><b>*.=crit :omusrmsg:rger<br>
&amp; root<br>
&amp; /var/log/critmsgs</b></code></p>
<p>These three lines send critical messages to the user rger and
@@ -34,7 +34,7 @@ actions per selector is</b> convenient and also <b>offers
a performance benefit</b>. As the filter needs to be evaluated
only once, there is less computation required to process the directive
compared to the otherwise-equal config directives below:</p>
-<p><code><b>*.=crit rger<br>
+<p><code><b>*.=crit :omusrmsg:rger<br>
*.=crit root<br>
*.=crit /var/log/critmsgs</b></code></p>
<p>&nbsp;</p>
@@ -213,13 +213,19 @@ sysklogd,"&lt;%PRI%&gt;%TIMESTAMP% %syslogtag%%msg%\""<br>
<h3>List of Users</h3>
<p>Usually critical messages are also directed to "root'' on
that machine. You can specify a list of users that shall get the
-message by simply writing the login. You may specify more than one user
-by separating them with commas (",''). If they're logged in they get
-the message. Don't think a mail would be sent, that might be too late.</p>
+message by simply writing ":omusrmsg: followed by the login name. For example,
+the send messages to root, use ":omusrmsg:root".
+You may specify more than one user
+by separating them with commas (",''). Do not repeat the ":omusrmsg:" prefix in
+this case. For example, to send data to users root and rger, use
+":omusrmsg:root,rger" (do not use ":omusrmsg:root,:omusrmsg:rger", this is invalid).
+If they're logged in they get
+the message.</p>
<h3>Everyone logged on</h3>
<p>Emergency messages often go to all users currently online to
notify them that something strange is happening with the system. To
-specify this wall(1)-feature use an asterisk ("*'').</p>
+specify this wall(1)-feature use an asterisk as the user message
+destination(":omusrmsg:*'').</p>
<h3>Call Plugin</h3>
<p>This is a generic way to call an output plugin. The plugin
must support this functionality. Actual parameters depend on the
@@ -333,7 +339,7 @@ what you can do with it, see "TEMPLATES" at the top of this document.</p>
[<a href="http://www.rsyslog.com/">rsyslog site</a>]</p>
<p><font size="2">This documentation is part of the
<a href="http://www.rsyslog.com/">rsyslog</a> project.<br>
-Copyright &copy; 2008 by <a href="http://www.gerhards.net/rainer">Rainer Gerhards</a> and
+Copyright &copy; 2008-2011 by <a href="http://www.gerhards.net/rainer">Rainer Gerhards</a> and
<a href="http://www.adiscon.com/">Adiscon</a>. Released under the GNU GPL
version 2 or higher.</font></p>
</body>
diff --git a/plugins/imdiag/imdiag.c b/plugins/imdiag/imdiag.c
index 12b3318d..c70bc5e4 100644
--- a/plugins/imdiag/imdiag.c
+++ b/plugins/imdiag/imdiag.c
@@ -255,6 +255,8 @@ finalize_it:
/* This function waits until the main queue is drained (size = 0)
+ * To make sure it really is drained, we check three times. Otherwise we
+ * may just see races.
*/
static rsRetVal
waitMainQEmpty(tcps_sess_t *pSess)
@@ -264,19 +266,22 @@ waitMainQEmpty(tcps_sess_t *pSess)
DEFiRet;
CHKiRet(diagGetMainMsgQSize(&iMsgQueueSize));
- while(iMsgQueueSize > 0) {
- /* DEV DEBUG ONLY if(iPrint++ % 500)
- printf("imdiag: main msg queue size: %d\n", iMsgQueueSize);
- */
- if(iPrint++ % 500 == 0)
- dbgprintf("imdiag sleeping, wait mainq drain, curr size %d\n", iMsgQueueSize);
- srSleep(0,2); /* wait a little bit */
- CHKiRet(diagGetMainMsgQSize(&iMsgQueueSize));
+ while(1) {
if(iMsgQueueSize == 0) {
/* verify that queue is still empty (else it could just be a race!) */
- srSleep(1,5); /* wait a little bit */
+ srSleep(0,250000);/* wait a little bit */
CHKiRet(diagGetMainMsgQSize(&iMsgQueueSize));
+ if(iMsgQueueSize == 0) {
+ srSleep(0,500000);/* wait a little bit */
+ CHKiRet(diagGetMainMsgQSize(&iMsgQueueSize));
+ }
}
+ if(iMsgQueueSize == 0)
+ break;
+ if(iPrint++ % 500 == 0)
+ dbgprintf("imdiag sleeping, wait mainq drain, curr size %d\n", iMsgQueueSize);
+ srSleep(0,200000);/* wait a little bit */
+ CHKiRet(diagGetMainMsgQSize(&iMsgQueueSize));
}
CHKiRet(sendResponse(pSess, "mainqueue empty\n"));
diff --git a/rsyslog.service.in b/rsyslog.service.in
index c3e149f1..23234cde 100644
--- a/rsyslog.service.in
+++ b/rsyslog.service.in
@@ -5,6 +5,7 @@ Description=System Logging Service
ExecStartPre=/bin/systemctl stop systemd-kmsg-syslogd.service
ExecStart=@sbindir@/rsyslogd -n -c6
Sockets=syslog.socket
+StandardOutput=null
[Install]
WantedBy=multi-user.target
diff --git a/tools/omusrmsg.c b/tools/omusrmsg.c
index da510e08..d28822ed 100644
--- a/tools/omusrmsg.c
+++ b/tools/omusrmsg.c
@@ -289,7 +289,9 @@ CODE_STD_STRING_REQUESTparseSelectorAct(1)
* [a-zA-Z0-9_.]
* plus '*' for wall
*/
- if(!*p || !((*p >= 'a' && *p <= 'z') || (*p >= 'A' && *p <= 'Z')
+ if(!strncmp((char*) p, ":omusrmsg:", sizeof(":omusrmsg:") - 1)) {
+ p += sizeof(":omusrmsg:") - 1; /* eat indicator sequence (-1 because of '\0'!) */
+ } else if(!*p || !((*p >= 'a' && *p <= 'z') || (*p >= 'A' && *p <= 'Z')
|| (*p >= '0' && *p <= '9') || *p == '_' || *p == '.' || *p == '*'))
ABORT_FINALIZE(RS_RET_CONFLINE_UNPROCESSED);