Skip to content
Snippets Groups Projects
user avatar
Joshua Colp authored
The adding and removing of device state subscriptions did not protect
fully against simultaneous manipulation. In particular the subscribe
case allowed a small window where two subscriptions could be added for
the same device state instead of just one.

This change makes the code hold the subscriptions lock for the entirety
of each operation to ensure that two are not occurring at the same time.

ASTERISK-26770

Change-Id: I3e7f8eb9d09de440c9024d2dd52029f6f20e725b
b79cc620
History
Name Last commit Last update
..
ael
ari
parking
res_pjsip
snmp
stasis
stasis_recording
Makefile
ari.make
res.xml
res_adsi.c
res_ael_share.c
res_ael_share.exports.in
res_agi.c
res_agi.exports.in
res_ari.c
res_ari.exports.in
res_ari_applications.c
res_ari_asterisk.c
res_ari_bridges.c
res_ari_channels.c
res_ari_device_states.c
res_ari_endpoints.c
res_ari_events.c
res_ari_mailboxes.c
res_ari_model.c
res_ari_model.exports.in
res_ari_playbacks.c
res_ari_recordings.c
res_ari_sounds.c
res_calendar.c
res_calendar.exports.in
res_calendar_caldav.c
res_calendar_ews.c
res_calendar_exchange.c
res_calendar_icalendar.c
res_chan_stats.c
res_clialiases.c
res_clioriginate.c
res_config_curl.c
res_config_ldap.c
res_config_odbc.c
res_config_pgsql.c
res_config_sqlite.c
res_config_sqlite3.c
res_convert.c
res_corosync.c
res_crypto.c
res_crypto.exports.in
res_curl.c
res_endpoint_stats.c
res_fax.c
res_fax.exports.in
res_fax_spandsp.c
res_format_attr_celt.c
res_format_attr_g729.c
res_format_attr_h263.c
res_format_attr_h264.c
res_format_attr_ilbc.c
res_format_attr_opus.c
res_format_attr_silk.c
res_format_attr_siren14.c
res_format_attr_siren7.c
res_format_attr_vp8.c
res_hep.c
res_hep.exports.in
res_hep_pjsip.c
res_hep_rtcp.c
res_http_media_cache.c
res_http_post.c
res_http_websocket.c
res_http_websocket.exports.in
res_limit.c
res_manager_devicestate.c
res_manager_presencestate.c
res_monitor.c
res_monitor.exports.in
res_musiconhold.c
res_mutestream.c
res_mwi_external.c
res_mwi_external.exports.in
res_mwi_external_ami.c
res_odbc.c
res_odbc.exports.in
res_odbc_transaction.c
res_odbc_transaction.exports.in
res_parking.c
res_phoneprov.c
res_phoneprov.exports.in
res_pjproject.c
res_pjproject.exports.in
res_pjsip.c
res_pjsip.exports.in
res_pjsip_acl.c
res_pjsip_authenticator_digest.c
res_pjsip_caller_id.c
res_pjsip_config_wizard.c
res_pjsip_dialog_info_body_generator.c
res_pjsip_diversion.c
res_pjsip_dlg_options.c