summaryrefslogtreecommitdiff
path: root/res
AgeCommit message (Collapse)Author
2017-11-07res_pjproject.c: Fix ast_strdup() alloc failure.Richard Mudgett
Change-Id: I74688038e7afe3a279359cce53aadb28ade51ead
2017-11-07Merge "Fix ast_(v)asprintf() malloc failure usage conditions." into 13Jenkins2
2017-11-06res_pjsip_outbound_registration: Fix leak on vector add failure.Corey Farrell
Change-Id: I774b88b3c9da41edd4dc8d78f095481f52f2bd46
2017-11-06res_pjsip_config_wizard: Fix leaks and add check for malloc failure.Corey Farrell
wizard_apply_handler(): - Free host if we fail to add it to the vector. wizard_mapped_observer(): - Check for otw allocation failure. - Free otw if we fail to add it to the vector. Change-Id: Ib5d3bcabbd9c24dd8a3c9cc692a794a5f60243ad
2017-11-06res_pjsip: Fix leak on error in ast_sip_auth_vector_init.Corey Farrell
Change-Id: Ib0fc7a18f3135ca8990c3984c9e15f6d26e556e8
2017-11-06res_pjproject: Handle error from adding to the buildopts vector.Corey Farrell
Change-Id: I076c7bd207c7989a23005395ce1735392657be65
2017-11-06res_pjsip_pubsub: Ensure remote URI contains URI only.Joshua Colp
This change makes it so that any user of the pubsub API that requests the remote URI receives only the URI. Previously the entire string was returned, which could contain a display name. ASTERISK-27290 Change-Id: If1d0cd6630f0a264856d31d2a67933109187a017
2017-11-06stasis/app.c: Optimize stasis_app_get_debug_by_name()Richard Mudgett
* Eliminate RAII_VAR() * Short circuit application name lookup if global debug enabled. Change-Id: I5f78b7bd6ca7fd2c3b07cbbe036c6a93b4681123
2017-11-06Fix ast_(v)asprintf() malloc failure usage conditions.Richard Mudgett
When (v)asprintf() fails, the state of the allocated buffer is undefined. The library had better not leave an allocated buffer as a result or no one will know to free it. The most likely way it can return failure is for an allocation failure. If the printf conversion fails then you actually have a threading problem which is much worse because another thread modified the parameter values. * Made __ast_asprintf()/__ast_vasprintf() set the returned buffer to NULL on failure. That is much more useful than either an uninitialized pointer or a pointer that has already been freed. Many uses won't have to check for failure to ensure that the buffer won't be double freed or prevent an attempt to free an uninitialized pointer. * stasis.c: Fixed memory leak in multi_object_blob_to_ami() allocated by ast_asprintf(). * ari/resource_bridges.c:ari_bridges_play_helper(): Remove assignment to the wrong thing which is now not needed even if assigning to the right thing. Change-Id: Ib5252fb8850ecf0f78ed0ee2ca0796bda7e91c23
2017-11-06Merge "Prevent unload of modules which implement an Optional API." into 13Jenkins2
2017-11-06Merge "Add missing menuselect dependencies." into 13Jenkins2
2017-11-06Merge "Stasis/ARI: Fix off-nominal path json memory leaks." into 13Joshua Colp
2017-11-06res_pjsip: Ignore empty TLS configurationSean Bright
When using realtime, fields that are not explicitly set by an administrator are still presented to sorcery as empty strings. Handle this case explicitly. In this particular case, if any of these fields are required for TLS support, their existence should be validated in the 'apply' handler once we have a complete transport definition. ASTERISK-27032 #close Reported by: seanchann.zhou Change-Id: Ie3b5fb421977ccdb33e415d4ec52c3fd192601b7
2017-11-06Merge "res_stasis_mailbox.c: Fix leak of mailbox container." into 13Jenkins2
2017-11-03Stasis/ARI: Fix off-nominal path json memory leaks.Richard Mudgett
Change-Id: Id569c624c426e3b22a99936473c730592d8b83fb
2017-11-03res_stasis_device_state.c: Optimize stasis_app_device_states_to_json()Richard Mudgett
* Eliminate RAII_VAR() * Replace looped alloca with a char[] since that is how it is used anyway. Change-Id: Ia27e64a884afa0f50b9ffdb1cf23da6bfa51ffdf
2017-11-03res_stasis_mailbox.c: Fix leak of mailbox container.Richard Mudgett
Change-Id: I7d33c1635713047e7d1597c9d882f7dc006d94b4
2017-11-03Merge "res_pjsip: Add to list of valid characters for from_user." into 13Joshua Colp
2017-11-02res_pjsip: Add to list of valid characters for from_user.Ben Ford
Fixes a regression where some characters were unable to be used in the from_user field of an endpoint. Additionally, the backtick was removed from the list of valid characters, since it is not valid, and it was replaced with a single quote, which is a valid character. ASTERISK-27387 Change-Id: Id80c10a644508365c87b3182e99ea49da11b0281
2017-11-02Add missing menuselect dependencies.Corey Farrell
This adds menuselect dependencies for modules that use symbols of other modules. ASTERISK-27390 Change-Id: Ia2d2849f5b87a72af7324a82edc3f283eafb5385
2017-11-01Prevent unload of modules which implement an Optional API.Corey Farrell
Once an Optional API module is loaded it should stay loaded. Unloading an optional API module runs the risk of a crash if something else is using it. This patch causes all optional API providers to tell the module loader not to unload except at shutdown. ASTERISK-27389 Change-Id: Ia07786fe655681aec49cc8d3d96e06483b11f5e6
2017-11-01pjsip_message_filter: Only do interface lookup for wildcard addresses.Sean Bright
Change-Id: Ie083987e69dc43b6861671c218cacacc11b2072f
2017-10-27res_pjsip_pubsub: Resolve potential crash in allocate_subscription.Corey Farrell
When allocate_subscription fails to initialize fields of the new sub it calls destroy_subscription. Change-Id: I5b79c915ec216dc00c13c1e4172137864a4bec85
2017-10-26Merge "res_pjsip: Add 'ip' as a valid option to 'identify_by' on endpoint." ↵Joshua Colp
into 13
2017-10-25res_pjsip: Add 'ip' as a valid option to 'identify_by' on endpoint.Joshua Colp
When the identify_by option on an endpoint is set to ip it will only be identified using the res_pjsip_endpoint_identifier_ip module. This ensures that it is not mistakenly matched using the username of the From header. To ensure behavior has not changed the default has been changed to "username,ip" for the identify_by option. ASTERISK-27206 Change-Id: I2170b86a7f7e221b4f00bf14aa1ef1ac5b050bbd
2017-10-25Merge "res_pjsip_sdp_rtp: Fix setting of address type for rtp_ipv6" into 13Jenkins2
2017-10-23res_pjsip_sdp_rtp: Fix setting of address type for rtp_ipv6George Joseph
create_outgoing_sdp_stream was setting "addr_type = STR_IP6" only when an ipv6 media_address was specified on the endpoint. If rtp_ipv6 was set and ast_sip_get_host_ip_string returned an ipv6 address, we were leaving the addr_type set at the default of STR_IP4. This caused the address type to be set incorrectly on the "o" and "c" SDP attributes even though the address was set correctly. Some clients don't like the mismatch. * Removed the test for endpoint/media_address and now check all addresses for ipv6. ASTERISK-27198 Reported by: Martin Cisárik Change-Id: I5214fc31b728117842243807e7927a319cf77592
2017-10-22res_xmpp: Ensure the connection filter is available.Joshua Colp
Users of the API that res_xmpp provides expect that a filter be available on the client at all times. When OAuth authentication support was added this requirement was not maintained. This change merely moves the OAuth authentication to after the filter is created, ensuring users of res_xmpp can add things to the filter as needed. ASTERISK-27346 Change-Id: I4ac474afe220e833288ff574e32e2b9a23394886
2017-10-19res_pjsip_pubsub: Prevent unload except during shutdown.Corey Farrell
Prevent unload of the module as certain pjsip initialization functions cannot be reversed. This required a reorder of the module_load so that the non-reversable pjsip functions are not called until all potential errors have been ruled out. ASTERISK-24483 Change-Id: Iee900f20bdd6ee1bfe23efdec0d87765eadce8a7
2017-10-18res_pjsip_refer: Prevent unload except during shutdown.Corey Farrell
Prevent unload of the module as certain pjsip initialization functions cannot be reversed. ASTERISK-24483 Change-Id: I94597ec8b8491f5af9c57bf66dbc3b078fe2d49d
2017-10-17Merge "res_pjsip_session: Rewrite o= with external_media_address." into 13Jenkins2
2017-10-16declare optional openssl dependencies in moduleinfoTzafrir Cohen
Declare optional openssl dependencies in: * res_rtp_asterisk.c * tcptls.c ASTERISK-27328 #close Change-Id: I2636f1c05b8104b4fe6f36cce0ebd9a98b9c78ab
2017-10-14res_pjsip_session: Rewrite o= with external_media_address.Alexander Traud
PJSIP allows a domain name as external_media_address. This allows chan_pjsip to be used behind a NAT with changing IP addresses. The IP address of that domain is resolved to the c= line already. This change sets also the o= line to that domain. ASTERISK-27341 #close Change-Id: I690163b6e762042ec38b3995aa5c9bea909d8ec4
2017-10-12Merge "res_pjsip_session: Prevent user=phone being added to anonimized ↵Jenkins2
URIs." into 13
2017-10-12res_pjsip_session: Prevent user=phone being added to anonimized URIs.Daniel Tryba
Move ast_sip_add_usereqphone to be called after anonymization of URIs, to prevent the user_eq_phone adding "user=phone" to URIs containing a username that is not a phonenumber (RFC3261 19.1.1). An extra call to ast_sip_add_usereqphone on the saved version before anonymization is added to add user=phone" to the PAI. ASTERISK-27047 #close Change-Id: Ie5644bc66341b86dc08b1f7442210de2e6acdec6
2017-10-11res_pjsip: Prevent "user=phone" being added multiple times to headerDaniel Tryba
ast_sip_add_usereqphone adds "user=phone" to the header every time is is called without checking whether the param already exists. Preventing this by searching to string representation of header for "user=phone". ASTERISK-26988 #close Change-Id: Ib84383b07254de357dc6a98d91fc1d2c2c3719e6
2017-10-11Merge "res_pjsip_registrar.c: Update remove_existing AOR contact handling." ↵Jenkins2
into 13
2017-10-09res_pjproject: Fix cleanup of buildopts vector.Corey Farrell
ASTERISK-27306 Change-Id: I3bed0edf3f55b1d4adcbabb25ec14f11dc766c72
2017-10-09Merge "res_pjsip: Fix issues that prevented shutdown of modules." into 13Jenkins2
2017-10-09Merge "res_pjsip: Fix leak of persistent endpoint references." into 13Jenkins2
2017-10-09res_pjsip_registrar.c: Update remove_existing AOR contact handling.Richard Mudgett
When "rewrite_contact" is enabled, the "max_contacts" count option can block re-registrations because the source port from the endpoint can be random. When the re-registration is blocked, the endpoint may give up re-registering and require manual intervention. * The "remove_existing" option now allows a registration to succeed by displacing any existing contacts that now exceed the "max_contacts" count. Any removed contacts are the next to expire. The behaviour change is beneficial when "rewrite_contact" is enabled and "max_contacts" is greater than one. The removed contact is likely the old contact created by "rewrite_contact" that the device is refreshing. ASTERISK-27192 Change-Id: I64c107a10b70db1697d17136051ae6bf22b5314b
2017-10-09res_pjsip: Fix issues that prevented shutdown of modules.Corey Farrell
res_pjsip and res_pjsip_session had circular references, preventing both modules from shutting down. * Move session supplement registration to res_pjsip. * Use create internal functions for use by pjsip_message_filter.c. ASTERISK-27306 Change-Id: Ifbd5c19ec848010111afeab2436f9699da06ba6b
2017-10-08res/res_ari.c Fix: Memory leaks in ARI when using Content-Type: application/jsonhajekd
ASTERISK-27305 Reported by: David Hajek Tested by: David Hajek Change-Id: Ife3e289062e6cf7d0e7d342dbf79ed96feff441e
2017-10-06res_pjsip: Fix leak of persistent endpoint references.Corey Farrell
Do not manually call sip_endpoint_apply_handler from load_all_endpoints. This is not necessary and causes memory leaks. Additionally reinitialize persistent->aors when we reuse a persistent object with a new endpoint. ASTERISK-27306 Change-Id: I59bbfc8da8a14d5f4af8c5bb1e71f8592ae823eb
2017-10-06Merge "res_pjsip: Fix leak of fake_auth references." into 13Jenkins2
2017-10-06Merge "res_pjsip_caller_id chan_sip: Comply to RFC 3323 values for privacy" ↵Jenkins2
into 13
2017-10-06res_pjsip: Fix leak of fake_auth references.Corey Farrell
pjsip_distributor leaks references to fake_auth when the default realm has not changed. ASTERISK-27306 Change-Id: I3fcf103b3680ad2d1d4610dcd6738eeaebf4d202
2017-10-04res_calendar_icalendar: Filter out occurrences superceded by another VEVENTkrells
When we are loading the calendars, we call libical's icalcomponent_foreach_recurrence method for each VEVENT component that we have in our calendar. That method has no knowledge concerning the existence of the other VEVENT components and will feed our callback with all ocurrences matching the requested time span. The occurrences generated by icalcomponent_foreach_recurrence while expanding a recurring VEVENT's RRULE and RDATE properties can be superceded by an other VEVENT sharing the same UID. I use an external iterator (in libical terminology) to avoid messing with the internal ones from the calling function, and search for VEVENTS which could supersede the current occurrence. The event which can invalidate this occurence needs to have: - the same UID as our recurrent component (comp) - a RECURRENCE-ID property, which represents the start time of this occurrence If one component is found, just clean and return. ASTERISK-27296 #close Reported by: Benoît Dereck-Tricot Change-Id: I8587ae3eaa765af7cb21eda3b6bf84e8a1c87af8
2017-10-03res_pjsip_caller_id chan_sip: Comply to RFC 3323 values for privacyDaniel Tryba
Currently privacy requests are only granted if the Privacy header value is exactly "id" (defined in RFC 3325). It ignores any other possible value (or a combination there of). This patch reverses the logic from testing for "id" to grant privacy, to testing for "none" and granting privacy for any other value. "none" must not be used in combination with any other value (RFC 3323 section 4.2). ASTERISK-27284 #close Change-Id: If438a21f31a962da32d7a33ff33bdeb1e776fe56
2017-09-28Merge "pjsip_message_filter: Fix regression causing bad contact address" into 13Jenkins2