diff options
author | Rainer Gerhards <rgerhards@adiscon.com> | 2011-07-06 08:36:58 +0200 |
---|---|---|
committer | Rainer Gerhards <rgerhards@adiscon.com> | 2011-07-06 08:36:58 +0200 |
commit | 8fbefa688fc18dd1936158318ec92a108303d2e8 (patch) | |
tree | 5090afbc864526b9d381b365dfc6365c0ffe408d | |
parent | 44609ec259fdd321520111049ace194a0941a157 (diff) | |
parent | 68a01594000b788e530ee8f716545dafccf85982 (diff) | |
download | rsyslog-8fbefa688fc18dd1936158318ec92a108303d2e8.tar.gz rsyslog-8fbefa688fc18dd1936158318ec92a108303d2e8.tar.xz rsyslog-8fbefa688fc18dd1936158318ec92a108303d2e8.zip |
Merge branch 'v5-stable' into beta
Conflicts:
ChangeLog
doc/manual.html
-rw-r--r-- | ChangeLog | 13 | ||||
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | doc/manual.html | 4 | ||||
-rw-r--r-- | doc/rsyslog_conf_actions.html | 20 | ||||
-rw-r--r-- | plugins/imdiag/imdiag.c | 23 | ||||
-rw-r--r-- | rsyslog.service.in | 1 | ||||
-rw-r--r-- | tools/omusrmsg.c | 4 |
7 files changed, 48 insertions, 19 deletions
@@ -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 ('&') character and have no filters. An example would be</p> -<p><code><b>*.=crit rger<br> +<p><code><b>*.=crit :omusrmsg:rger<br> & root<br> & /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> </p> @@ -213,13 +213,19 @@ sysklogd,"<%PRI%>%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 © 2008 by <a href="http://www.gerhards.net/rainer">Rainer Gerhards</a> and +Copyright © 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); |