summaryrefslogtreecommitdiff
path: root/main
AgeCommit message (Collapse)Author
2017-11-06CLI: Remove unused internal command.Corey Farrell
The internal CLI command "_command complete" was last used by Asterisk 0.2.0. Since then we've been using "_command nummatches" and "_command matchesarray". Change-Id: I682fe1e21a24a3bb5bd04146e639f1c5866bcfce
2017-11-06Merge "dtls: Add support for ephemeral DTLS certificates." into 15Jenkins2
2017-11-06Merge "Stasis/ARI: Fix off-nominal path json memory leaks." into 15Jenkins2
2017-11-06Merge "AOC: Fix AOC-S json memory leak." into 15Joshua Colp
2017-11-06dtls: Add support for ephemeral DTLS certificates.Sean Bright
This mimics the behavior of Chrome and Firefox and creates an ephemeral X.509 certificate for each DTLS session. Currently, the only supported key type is ECDSA because of its faster generation time, but other key types can be added in the future as necessary. ASTERISK-27395 Change-Id: I5122e5f4b83c6320cc17407a187fcf491daf30b4
2017-11-03Stasis/ARI: Fix off-nominal path json memory leaks.Richard Mudgett
Change-Id: Id569c624c426e3b22a99936473c730592d8b83fb
2017-11-03AOC: Fix AOC-S json memory leak.Richard Mudgett
Change-Id: I3a1d40a41a8a7d00fa4a187de6a343a79155d3ef
2017-11-03Build System: Fix build failure caused by recent CLI improvements.Corey Farrell
We use the editline library to help with filename completion in our CLI interface. Some systems failed to find the header when included from loader.c. This is fixed by setting the proper CFLAGS for the build of loader.o. ASTERISK-27378 Change-Id: Ib7fd496f1d7ed48141a2eadd5dd61cab2f2308be
2017-11-03Merge "Modules: Additional improvements to CLI completion." into 15Joshua Colp
2017-11-02Modules: Additional improvements to CLI completion.Corey Farrell
Replace 'needsreload' argument with a 'type' argument to specify which type of modules you want completion. This provides more accurate CLI completion for load and unload commands. * 'module unload' now excludes modules that have active references or are not running. * 'module load' now excludes modules that are already running. * 'core set debug [atleast] <level> [module]' shows running modules only. ASTERISK-27378 Change-Id: Iea3e00054461484196c46f688f02635cc886bad1
2017-11-02core: Don't attempt to write to a stream that does not exist.Joshua Colp
When a frame is provided to ast_write ensure that a multistream capable channel has a stream for it before attempting to give it to the channel driver. In some cases (such as a deferred SDP negotiation) the stream may not yet exist. ASTERISK-27364 Change-Id: Icf84ca982a67cdd6e9a71851eb7eb1bd0e865276
2017-10-31features: Bridge application's BRIDGERESULT not appropriately setKevin Harwell
The dialplan application "Bridge" was not setting the BRIDGERESULT to failure when a failure did occur. Even worse if it did fail to join the bridge it would still report success. This patch now sets the BRIDGERESULT variable to an appropriate value for a given condition state. Also, removed the value INCOMPATIBLE as a valid result type since it is no longer used. ASTERISK-27369 #close Change-Id: I22588e7125a765edf35cff28c98ca143e9927554
2017-10-31Merge "core / pjsip: Add support for grouping streams together." into 15Jenkins2
2017-10-31Merge "Build System: Fix --disable-xmldoc option." into 15Jenkins2
2017-10-30core / pjsip: Add support for grouping streams together.Joshua Colp
In WebRTC streams (or media tracks in their world) can be grouped together using the mslabel. This informs the browser that each should be synchronized with each other. This change extends the stream API so this information can be stored with streams. The PJSIP support has been extended to use the mslabel to determine grouped streams and store this association on the streams. Finally when creating the SDP the group information is used to cause each media stream to use the same mslabel. ASTERISK-27379 Change-Id: Id6299aa031efe46254edbdc7973c534d54d641ad
2017-10-30Modules: Fix issues with CLI completion.Corey Farrell
* Stop using ast_module_helper to check if a module is loaded, use ast_module_check instead (app_confbridge and app_meetme). * Stop ast_module_helper from listing reload classes when needsreload was not requested. ASTERISK-27378 Change-Id: Iaed8c1e4fcbeb242921dbac7929a0fe75ff4b239
2017-10-26codec.c: Defensively check the returned samples.Richard Mudgett
Earlier versions of the codec_opus samples_count callback can return negative error values on undecodable frames. This resulted in a divide by zero exception. * Added a defensive check in ast_codec_samples_count() for a "negative" samples count return value. Log the event and set the count to zero. ASTERISK-27194 Change-Id: Icf69350307ecbbc80a3d74de46af9bd80ea17819
2017-10-25Merge "http.c: Fix http header send content." into 15George Joseph
2017-10-25http.c: Fix http header send content.Ben Ford
Currently ast_http_send barricades a portion of the content that needs to be sent in order to establish a connection for things like the ARI client. The conditional and contents have been changed to ensure that everything that needs to be sent, will be sent. ASTERISK-27372 Change-Id: I8816d2d8f80f4fefc6dcae4b5fdfc97f1e46496d
2017-10-25Build System: Fix --disable-xmldoc option.Corey Farrell
The configure option to disable XML documentation does not currently work. This patch makes it effective, but also causes an ABI change by removing the ast_xmldoc_* symbols. Disabling xmldoc also prevents docs from being automatically generated, but they can still be manually generated with 'make doc/core-en_US.xml'. ASTERISK-26639 Change-Id: Ifac562340c09f80c83e0203de098fcac93bf8c44
2017-10-25Merge "hashtab: Use ast_free." into 15Joshua Colp
2017-10-23hashtab: Use ast_free.Corey Farrell
A few places in hashtab use free instead of ast_free, remove declaration of ASTMM_LIBC from hashtab.c as it's no longer needed. Change-Id: I2ff089bad71640c03c3ce97f1b00fc962ef79427
2017-10-23main/Makefile: Remove rule for non-existant testexpr2.Corey Farrell
Change-Id: Ibb3e47f27a395d74d8c5263db015b05434f5969b
2017-10-16cdr.c: Rename the Party A CDR container.Richard Mudgett
* Rename the Party A CDR container from active_cdrs_by_channel to active_cdrs_master. * Renamed the support functions associated with active_cdrs_master appropriately. ASTERISK-27335 Change-Id: I6104bb3edc3a0b7243ce502e45e8832b0cff14f7
2017-10-16cdr.c: Add container to key off of Party B channel names.Richard Mudgett
The CDR performance gets worse the further it gets behind in processing stasis messages. One of the reasons is because of a n*m loop used when processing Party B information. * Added a new CDR container that is keyed to Party B so we don't need such a large loop when processing Party B information. NOTE: To reduce the size of the patch I deferred to another patch the renaming of the Party A active_cdrs_by_channel container to active_cdrs_master and renaming the container's hash and cmp functions appropriately. ASTERISK-27335 Change-Id: I0bf66e8868f8adaa4b5dcf9e682e34951c350249
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-16Merge "cdr.c: Eliminated many calls to ao2_global_obj_ref()." into 15Joshua Colp
2017-10-15Merge "ast_bt_get_symbols: Prevent double-free." into 15Joshua Colp
2017-10-15Merge "tcptls: NULL-check the parameter of ast_ssl_teardown before accessing ↵Joshua Colp
it." into 15
2017-10-13Merge "cdr.c: Defer getting ao2_global_obj_ref() until needed." into 15Jenkins2
2017-10-13Merge "cdr.c: Set stringfields only if they are different." into 15Jenkins2
2017-10-13Merge "cdr.c: Fix setting dnid, callingsubaddr, and calledsubaddr" into 15Jenkins2
2017-10-13ast_bt_get_symbols: Prevent double-free.Corey Farrell
It's possible for bfdobj to be created but syms not created. If syms was not allocated in the current loop iteration but was allocated in the previous iteration it would crash. ASTERISK-27340 Change-Id: I5b110c609f6dfe91339f782a99a431bca5837363
2017-10-13tcptls: NULL-check the parameter of ast_ssl_teardown before accessing it.Alexander Traud
This avoids a crash on stopping a chan_sip which failed to start its TLS server. ASTERISK-27339 #close Change-Id: I327fc70db68eaaca5b50a15c7fd687fde79263d5
2017-10-12cdr.c: Eliminated many calls to ao2_global_obj_ref().Richard Mudgett
The CDR performance gets worse the further it gets behind in processing stasis messages. One of the reasons is we were getting the global config to determine if we needed to log a debugging message. * Many calls to ao2_global_obj_ref() were just so we could determine if debug mode is enabled. Made a global flag to check instead. * Eliminated many RAII_VAR() usages associated with the remaining ao2_global_obj_ref() calls. * Added missing NULL checks for the returned ao2_global_obj_ref() value. ASTERISK-27335 Change-Id: Iceaad93172862f610cad0188956634187bfcc7cd
2017-10-12cdr.c: Defer getting ao2_global_obj_ref() until needed.Richard Mudgett
The CDR performance gets worse the further it gets behind in processing stasis messages. One of the reasons is we were getting the global config even if we didn't need it. * Most uses of the global config were only needed on off nominal code paths so it makes sense to not get it until absolutely needed. ASTERISK-27335 Change-Id: I00c63b7ec233e5bfffd5d976f05568613d3c2365
2017-10-12cdr.c: Set stringfields only if they are different.Richard Mudgett
The CDR performance gets worse the further it gets behind in processing stasis messages. One of the reasons is we were repeatedly setting string fields to potentially the same string in base_process_party_a(). Setting a string field involves allocating room for the new string out of a memory pool which may have to allocate even more memory. * Check to see if the string field is already set to the desired string. ASTERISK-27335 Change-Id: I3ccb7e23f1488417e08cafe477755033eed65a7c
2017-10-12cdr.c: Fix setting dnid, callingsubaddr, and calledsubaddrRichard Mudgett
The string comparisons for setting these CDR variables was inverted. We were repeatedly setting these CDR variables only if the channel snapshots had the same value. ASTERISK-27335 Change-Id: I9482073524411e7ea6c03805b16de200cb1669ea
2017-10-12features, manager : Add CancelAtxfer AMI actionThomas Sevestre
Add action to cancel feature attended transfer with AMI interface ASTERISK-27215 #close Change-Id: Iab8a81362b5a1757e2608f70b014ef863200cb42
2017-10-12Merge "sorcery: Use ao2_weakproxy to hold list of instances." into 15Jenkins2
2017-10-12Merge "named_locks: Use ao2_weakproxy_find." into 15Jenkins2
2017-10-12Merge "astobj2: Add ao2_weakproxy_find function." into 15Joshua Colp
2017-10-12Merge "astobj2: Run weakproxy callbacks outside of lock." into 15Jenkins2
2017-10-11cdr.c: Defer misc checks.Richard Mudgett
Try to defer some checks until needed in case there is an early exit. Change-Id: Ibc6b34c38a4f60ad4f9b67984b7d070a07257064
2017-10-11sorcery: Use ao2_weakproxy to hold list of instances.Corey Farrell
Store weak proxy objects in instances container. Change-Id: I5a150a4e13cee319d46b5a4654f95a4623a978f8
2017-10-10named_locks: Use ao2_weakproxy_find.Corey Farrell
Change-Id: I0ce8a1b7101b6caac6a19f83a89f00eaba1e9d9c
2017-10-10astobj2: Add ao2_weakproxy_find function.Corey Farrell
This function finds a weak proxy in an ao2_container and returns the real object associated with it. Change-Id: I9da822049747275f5961b5c0a7f14e87157d65d8
2017-10-10astobj2: Run weakproxy callbacks outside of lock.Corey Farrell
Copy the list of weakproxy callbacks to temporary memory so they can be run without holding the weakproxy lock. Change-Id: Ib167622a8a0f873fd73938f7611b2a5914308047
2017-10-10cdr.c: Eliminated simple RAII_VAR usages.Richard Mudgett
Change-Id: I150505db307249a962987e7b941bdd369bb91f35
2017-10-10Merge "tcptls: Do not re-bind to wildcard on client creation." into 15Jenkins2