Author: mjordan
Date: Mon Jan 12 12:01:46 2015
New Revision: 430508

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=430508
Log:
main/syslog: Allow dynamic logs, such as security events, to log to the syslog

The security event log uses a dynamic log level (SECURITY) that is registered
with the Asterisk logging core. Unfortunately, the syslog would ignore log
statements that had a dynamic log level associated with them. Because the
syslog cannot handle ad hoc dynamic log levels, this patch treats any dynamic
log entries sent to the syslog as logs with a level of NOTICE.

ASTERISK-20744 #close
Reported by: Michael Keuter
Tested by: Michael L. Young, Jacek Konieczny
patches:
  asterisk-20744-syslog-dynamic-logging_trunk.diff uploaded by Michael L. Young 
(license 5026)
........

Merged revisions 430506 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 430507 from http://svn.asterisk.org/svn/asterisk/branches/13

Modified:
    trunk/   (props changed)
    trunk/include/asterisk/syslog.h
    trunk/main/syslog.c

Propchange: trunk/
------------------------------------------------------------------------------
Binary property 'branch-13-merged' - no diff available.

Modified: trunk/include/asterisk/syslog.h
URL: 
http://svnview.digium.com/svn/asterisk/trunk/include/asterisk/syslog.h?view=diff&rev=430508&r1=430507&r2=430508
==============================================================================
--- trunk/include/asterisk/syslog.h (original)
+++ trunk/include/asterisk/syslog.h Mon Jan 12 12:01:46 2015
@@ -27,6 +27,8 @@
 #if defined(__cplusplus) || defined(c_plusplus)
 extern "C" {
 #endif
+
+#define ASTNUMLOGLEVELS 32
 
 /*!
  * \since 1.8

Modified: trunk/main/syslog.c
URL: 
http://svnview.digium.com/svn/asterisk/trunk/main/syslog.c?view=diff&rev=430508&r1=430507&r2=430508
==============================================================================
--- trunk/main/syslog.c (original)
+++ trunk/main/syslog.c Mon Jan 12 12:01:46 2015
@@ -163,8 +163,16 @@
 
 int ast_syslog_priority_from_loglevel(int level)
 {
+       /* First 16 levels are reserved for system use.
+        * Default to using LOG_NOTICE for dynamic logging.
+        */
+       if (level >= 16 && level < ASTNUMLOGLEVELS) {
+               return LOG_NOTICE;
+       }
+
        if (level < 0 || level >= ARRAY_LEN(logger_level_to_syslog_map)) {
                return -1;
        }
+
        return logger_level_to_syslog_map[level];
 }


-- 
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

svn-commits mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/svn-commits

Reply via email to