Make compiler check use the output of the actual compiler being
used as reported by the CC variable, instead of unconditionally
running the "gcc" binary. Also only run the check if the compiler
is gcc or a cross-compile gcc.
ASTERISK-28374
Change-Id: Icaacf6d93686ad21076878aa1504a23b4fc9d0f4
We changed the validation of autocomplete parameter in the "indications
remove" command to avoid continue the execution of the command after
asking for autocomplete out of range parameters.
ASTERISK-28391
Reported by: lmendes86
Change-Id: I92b24131fd02f2e3c7fec966eea6f7a663310d40
Added a new PJSIP global setting called norefersub.
Default is true to keep support working as before.
res_pjsip_refer: Configures PJSIP norefersub capability accordingly.
Checks the PJSIP global setting value.
If it is true (default) it adds the norefersub capability to PJSIP.
If it is false (disabled) it does not add the norefersub capability
to PJSIP.
This is useful for Cisco switches that do not follow RFC4488.
ASTERISK-28375 #close
Reported-by: Dan Cropp
Change-Id: I0b1c28ebc905d881f4a16e752715487a688b30e9
Currently, the "stasis show app" cli doesn't give detail
of subscription/subscriber information.
Added more printings to show details.
ASTERISK-28378
Change-Id: If25a6f14fe4f622bfb37462e891333da1fdf875f
One of the downaides of having things like test configuration
in the git repo is that it can't be changed at runtime. You have
to create a review for the changes and merge it mefore it will
take effect.
This review moves the data currently held in
tests/CI/periodic-dailyTestGroups.json and
tests/CI/gateTestGroups.json into a Jenkins Config File attached
to the job definitions. This allows us to alter it from the
Jenkins UI at runtime. The original files stay in the repo
as documentation.
Change-Id: I14b9702f6285ce1fb2420287ba0e7d3b59109763
Because the per-mailbox options are the last thing on a line, don't look
for or stomp on any subsequent commas.
ASTERISK-27935 #close
Reported by: Sébastien Duthil
Change-Id: I07b2eb4a33c303d0c7114d5b906f8c067c60a153
Because hyphens are not matched literally in Asterisk dialplan, we need
to ignore them in our candidate extensions as well.
ASTERISK-17695 #close
Reported by: test011
Change-Id: I227f02301577b1633e8a55b9fe9dc149935c03f0
If Asterisk crashes while a VM directory is locked, lock files in the VM
spool directory will not get properly cleaned up. We now clear them on
module load.
ASTERISK-20207 #close
Reported by: Steven Wheeler
Change-Id: If40ccd508e2f6e5ade94dde2f0bcef99056d0aaf
An earlier contributor apparently forgot to run 'make ari-stubs'
before committing after making ARI model changes.
Change-Id: I7813e5638e2821d11f4b968dc2aeab4f725190a6
Reset the internal counter that the AEL2 compiler uses for unique label
names before compiling. This keeps dialplan labels consistent across
reloads assuming the AEL2 has not changed.
ASTERISK-17799 #close
Reported by: Kirill Katsnelson
Change-Id: I30b3cc887d1ee0644d3f341e2fef16f525d7fae5
In AEL2, if a 'for' statement contains macro* calls, like:
for (&iterator(${TRY},A); "${A}" != ""; &iterate(A)) {
The AEL2 parser will translate these into calls to the deprecated Macro
dialplan application and use the antiquated pipe delimiter.
Instead, convert these into calls to the Gosub dialplan application and
use commas as argument separators.
ASTERISK-18593 #close
Reported by: Luke-Jr
* 'macro' in this context means AEL2 macros, not the 'Macro' application
Change-Id: I3d73716033b8e3e42e0209d355bf5f10c97045fc
When generating the regular expression that matches against existing
extensions, we need to escape literal characters that can also be
regular expression metacharacters. This was already being done for '*'
but we need to do the same for '+'.
In passing, remove some unreachable code - strcmp() is already run
immediately when entering extension_matches().
ASTERISK-14939 #close
Reported by: klaus3000
Change-Id: I8d2cccb3479168fba1b0a6704c52198b396468f1
If the target of a Goto is a label that starts with a number, we
erroneously treat the leading digits as a priority.
ASTERISK-20182 #close
Reported by: Janu
Change-Id: Ia78408c0805a729103917247ecfc802f6fafc94b
This changes the way that we handle adding changes to CHANGES and
UPGRADE.txt. The reason for this is because whenever someone needed to
make a change to one of these files and someone else had already done
so, you would run into merge conflicts. With this new setup, there will
never be merge conflicts since all changes will be documented in the
doc/<file>-staging directory. The release script is now responsible for
merging all of these changes into the appropriate files.
There is a special format that these files have to follow in order to be
parsed. The files do not need to have a meaningful name, but it is
strongly recommended. For example, if you made a change to pjsip, you
may have something like this "res_pjsip_relative_title", where
"relative_title" is something more descriptive than that. Inside each
file, you will need a subject line for your change, followed by a
description. There can be multiple subject lines. The file may look
something like this:
Subject: res_pjsip
Subject: Core
A description that explains the changes made and why. The release
script will handle the bulleting and section separators!
You can still separate with new lines within your
description.
The headers ("Subject" and "Master-Only") are case sensative, but the
value for "Master-Only" ("true" or "True") is not.
For more information, check out the wiki page:
https://wiki.asterisk.org/wiki/display/AST/CHANGES+and+UPGRADE.txt
ASTERISK-28111 #close
Change-Id: I19cf4b569321c88155a65e9b0b80f6d58075dd47
When extconfig.conf file is parsed, the code previously searched for
character comma without verifying if error (null or blank). This caused
a segmentation error.
Change-Id: Id76b452d8f330d11c2742c37232761ad71472a8b
When the dtmf_mode on an endpoint is configured as "auto_info"
Asterisk will produce an inband DTMF tone alongside an INFO
message when sending DTMF.
ASTERISK-28371
Change-Id: I1380b82f006e110a1b83fbb50c9873edd13a5d9a
Asterisk assumes that dlopen() will always run the constructor of a
shared library and every dlclose() will run its destructor. But dlopen()
may be permanent, meaning the constructor will only be run once, as is
the case with musl libc.
With a permanent dlopen() the Asterisk module loader does not work
correctly, because it's expectations regarding when the constructors and
destructors are run are not met. In fact a segmentation fault will occur
when the first module is "re-opened" that has AST_MODFLAG_GLOBAL_SYMBOLS
set (the dlopen() does not call the constructor, resource_being_loaded
is not set to NULL, then strlen is called with NULL instead of a string,
see issue ASTERISK-28319).
This commit adds code to the loader that will manually run the
constructors/destructors of the (non-builtin) modules where needed. To
achieve this a new ao2 container (linked list) is started and filled
with objects that contain the names of the modules and the pointers to
their respective info structs.
This behavior can be activated when configuring Asterisk
(--enable-permanent-dlopen). By default this is disabled, of course.
ASTERISK-28319 #close
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Change-Id: I86693a0ecf25d5ba81c73773a03df4abc3426875
The new option disables dev mode, TEST_FRAMEWORK and
MALLOC_DEBUG making the build more production-like.
Change-Id: Ieb72497d4d91d5416684aaed702cc3f532099738
The compiler complained about a couple of variables that weren't
initialized but were being used. Initializing them to NULL resolves the
warnings/errors.
ASTERISK-28362 #close
Change-Id: I6243afc5459b416edff6bbf571b0489f6b852e4b
REMB's exponent is 6-bits (0..63) and has a mantissa of 18-bits. We were using
an unsigned integer to represent the bitrate. However, that type is not large
enough to hold all potential bitrate values. If the bitrate is large enough
bits were being shifted off the "front" of the mantissa, which caused the
wrong value to be sent to the browser.
This patch makes it so it now uses a float type to hold the bitrate. Using a
float allows for all bitrate values to be correctly represented.
ASTERISK-28255
Change-Id: Ice00fdd16693b16b41230664be5d9f0e465b239e
* Always set member->lastpause when setting member->paused
* Fixed typo (using member->lastcall instead of member->lastpause) in
'queue show' output.
* Use a constant 'now' in 'queue show' output for a better point-in-time
view of time based stats.
ASTERISK-27541 #close
Reported by: César Benjamín García Martínez
Change-Id: Ib41ced90cfdb66f9bb1e7b263d0f6fc1ac6e18fa