-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/4178/
-----------------------------------------------------------
(Updated Nov. 20, 2014, 3:43 p.m.)
Review request for Asterisk Developers.
Changes
-------
Updated based on feedback. I ended up creating a "wrapper" object for the
publish state so it could be tracked separately from the client state data so
unpublishing is now done on publish state destruction which then in turn
destroys the client state.
Also fixed a bug on module unload. When unloading the module an unpublish
message is sent for each currently active published item. Upon sending pjsip
calls a callback back into the module, but the module has been unloaded so a
crash occurs (since it no longer existed). Fixed it so the module waits until
all unpublishing is done before completing the unload process.
Bugs: ASTERISK-24514
https://issues.asterisk.org/jira/browse/ASTERISK-24514
Repository: Asterisk
Description
-------
When using a non-default sorcery wizard (in this instance realtime) for
outbound publishes Asterisk will crash after a stack overflow occurs due to the
code infinitely recursing. The fix entails removing the outbound publish state
dependency from the outbound publish sorcery object and instead keeping an in
memory container that can be used to lookup the state when needed.
Diffs (updated)
-----
branches/13/res/res_pjsip_outbound_publish.c 428498
Diff: https://reviewboard.asterisk.org/r/4178/diff/
Testing
-------
On top of running the current testsuite tests I also manually tested various
configurations and scenarios using a static configuration file as well as
dynamic realtime. Verified that the crash no longer occurs and the potentially
affected functionality works as expected (for instance, module [re]loading).
Thanks,
Kevin Harwell
--
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
http://lists.digium.com/mailman/listinfo/asterisk-dev