]> git.ipfire.org Git - thirdparty/asterisk.git/log
thirdparty/asterisk.git
15 months ago.github: Use ASTERISKTEAM_PAT for PR merging
George Joseph [Fri, 28 Jun 2024 19:41:32 +0000 (13:41 -0600)] 
.github: Use ASTERISKTEAM_PAT for PR merging

15 months ago.github: Replace PR workflows with stubs that call reusables
George Joseph [Tue, 25 Jun 2024 13:07:39 +0000 (07:07 -0600)] 
.github: Replace PR workflows with stubs that call reusables

The PR workflows now are just stubs that call reusable
workflows located in the asterisk-ci-actions repo.

15 months ago.github: Refactor NightlyTests to use workflow in asterisk-ci-actions
George Joseph [Tue, 25 Jun 2024 01:16:00 +0000 (19:16 -0600)] 
.github: Refactor NightlyTests to use workflow in asterisk-ci-actions

17 months ago.github: Add branches to workflow_dispatch for NightlyTests
George Joseph [Tue, 14 May 2024 17:54:17 +0000 (11:54 -0600)] 
.github: Add branches to workflow_dispatch for NightlyTests

17 months agoasterisk.c: Fix sending incorrect messages to systemd notify
Ivan Poddubny [Sun, 5 May 2024 12:53:11 +0000 (14:53 +0200)] 
asterisk.c: Fix sending incorrect messages to systemd notify

Send "RELOADING=1" instead of "RELOAD=1" to follow the format
expected by systemd (see sd_notify(3) man page).

Do not send STOPPING=1 in remote console mode:
attempting to execute "asterisk -rx" by the main process leads to
a warning if NotifyAccess=main (the default) or to a forced termination
if NotifyAccess=all.

17 months agores_http_websocket.c: Set hostname on client for certificate validation.
Sean Bright [Thu, 9 Nov 2023 22:59:19 +0000 (17:59 -0500)] 
res_http_websocket.c: Set hostname on client for certificate validation.

Additionally add a `assert()` to in the TLS client setup code to
ensure that hostname is set when it is supposed to be.

Fixes #433

17 months agotcptls/iostream: Add support for setting SNI on client TLS connections
George Joseph [Tue, 23 Apr 2024 20:15:20 +0000 (14:15 -0600)] 
tcptls/iostream:  Add support for setting SNI on client TLS connections

If the hostname field of the ast_tcptls_session_args structure is
set (which it is for websocket client connections), that hostname
will now automatically be used in an SNI TLS extension in the client
hello.

Resolves: #713

UserNote: Secure websocket client connections now send SNI in
the TLS client hello.

17 months agomake_buildopts_h: Always include DETECT_DEADLOCKS
George Joseph [Sat, 27 Apr 2024 20:40:28 +0000 (14:40 -0600)] 
make_buildopts_h: Always include DETECT_DEADLOCKS

Since DETECT_DEADLOCKS is now split from DEBUG_THREADS, it must
always be included in buildopts.h instead of only when
ADD_CFLAGS_TO_BUILDOPTS_H is defined.  A SEGV will result otherwise.

Resolves: #719

18 months agortp_engine and stun: call ast_register_atexit instead of ast_register_cleanup
George Joseph [Tue, 2 Apr 2024 20:28:35 +0000 (14:28 -0600)] 
rtp_engine and stun: call ast_register_atexit instead of ast_register_cleanup

rtp_engine.c and stun.c were calling ast_register_cleanup which
is skipped if any loadable module can't be cleanly unloaded
when asterisk shuts down.  Since this will always be the case,
their cleanup functions never get run.  In a practical sense
this makes no difference since asterisk is shutting down but if
you're in development mode and trying to use the leak sanitizer,
the leaks from both of those modules clutter up the output.

18 months agomanager.c: Add missing parameters to Login documentation
George Joseph [Wed, 3 Apr 2024 13:51:31 +0000 (07:51 -0600)] 
manager.c: Add missing parameters to Login documentation

* Added the AuthType and Key parameters for MD5 authentication.

* Added the Events parameter.

Resolves: #689

18 months agoFix incorrect application and function documentation references
George Joseph [Mon, 1 Apr 2024 12:30:54 +0000 (06:30 -0600)] 
Fix incorrect application and function documentation references

There were a few references in the embedded documentation XML
where the case didn't match or where the referenced app or function
simply didn't exist any more.  These were causing 404 responses
in docs.asterisk.org.

19 months ago.github: Add PAT to PRSubmitActions/Add Reviewers
George Joseph [Wed, 6 Mar 2024 16:21:33 +0000 (09:21 -0700)] 
.github: Add PAT to PRSubmitActions/Add Reviewers

19 months ago.github: Remove timeout-minutes from gatetests
George Joseph [Tue, 5 Mar 2024 22:17:33 +0000 (15:17 -0700)] 
.github: Remove timeout-minutes from gatetests

19 months ago.github: Pass only single GATETEST_COMMAND to AsteriskGateComposite
George Joseph [Tue, 5 Mar 2024 15:52:01 +0000 (08:52 -0700)] 
.github: Pass only single GATETEST_COMMAND to AsteriskGateComposite

19 months agoRename dialplan_functions.xml to dialplan_functions_doc.xml
George Joseph [Mon, 26 Feb 2024 23:16:37 +0000 (16:16 -0700)] 
Rename dialplan_functions.xml to dialplan_functions_doc.xml

When using COMPILE_DOUBLE, dialplan_functions.xml is mistaken
for the source for an embedded XML document and gets compiled
to dialplan_functions.o.  This causes dialplan_functions.c to
be ignored making its functions unavailable and causing chan_pjsip
to fail to load.

19 months agoopenssl: Supress deprecation warnings from OpenSSL 3.0
Sean Bright [Fri, 25 Mar 2022 13:19:35 +0000 (09:19 -0400)] 
openssl: Supress deprecation warnings from OpenSSL 3.0

There is work going on to update our OpenSSL usage to avoid the
deprecated functions but in the meantime make it possible to compile
in devmode.

Change-Id: Ib082eb8b3751f0185d8aa8fe127da664c93f0726

19 months ago.github: Add force_cherry_pick option to Releaser
George Joseph [Tue, 20 Feb 2024 13:49:20 +0000 (06:49 -0700)] 
.github: Add force_cherry_pick option to Releaser

19 months ago.github: Remove start_version from Releaser
George Joseph [Tue, 17 Oct 2023 18:39:04 +0000 (12:39 -0600)] 
.github: Remove start_version from Releaser

20 months agoapp_chanspy: Add 'D' option for dual-channel audio
Mike Bradeen [Wed, 31 Jan 2024 15:55:04 +0000 (08:55 -0700)] 
app_chanspy: Add 'D' option for dual-channel audio

Adds the 'D' option to app chanspy that causes the input and output
frames of the spied channel to be interleaved in the spy output frame.
This allows the input and output of the spied channel to be decoded
separately by the receiver.

If the 'o' option is also set, the 'D' option is ignored as the
audio being spied is inherently one direction.

Fixes: #569
UserNote: The ChanSpy application now accepts the 'D' option which
will interleave the spied audio within the outgoing frames. The
purpose of this is to allow the audio to be read as a Dual channel
stream with separate incoming and outgoing audio. Setting both the
'o' option and the 'D' option and results in the 'D' option being
ignored.

20 months ago.github: Update github-script to v7 and fix a rest bug
George Joseph [Mon, 5 Feb 2024 15:31:47 +0000 (08:31 -0700)] 
.github: Update github-script to v7 and fix a rest bug

Need to update the github-script to v7 to squash deprecation
warnings.

Also fixed the API name for github.rest.pulls.requestReviewers.

21 months agomanager.c: Fix regression due to using wrong free function.
Naveen Albert [Tue, 26 Dec 2023 17:14:11 +0000 (17:14 +0000)] 
manager.c: Fix regression due to using wrong free function.

Commit 424be345639d75c6cb7d0bd2da5f0f407dbd0bd5 introduced
a regression by calling ast_free on memory allocated by
realpath. This causes Asterisk to abort when executing this
function. Since the memory is allocated by glibc, it should
be freed using ast_std_free.

Resolves: #513

22 months agores_rtp_asterisk: Fix regression issues with DTLS client check
George Joseph [Fri, 15 Dec 2023 16:37:54 +0000 (09:37 -0700)] 
res_rtp_asterisk: Fix regression issues with DTLS client check

* Since ICE candidates are used for the check and pjproject is
  required to use ICE, res_rtp_asterisk was failing to compile
  when pjproject wasn't available.  The check is now wrapped
  with an #ifdef HAVE_PJPROJECT.

* The rtp->ice_active_remote_candidates container was being
  used to check the address on incoming packets but that
  container doesn't contain peer reflexive candidates discovered
  during negotiation. This was causing the check to fail
  where it shouldn't.  We now check against pjproject's
  real_ice->rcand array which will contain those candidates.

* Also fixed a bug in ast_sockaddr_from_pj_sockaddr() where
  we weren't zeroing out sin->sin_zero before returning.  This
  was causing ast_sockaddr_cmp() to always return false when
  one of the inputs was converted from a pj_sockaddr, even
  if both inputs had the same address and port.

Resolves: #500
Resolves: #503
Resolves: #505

22 months agodoc: Remove obsolete CHANGES-staging directrory
George Joseph [Fri, 15 Dec 2023 16:59:02 +0000 (09:59 -0700)] 
doc: Remove obsolete CHANGES-staging directrory

This should have been removed after the last release but
was missed.

22 months agores_pjsip_header_funcs: Duplicate new header value, don't copy.
Gitea [Mon, 10 Jul 2023 15:43:06 +0000 (12:43 -0300)] 
res_pjsip_header_funcs: Duplicate new header value, don't copy.

When updating an existing header the 'update' code incorrectly
just copied the new value into the existing buffer. If the
new value exceeded the available buffer size memory outside
of the buffer would be written into, potentially causing
a crash.

This change makes it so that the 'update' now duplicates
the new header value instead of copying it into the existing
buffer.

22 months agores_rtp_asterisk.c: Check DTLS packets against ICE candidate list
George Joseph [Thu, 9 Nov 2023 16:14:03 +0000 (09:14 -0700)] 
res_rtp_asterisk.c: Check DTLS packets against ICE candidate list

When ICE is in use, we can prevent a possible DOS attack by allowing
DTLS protocol messages (client hello, etc) only from sources that
are in the active remote candidates list.

Resolves: GHSA-hxj9-xwr8-w8pq

22 months agomanager.c: Prevent path traversal with GetConfig.
Ben Ford [Mon, 13 Nov 2023 17:08:50 +0000 (11:08 -0600)] 
manager.c: Prevent path traversal with GetConfig.

When using AMI GetConfig, it was possible to access files outside of the
Asterisk configuration directory by using filenames with ".." and "./"
even while live_dangerously was not enabled. This change resolves the
full path and ensures we are still in the configuration directory before
attempting to access the file.

22 months agores_pjsip: disable raw bad packet logging
Mike Bradeen [Thu, 14 Dec 2023 17:34:53 +0000 (10:34 -0700)] 
res_pjsip: disable raw bad packet logging

    Add patch to split the log level for invalid packets received on the signaling port.
    The warning regarding the packet will move to level 2 so that it can still be displayed,
    while the raw packet will be at level 4.

22 months agoMergeApproved.yml: Remove unneeded concurrency
George Joseph [Wed, 6 Dec 2023 21:27:01 +0000 (14:27 -0700)] 
MergeApproved.yml:  Remove unneeded concurrency

The concurrency parameter on the MergeAndCherryPick job has
been rmeoved.  It was a hold-over from earlier days.

23 months agoSECURITY.md: Update with correct documentation URL
George Joseph [Thu, 9 Nov 2023 18:45:08 +0000 (11:45 -0700)] 
SECURITY.md: Update with correct documentation URL

23 months agochan_pjsip: Add PJSIPHangup dialplan app and manager action
George Joseph [Tue, 31 Oct 2023 21:08:14 +0000 (15:08 -0600)] 
chan_pjsip: Add PJSIPHangup dialplan app and manager action

See UserNote below.

Exposed the existing Hangup AMI action in manager.c so we can use
all of it's channel search and AMI protocol handling without
duplicating that code in dialplan_functions.c.

Added a lookup function to res_pjsip.c that takes in the
string represenation of the pjsip_status_code enum and returns
the actual status code.  I.E.  ast_sip_str2rc("DECLINE") returns
603.  This allows the caller to specify PJSIPHangup(decline) in
the dialplan, just like Hangup(call_rejected).

Also extracted the XML documentation to its own file since it was
almost as large as the code itself.

UserNote: A new dialplan app PJSIPHangup and AMI action allows you
to hang up an unanswered incoming PJSIP call with a specific SIP
response code in the 400 -> 699 range.

23 months agoRemove files that are no longer updated
Mark Murawski [Mon, 30 Oct 2023 15:38:22 +0000 (11:38 -0400)] 
Remove files that are no longer updated

Fixes: #360
23 months agores_speech: allow speech to translate input channel
Mike Bradeen [Thu, 7 Sep 2023 17:21:32 +0000 (11:21 -0600)] 
res_speech: allow speech to translate input channel

* Allow res_speech to translate the input channel if the
  format is translatable to a format suppored by the
  speech provider.

Resolves: #129

UserNote: res_speech now supports translation of an input channel
to a format supported by the speech provider, provided a translation
path is available between the source format and provider capabilites.

2 years ago.github: PRSubmitActions: Fix adding reviewers to PR
George Joseph [Thu, 19 Oct 2023 15:54:43 +0000 (09:54 -0600)] 
.github: PRSubmitActions: Fix adding reviewers to PR

2 years ago.github: New PR Submit workflows
George Joseph [Tue, 17 Oct 2023 12:59:43 +0000 (06:59 -0600)] 
.github: New PR Submit workflows

The workflows that get triggered when PRs are submitted or updated
have been replaced with ones that are more secure and have
a higher level of parallelism.

2 years ago.github: New PR Submit workflows
George Joseph [Tue, 17 Oct 2023 12:59:43 +0000 (06:59 -0600)] 
.github: New PR Submit workflows

The workflows that get triggered when PRs are submitted or updated
have been replaced with ones that are more secure and have
a higher level of parallelism.

2 years agores_stasis: signal when new command is queued
Mike Bradeen [Mon, 2 Oct 2023 18:35:32 +0000 (12:35 -0600)] 
res_stasis: signal when new command is queued

res_statsis's app loop sleeps for up to .2s waiting on input
to a channel before re-checking the command queue. This can
cause delays between channel setup and bridge.

This change is to send a SIGURG on the sleeping thread when
a new command is enqueued. This exits the sleeping thread out
of the ast_waitfor() call triggering the new command being
processed on the channel immediately.

Resolves: #362

UserNote: Call setup times should be significantly improved
when using ARI.

2 years agologger.h: Add ability to change the prefix on SCOPE_TRACE output
George Joseph [Thu, 5 Oct 2023 14:18:17 +0000 (08:18 -0600)] 
logger.h: Add ability to change the prefix on SCOPE_TRACE output

You can now define the _TRACE_PREFIX_ macro to change the
default trace line prefix of "file:line function" to
something else.  Full documentation in logger.h.

2 years ago.github: Fix job prereqs in PROpenedUpdated
George Joseph [Mon, 9 Oct 2023 13:22:49 +0000 (07:22 -0600)] 
.github: Fix job prereqs in PROpenedUpdated

2 years ago.github: Block PR tests until approved
George Joseph [Thu, 5 Oct 2023 16:23:13 +0000 (10:23 -0600)] 
.github: Block PR tests until approved

2 years agoAdd libjwt to third-party
George Joseph [Thu, 21 Sep 2023 17:12:31 +0000 (11:12 -0600)] 
Add libjwt to third-party

The current STIR/SHAKEN implementation is not currently usable due
to encryption issues. Rather than trying to futz with OpenSSL and
the the current code, we can take advantage of the existing
capabilities of libjwt but we first need to add it to the
third-party infrastructure already in place for jansson and
pjproject.

A few tweaks were also made to the third-party infrastructure as
a whole.  The jansson "dest" install directory was renamed "dist"
to better match convention, and the third-party Makefile was updated
to clean all product directories not just the ones currently in
use.

Resolves: #349

2 years agores_pjsip: update qualify_timeout documentation with DNS note
Mike Bradeen [Tue, 26 Sep 2023 19:19:27 +0000 (13:19 -0600)] 
res_pjsip: update qualify_timeout documentation with DNS note

The documentation on qualify_timeout does not explicitly state that the timeout
includes any time required to perform any needed DNS queries on the endpoint.

If the OPTIONS response is delayed due to the DNS query, it can still render an
endpoint as Unreachable if the net time is enough for qualify_timeout to expire.

Resolves: #352

2 years agolock.c: Separate DETECT_DEADLOCKS from DEBUG_THREADS
George Joseph [Wed, 13 Sep 2023 15:18:04 +0000 (09:18 -0600)] 
lock.c: Separate DETECT_DEADLOCKS from DEBUG_THREADS

Previously, DETECT_DEADLOCKS depended on DEBUG_THREADS.
Unfortunately, DEBUG_THREADS adds a lot of lock tracking overhead
to all of the lock lifecycle calls whereas DETECT_DEADLOCKS just
causes the lock calls to loop over trylock in 200us intervals until
the lock is obtained and spits out log messages if it takes more
than 5 seconds.  From a code perspective, the only reason they were
tied together was for logging.  So... The ifdefs in lock.c were
refactored to allow DETECT_DEADLOCKS to be enabled without
also enabling DEBUG_THREADS.

Resolves: #321

UserNote: You no longer need to select DEBUG_THREADS to use
DETECT_DEADLOCKS.  This removes a significant amount of overhead
if you just want to detect possible deadlocks vs needing full
lock tracing.

2 years agocel: add publish user event helper
Mike Bradeen [Thu, 14 Sep 2023 17:00:19 +0000 (11:00 -0600)] 
cel: add publish user event helper

Add a wrapper function around ast_cel_publish_event that
packs event and extras into a blob before publishing

Resolves:#330

2 years agofile.c: Add ability to search custom dir for sounds
George Joseph [Mon, 11 Sep 2023 14:27:41 +0000 (08:27 -0600)] 
file.c: Add ability to search custom dir for sounds

To better co-exist with sounds files that may be managed by
packages, custom sound files may now be placed in
AST_DATA_DIR/sounds/custom instead of the standard
AST_DATA_DIR/sounds/<lang> directory.  If the new
"sounds_search_custom_dir" option in asterisk.conf is set
to "true", asterisk will search the custom directory for sounds
files before searching the standard directory.  For performance
reasons, the "sounds_search_custom_dir" defaults to "false".

Resolves: #315

UserNote: A new option "sounds_search_custom_dir" has been added to
asterisk.conf that allows asterisk to search
AST_DATA_DIR/sounds/custom for sounds files before searching the
standard AST_DATA_DIR/sounds/<lang> directory.

2 years agomake_buildopts_h, et. al. Allow adding all cflags to buildopts.h
George Joseph [Wed, 13 Sep 2023 20:08:02 +0000 (14:08 -0600)] 
make_buildopts_h, et. al.  Allow adding all cflags to buildopts.h

The previous behavior of make_buildopts_h was to not add the
non-ABI-breaking MENUSELECT_CFLAGS like DETECT_DEADLOCKS,
REF_DEBUG, etc. to the buildopts.h file because "it caused
ccache to invalidate files and extended compile times". They're
only defined by passing them on the gcc command line with '-D'
options.   In practice, including them in the include file rarely
causes any impact because the only time ccache cares is if you
actually change an option so the hit occurrs only once after
you change it.

OK so why would we want to include them?  Many IDEs follow the
include files to resolve defines and if the options aren't in an
include file, it can cause the IDE to mark blocks of "ifdeffed"
code as unused when they're really not.

So...

* Added a new menuselect compile option ADD_CFLAGS_TO_BUILDOPTS_H
  which tells make_buildopts_h to include the non-ABI-breaking
  flags in buildopts.h as well as the ABI-breaking ones. The default
  is disabled to preserve current behavior.  As before though,
  only the ABI-breaking flags appear in AST_BUILDOPTS and only
  those are used to calculate AST_BUILDOPT_SUM.
  A new AST_BUILDOPT_ALL define was created to capture all of the
  flags.

* make_version_c was streamlined to use buildopts.h and also to
  create asterisk_build_opts_all[] and ast_get_build_opts_all(void)

* "core show settings" now shows both AST_BUILDOPTS and
  AST_BUILDOPTS_ALL.

UserNote: The "Build Options" entry in the "core show settings"
CLI command has been renamed to "ABI related Build Options" and
a new entry named "All Build Options" has been added that shows
both breaking and non-breaking options.

2 years agofunc_periodic_hook: Add hangup step to avoid timeout
Mike Bradeen [Tue, 12 Sep 2023 19:24:57 +0000 (13:24 -0600)] 
func_periodic_hook: Add hangup step to avoid timeout

func_periodic_hook does not hangup after playback, relying on hangup
which keeps the channel alive longer than necessary.

Resolves: #325

2 years agofunc_periodic_hook: Don't truncate channel name
George Joseph [Mon, 11 Sep 2023 16:52:05 +0000 (10:52 -0600)] 
func_periodic_hook: Don't truncate channel name

func_periodic_hook was truncating long channel names which
causes issues when you need to run other dialplan functions/apps
on the channel.

Resolves: #319

2 years agosafe_asterisk: Change directory permissions to 755
George Joseph [Mon, 11 Sep 2023 16:19:41 +0000 (10:19 -0600)] 
safe_asterisk: Change directory permissions to 755

If the safe_asterisk script detects that the /var/lib/asterisk
directory doesn't exist, it now creates it with 755 permissions
instead of 770.  safe_asterisk needing to create that directory
should be extremely rare though because it's normally created
by 'make install' which already sets the permissions to 755.

Resolves: #316

2 years agovariables: Add additional variable dialplan functions.
Joshua C. Colp [Thu, 31 Aug 2023 10:31:20 +0000 (07:31 -0300)] 
variables: Add additional variable dialplan functions.

Using the Set dialplan application does not actually
delete channel or global variables. Instead the
variables are set to an empty value.

This change adds two dialplan functions,
GLOBAL_DELETE and DELETE which can be used to
delete global and channel variables instead
of just setting them to empty.

There is also no ability within the dialplan to
determine if a global or channel variable has
actually been set or not.

This change also adds two dialplan functions,
GLOBAL_EXISTS and VARIABLE_EXISTS which can be
used to determine if a global or channel variable
has been set or not.

Resolves: #289

UserNote: Four new dialplan functions have been added.
GLOBAL_DELETE and DELETE have been added which allows
the deletion of global and channel variables.
GLOBAL_EXISTS and VARIABLE_EXISTS have been added
which checks whether a global or channel variable has
been set.

2 years agoari-stubs: Fix more local anchor references
George Joseph [Tue, 5 Sep 2023 19:02:19 +0000 (13:02 -0600)] 
ari-stubs: Fix more local anchor references

Also allow CreateDocs job to be run manually with default branches.

2 years agoari-stubs: Fix more local anchor references
George Joseph [Tue, 5 Sep 2023 19:02:19 +0000 (13:02 -0600)] 
ari-stubs: Fix more local anchor references

Also allow CreateDocs job to be run manually with default branches.

2 years agoari-stubs: Fix broken documentation anchors
George Joseph [Tue, 5 Sep 2023 15:51:19 +0000 (09:51 -0600)] 
ari-stubs: Fix broken documentation anchors

All of the links that reference page anchors with capital letters in
the ids (#Something) have been changed to lower case to match the
anchors that are generated by mkdocs.

2 years agorest-api: Updates for new documentation site
George Joseph [Mon, 26 Jun 2023 12:55:49 +0000 (06:55 -0600)] 
rest-api: Updates for new documentation site

The new documentation site uses traditional markdown instead
of the Confluence flavored version.  This required changes in
the mustache templates and the python that generates the files.

2 years ago.github: Update workflow-application-token-action to v2
George Joseph [Thu, 31 Aug 2023 13:23:56 +0000 (07:23 -0600)] 
.github: Update workflow-application-token-action to v2

2 years agoapp_voicemail: Fix for loop declarations
Mike Bradeen [Tue, 29 Aug 2023 15:35:46 +0000 (09:35 -0600)] 
app_voicemail: Fix for loop declarations

Resolve for loop initial declarations added in cli changes.

Resolves: #275

2 years agodownload_externals: Fix a few version related issues
George Joseph [Fri, 18 Aug 2023 16:20:47 +0000 (10:20 -0600)] 
download_externals:  Fix a few version related issues

* Fixed issue with the script not parsing the new tag format for
  certified releases.  The format changed from certified/18.9-cert5
  to certified-18.9-cert5.

* Fixed issue where the asterisk version wasn't being considered
  when looking for cached versions.

Resolves: #263

2 years agoRemove .lastclean and .version from source control
George Joseph [Fri, 18 Aug 2023 15:23:12 +0000 (09:23 -0600)] 
Remove .lastclean and .version from source control

Historically these were checked in for certified releases but
since the move to github and the unified release process,
they are no longer needed and cause issues.

2 years ago.github: Use generic releaser
George Joseph [Tue, 15 Aug 2023 19:04:38 +0000 (13:04 -0600)] 
.github: Use generic releaser

2 years agomanager: Tolerate stasis messages with no channel snapshot.
Joshua C. Colp [Wed, 9 Aug 2023 10:57:33 +0000 (07:57 -0300)] 
manager: Tolerate stasis messages with no channel snapshot.

In some cases I have yet to determine some stasis messages may
be created without a channel snapshot. This change adds some
tolerance to this scenario, preventing a crash from occurring.

2 years agoaudiohook: Unlock channel in mute if no audiohooks present.
Joshua C. Colp [Wed, 9 Aug 2023 08:39:17 +0000 (05:39 -0300)] 
audiohook: Unlock channel in mute if no audiohooks present.

In the case where mute was called on a channel that had no
audiohooks the code was not unlocking the channel, resulting
in a deadlock.

Resolves: #233

2 years agoapp_queue: Add support for applying caller priority change immediately.
Joshua C. Colp [Fri, 7 Jul 2023 14:29:07 +0000 (11:29 -0300)] 
app_queue: Add support for applying caller priority change immediately.

The app_queue module provides both an AMI action and a CLI command
to change the priority of a caller in a queue. Up to now this change
of priority has only been reflected to new callers into the queue.

This change adds an "immediate" option to both the AMI action and
CLI command which immediately applies the priority change respective
to the other callers already in the queue. This can allow, for example,
a caller to be placed at the head of the queue immediately if their
priority is sufficient.

Resolves: #202

UserNote: The 'queue priority caller' CLI command and
'QueueChangePriorityCaller' AMI action now have an 'immediate'
argument which allows the caller priority change to be reflected
immediately, causing the position of a caller to move within the
queue depending on the priorities of the other callers.

2 years ago.github: Fix cherry-pick reminder issues
George Joseph [Mon, 17 Jul 2023 15:23:08 +0000 (09:23 -0600)] 
.github: Fix cherry-pick reminder issues

2 years agoapp.h: Move declaration of ast_getdata_result before its first use
George Joseph [Mon, 10 Jul 2023 13:52:32 +0000 (07:52 -0600)] 
app.h: Move declaration of ast_getdata_result before its first use

The ast_app_getdata() and ast_app_getdata_terminator() declarations
in app.h were changed recently to return enum ast_getdata_result
(which is how they were defined in app.c).  The existing
declaration of ast_getdata_result in app.h was about 1000 lines
after those functions however so under certain circumstances,
a "use before declaration" error was thrown by the compiler.
The declaration of the enum was therefore moved to before those
functions.

Resolves: #200

2 years agodoc: Remove obsolete CHANGES-staging and UPGRADE-staging
George Joseph [Mon, 10 Jul 2023 13:21:06 +0000 (07:21 -0600)] 
doc: Remove obsolete CHANGES-staging and UPGRADE-staging

2 years agores_geolocation: Ensure required 'location_info' is present.
Sean Bright [Fri, 7 Jul 2023 14:11:44 +0000 (10:11 -0400)] 
res_geolocation: Ensure required 'location_info' is present.

Fixes #189

2 years agoAdds manager actions to allow move/remove/forward individual messages
Mike Bradeen [Thu, 29 Jun 2023 18:20:53 +0000 (12:20 -0600)] 
Adds manager actions to allow move/remove/forward individual messages
in a particular mailbox folder. The forward command can be used
to copy a message within a mailbox or to another mailbox. Also adds
a VoicemailBoxSummarry, required to retrieve message ID's.

Resolves: #181

UserNote: The following manager actions have been added

VoicemailBoxSummary - Generate message list for a given mailbox

VoicemailRemove - Remove a message from a mailbox folder

VoicemailMove - Move a message from one folder to another within a mailbox

VoicemailForward - Copy a message from one folder in one mailbox
to another folder in another or the same mailbox.

2 years agoapp_voicemail: add CLI commands for message manipulation
Mike Bradeen [Tue, 20 Jun 2023 16:32:14 +0000 (10:32 -0600)] 
app_voicemail: add CLI commands for message manipulation

Adds CLI commands to allow move/remove/forward individual messages
from a particular mailbox folder. The forward command can be used
to copy a message within a mailbox or to another mailbox. Also adds
a show mailbox, required to retrieve message ID's.

Resolves: #170

UserNote: The following CLI commands have been added to app_voicemail

voicemail show mailbox <mailbox> <context>
Show contents of mailbox <mailbox>@<context>

voicemail remove <mailbox> <context> <from_folder> <messageid>
Remove message <messageid> from <from_folder> in mailbox <mailbox>@<context>

voicemail move <mailbox> <context> <from_folder> <messageid> <to_folder>
Move message <messageid> in mailbox <mailbox>&<context> from <from_folder> to <to_folder>

voicemail forward <from_mailbox> <from_context> <from_folder> <messageid> <to_mailbox> <to_context> <to_folder>
Forward message <messageid> in mailbox <mailbox>@<context> <from_folder> to
mailbox <mailbox>@<context> <to_folder>

2 years ago.github: Minor tweak to Asterisk Releaser
George Joseph [Wed, 12 Jul 2023 12:34:57 +0000 (06:34 -0600)] 
.github: Minor tweak to Asterisk Releaser

2 years ago.github: Suppress cherry-pick reminder for some situations
George Joseph [Tue, 11 Jul 2023 12:31:04 +0000 (06:31 -0600)] 
.github: Suppress cherry-pick reminder for some situations

In PROpenedOrUpdated, the cherry-pick reminder will now be
suppressed if there are already valid 'cherry-pick-to' comments
in the PR or the PR contained a 'cherry-pick-to: none' comment.

2 years agoapply_patches: Use globbing instead of file/sort.
Sean Bright [Thu, 6 Jul 2023 17:51:32 +0000 (13:51 -0400)] 
apply_patches: Use globbing instead of file/sort.

This accomplishes the same thing as a `find ... | sort` but with the
added benefit of clarity and avoiding a call to a subshell.

Additionally drop the -s option from call to patch as it is not POSIX.

2 years agoapply_patches: Sort patch list before applying
George Joseph [Thu, 6 Jul 2023 12:37:50 +0000 (06:37 -0600)] 
apply_patches: Sort patch list before applying

The apply_patches script wasn't sorting the list of patches in
the "patches" directory before applying them. This left the list
in an indeterminate order. In most cases, the list is actually
sorted but rarely, they can be out of order and cause dependent
patches to fail to apply.

We now sort the list but the "sort" program wasn't in the
configure scripts so we needed to add that and regenerate
the scripts as well.

Resolves: #193

2 years agobundled_pjproject: Backport security fixes from pjproject 2.13.1
George Joseph [Wed, 5 Jul 2023 15:08:42 +0000 (09:08 -0600)] 
bundled_pjproject: Backport security fixes from pjproject 2.13.1

Merge-pull-request-from-GHSA-9pfh-r8x4-w26w.patch
Merge-pull-request-from-GHSA-cxwq-5g9x-x7fr.patch
Locking-fix-so-that-SSL_shutdown-and-SSL_write-are-n.patch
Don-t-call-SSL_shutdown-when-receiving-SSL_ERROR_SYS.patch

Resolves: #188

2 years ago.github: Updates for AsteriskReleaser
George Joseph [Fri, 30 Jun 2023 13:01:36 +0000 (07:01 -0600)] 
.github: Updates for AsteriskReleaser

2 years agores_musiconhold: avoid moh state access on unlocked chan
Mike Bradeen [Wed, 31 May 2023 16:37:53 +0000 (10:37 -0600)] 
res_musiconhold: avoid moh state access on unlocked chan

Move channel unlock to after moh state access to avoid
potential unlocked access to state.

Resolves: #133

2 years agoutils: add lock timestamps for DEBUG_THREADS
Mike Bradeen [Tue, 23 May 2023 18:33:55 +0000 (12:33 -0600)] 
utils: add lock timestamps for DEBUG_THREADS

Adds last locked and unlocked timestamps as well as a
counter for the number of times the lock has been
attempted (vs locked/unlocked) to debug output printed
using the DEBUG_THREADS option.

Resolves: #110

2 years ago.github: Back out triggering PROpenedOrUpdated by label
George Joseph [Thu, 29 Jun 2023 15:06:41 +0000 (09:06 -0600)] 
.github: Back out triggering PROpenedOrUpdated by label

2 years ago.github: Move publish docs to new file CreateDocs.yml
George Joseph [Tue, 27 Jun 2023 14:07:53 +0000 (08:07 -0600)] 
.github: Move publish docs to new file CreateDocs.yml

2 years ago.github: Remove result check from PROpenUpdateGateTests
George Joseph [Tue, 27 Jun 2023 11:17:45 +0000 (05:17 -0600)] 
.github: Remove result check from PROpenUpdateGateTests

2 years ago.github: Fix use of 'contains'
George Joseph [Mon, 26 Jun 2023 14:45:16 +0000 (08:45 -0600)] 
.github: Fix use of 'contains'

2 years ago.github: Add recheck label test to additional jobs
George Joseph [Mon, 26 Jun 2023 13:46:03 +0000 (07:46 -0600)] 
.github: Add recheck label test to additional jobs

2 years ago.github: Fix recheck label typos
George Joseph [Mon, 26 Jun 2023 13:21:53 +0000 (07:21 -0600)] 
.github: Fix recheck label typos

2 years ago.github: Fix recheck label manipulation
George Joseph [Mon, 26 Jun 2023 13:11:20 +0000 (07:11 -0600)] 
.github: Fix recheck label manipulation

2 years ago.github: Allow PR submit checks to be re-run by label
George Joseph [Mon, 26 Jun 2023 13:06:37 +0000 (07:06 -0600)] 
.github: Allow PR submit checks to be re-run by label

2 years agores_pjsip_session: Added new function calls to avoid ABI issues.
Ben Ford [Mon, 5 Jun 2023 19:13:16 +0000 (14:13 -0500)] 
res_pjsip_session: Added new function calls to avoid ABI issues.

Added two new functions (ast_sip_session_get_dialog and
ast_sip_session_get_pjsip_inv_state) that retrieve the dialog and the
pjsip_inv_state respectively from the pjsip_inv_session on the
ast_sip_session struct. This is due to pjproject adding a new field to
the pjsip_inv_session struct that caused crashes when trying to access
fields that were no longer where they were expected to be if a module
was compiled against a different version of pjproject.

Resolves: #145

2 years agotest_statis_endpoints: Fix channel_messages test again
George Joseph [Mon, 12 Jun 2023 14:34:16 +0000 (08:34 -0600)] 
test_statis_endpoints:  Fix channel_messages test again

2 years agotest_stasis_endpoints.c: Make channel_messages more stable
George Joseph [Fri, 9 Jun 2023 16:41:13 +0000 (10:41 -0600)] 
test_stasis_endpoints.c: Make channel_messages more stable

The channel_messages test was assuming that stasis would return
messages in a specific order.  This is an incorrect assumption as
message ordering was never guaranteed.  This was causing the test
to fail occasionally.  We now test all the messages for the
required message types instead of testing one by one.

Resolves: #158

2 years agobuild: Fix a few gcc 13 issues
George Joseph [Fri, 9 Jun 2023 14:41:32 +0000 (08:41 -0600)] 
build: Fix a few gcc 13 issues

* gcc 13 is now catching when a function is declared as returning
  an enum but defined as returning an int or vice versa.  Fixed
  a few in app.h, loader.c, stasis_message.c.

* gcc 13 is also now (incorrectly) complaining of dangling pointers
  when assigning a pointer to a local char array to a char *. Had
  to change that to an ast_alloca.

Resolves: #155

2 years ago.github: Rework for merge approval
George Joseph [Tue, 6 Jun 2023 12:08:34 +0000 (06:08 -0600)] 
.github: Rework for merge approval

2 years agoAMI: Add CoreShowChannelMap action.
Ben Ford [Thu, 18 May 2023 21:00:16 +0000 (16:00 -0500)] 
AMI: Add CoreShowChannelMap action.

Adds a new AMI action (CoreShowChannelMap) that takes in a channel name
and provides a list of all channels that are connected to that channel,
following local channel connections as well.

Resolves: #104

UserNote: New AMI action CoreShowChannelMap has been added.

2 years ago.github: Fix issues with cherry-pick-reminder
George Joseph [Mon, 5 Jun 2023 16:37:41 +0000 (10:37 -0600)] 
.github: Fix issues with cherry-pick-reminder

2 years agoindications: logging changes
Mike Bradeen [Tue, 16 May 2023 18:43:37 +0000 (12:43 -0600)] 
indications: logging changes

Increase verbosity to indicate failure due to missing country
and to specify default on CLI dump

Resolves: #89

2 years ago.github Ignore error when adding reviewrs to PR
George Joseph [Mon, 5 Jun 2023 13:16:17 +0000 (07:16 -0600)] 
.github Ignore error when adding reviewrs to PR

2 years ago.github: Update field descriptions for AsteriskReleaser
George Joseph [Fri, 26 May 2023 14:51:41 +0000 (08:51 -0600)] 
.github: Update field descriptions for AsteriskReleaser

2 years ago.github: Change title of AsteriskReleaser job
George Joseph [Tue, 23 May 2023 14:04:42 +0000 (08:04 -0600)] 
.github: Change title of AsteriskReleaser job

2 years ago.github: Don't add cherry-pick reminder if it's already present
George Joseph [Mon, 22 May 2023 18:54:42 +0000 (12:54 -0600)] 
.github: Don't add cherry-pick reminder if it's already present

2 years ago.github: Fix quoting in PROpenedOrUpdated
George Joseph [Tue, 16 May 2023 22:11:08 +0000 (16:11 -0600)] 
.github: Fix quoting in PROpenedOrUpdated

2 years ago.github: Add cherry-pick reminder to new PRs
George Joseph [Mon, 15 May 2023 15:32:15 +0000 (09:32 -0600)] 
.github: Add cherry-pick reminder to new PRs

2 years agocore: Cleanup gerrit and JIRA references. (#40) (#61)
Sean Bright [Wed, 10 May 2023 12:17:10 +0000 (08:17 -0400)] 
core: Cleanup gerrit and JIRA references. (#40) (#61)

* Remove .gitreview and switch to pulling the main asterisk branch
  version from configure.ac instead.

* Replace references to JIRA with GitHub.

* Other minor cleanup found along the way.

Resolves: #39

2 years ago.github: Tweak improvement issue type language.
Joshua C. Colp [Tue, 9 May 2023 13:47:05 +0000 (10:47 -0300)] 
.github: Tweak improvement issue type language.

2 years ago.github: Tweak new feature language, and move feature requests elsewhere.
Gitea [Tue, 9 May 2023 13:42:45 +0000 (10:42 -0300)] 
.github: Tweak new feature language, and move feature requests elsewhere.