asterisk/res/res_pjsip
Joshua Colp 64c172deba res_pjsip: Move URI validation to use time.
In a realtime based system with a limited number of threadpool threads
it is possible for a deadlock to occur. This happens when permanent
endpoint state is updated, which will cause database queries to be done.
These queries may result in URI validation being done which is done
synchronously using a PJSIP thread. If all PJSIP threads are in use
processing traffic they themselves may be blocked waiting to get the
permanent endpoint container lock when identifying an endpoint.

This change moves URI validation to occur at use time instead of
configuration time. While this comes at a cost of not seeing a problem
until you use it it does solve the underlying deadlock problem.

ASTERISK-25486 #close

Change-Id: I2d7d167af987d23b3e8199e4a68f3359eba4c76a
2015-10-21 12:36:06 -05:00
..
include res_pjsip: Remove outgoing authentication code no longer needed. 2015-06-02 13:11:31 -05:00
config_auth.c res_pjsip: make it unloadable (take 2) 2015-01-27 19:12:56 +00:00
config_domain_aliases.c res_pjsip: Move internal init/destroy prototypes to private header file. 2015-03-11 16:39:29 +00:00
config_global.c res_pjsip: Copy default_from_user to avoid crash. 2015-09-10 09:55:00 -05:00
config_system.c res_pjsip: add CLI command to show global and system configuration 2015-04-09 22:07:50 +00:00
config_transport.c clang compiler warnings: Fix -Winitializer-overrides 2015-03-28 12:32:42 +00:00
location.c res_pjsip: Move URI validation to use time. 2015-10-21 12:36:06 -05:00
pjsip_cli.c res_pjsip: Add "pjsip show version" CLI command. 2015-02-15 16:01:09 +00:00
pjsip_configuration.c res_pjsip: Move URI validation to use time. 2015-10-21 12:36:06 -05:00
pjsip_distributor.c DNS: Need to use the same serializer for a pjproject SIP transaction. 2015-06-10 19:22:13 -05:00
pjsip_global_headers.c res_pjsip: Fixed invalid empty Server and User-Agent SIP headers. 2015-03-11 15:22:01 +00:00
pjsip_options.c Fixes for OS X 2015-06-05 11:23:16 -05:00
pjsip_resolver.c DNS: Need to use the same serializer for a pjproject SIP transaction. 2015-06-10 19:22:13 -05:00
presence_xml.c res_pjsip: Ensure sanitized XML is NULL terminated. 2015-08-06 05:20:47 -05:00
security_events.c git migration: Refactor the ASTERISK_FILE_VERSION macro 2015-04-13 03:48:57 -04:00