asterisk/res
Russell Bryant 4cf8a968fd Add an API for reporting security events, and a security event logging module.
This commit introduces the security events API.  This API is to be used by
Asterisk components to report events that have security implications.
A simple example is when a connection is made but fails authentication.  These
events can be used by external tools manipulate firewall rules or something
similar after detecting unusual activity based on security events.

Inside of Asterisk, the events go through the ast_event API.  This means that
they have a binary encoding, and it is easy to write code to subscribe to these
events and do something with them.

One module is provided that is a subscriber to these events - res_security_log.
This module turns security events into a parseable text format and sends them
to the "security" logger level.  Using logger.conf, these log entries may be
sent to a file, or to syslog.

One service, AMI, has been fully updated for reporting security events.
AMI was chosen as it was a fairly straight forward service to convert.
The next target will be chan_sip.  That will be more complicated and will
be done as its own project as the next phase of security events work.

For more information on the security events framework, see the documentation
generated from doc/tex/.  "make asterisk.pdf"

Review: https://reviewboard.asterisk.org/r/273/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@206021 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-11 19:15:03 +00:00
..
ael fixes some memory leaks and redundant conditions 2009-06-18 16:37:42 +00:00
ais Merge the new Channel Event Logging (CEL) subsystem. 2009-06-26 15:28:53 +00:00
snmp Convert the ast_channel data structure over to the astobj2 framework. 2009-04-24 14:04:26 +00:00
Makefile Make res_config_ldap compile with the official OpenLDAP 2.3.X versions. 2008-11-28 14:20:11 +00:00
res_adsi.c Create a new config file status, CONFIG_STATUS_FILEINVALID for differentiating 2008-09-12 23:30:03 +00:00
res_adsi.exports Merged revisions 182808 via svnmerge from 2009-03-18 02:21:23 +00:00
res_ael_share.c remove a bunch of useless #include "options.h" 2007-11-21 23:09:02 +00:00
res_ael_share.exports allow this module to export everything for now 2009-03-18 21:28:28 +00:00
res_agi.c Merge the new Channel Event Logging (CEL) subsystem. 2009-06-26 15:28:53 +00:00
res_agi.exports Redesigned 'optional API' support. 2009-06-15 16:07:23 +00:00
res_ais.c Mark res_ais as experimental, as the binary event format is subject to change. 2009-02-27 21:47:18 +00:00
res_calendar.c Merge the new Channel Event Logging (CEL) subsystem. 2009-06-26 15:28:53 +00:00
res_calendar.exports Add Calendaring support for Asterisk 2009-05-28 19:57:18 +00:00
res_calendar_caldav.c More 'static' qualifiers on module global variables. 2009-06-15 17:34:30 +00:00
res_calendar_exchange.c More 'static' qualifiers on module global variables. 2009-06-15 17:34:30 +00:00
res_calendar_icalendar.c More 'static' qualifiers on module global variables. 2009-06-15 17:34:30 +00:00
res_clialiases.c Make the code that prevents an infinite loop from happening into a case insensitive check. 2009-05-06 16:09:27 +00:00
res_clioriginate.c Add new ast_complete_applications function so that we can use it with the 2009-05-26 14:36:11 +00:00
res_config_curl.c Merge str_substitution branch. 2009-04-29 18:53:01 +00:00
res_config_ldap.c fixes some memory leaks and redundant conditions 2009-06-18 16:37:42 +00:00
res_config_odbc.c Fix 2 typos and add support for wide character types. 2009-06-19 15:47:55 +00:00
res_config_pgsql.c More 'static' qualifiers on module global variables. 2009-06-15 17:34:30 +00:00
res_config_sqlite.c a few more namespace updates... res_ael_share still needs some work before this can be merged to other release branches 2009-03-18 02:39:36 +00:00
res_convert.c Merged revisions 196826 via svnmerge from 2009-05-26 18:20:57 +00:00
res_crypto.c Move OpenSSL initialization to a single place, make library usage thread-safe. 2009-07-08 15:17:19 +00:00
res_curl.c a few more namespace updates... res_ael_share still needs some work before this can be merged to other release branches 2009-03-18 02:39:36 +00:00
res_features.exports Merged revisions 182808 via svnmerge from 2009-03-18 02:21:23 +00:00
res_http_post.c Support HTTP digest authentication for the http manager interface. 2009-04-23 20:36:35 +00:00
res_jabber.c Move OpenSSL initialization to a single place, make library usage thread-safe. 2009-07-08 15:17:19 +00:00
res_jabber.exports a few more namespace updates... res_ael_share still needs some work before this can be merged to other release branches 2009-03-18 02:39:36 +00:00
res_limit.c Const-ify the world (or at least a good part of it) 2009-05-21 21:13:09 +00:00
res_monitor.c Redesigned 'optional API' support. 2009-06-15 16:07:23 +00:00
res_monitor.exports Redesigned 'optional API' support. 2009-06-15 16:07:23 +00:00
res_musiconhold.c Merged revisions 201600 via svnmerge from 2009-06-18 15:27:10 +00:00
res_odbc.c Const-ify the world (or at least a good part of it) 2009-05-21 21:13:09 +00:00
res_odbc.exports 2 symbols defined when DEBUG_THREADS 2009-03-19 17:00:13 +00:00
res_phoneprov.c Move function PP_EACH_USER and PP_EACH_EXTENSION documentation to XML. 2009-06-06 22:45:42 +00:00
res_realtime.c Fix the build 2008-12-17 21:29:30 +00:00
res_rtp_asterisk.c Merged revisions 205471 via svnmerge from 2009-07-08 23:19:09 +00:00
res_rtp_multicast.c Add support for multicast RTP paging. 2009-06-25 18:25:24 +00:00
res_security_log.c Add an API for reporting security events, and a security event logging module. 2009-07-11 19:15:03 +00:00
res_smdi.c Show the interface name on error, if it is not found. 2009-06-16 12:32:00 +00:00
res_smdi.exports Redesigned 'optional API' support. 2009-06-15 16:07:23 +00:00
res_snmp.c More 'static' qualifiers on module global variables. 2009-06-15 17:34:30 +00:00
res_speech.c Const-ify the world (or at least a good part of it) 2009-05-21 21:13:09 +00:00
res_speech.exports Merged revisions 182808 via svnmerge from 2009-03-18 02:21:23 +00:00
res_timing_dahdi.c module load priority 2009-06-09 16:22:04 +00:00
res_timing_pthread.c module load priority 2009-06-09 16:22:04 +00:00
res_timing_timerfd.c module load priority 2009-06-09 16:22:04 +00:00