-----------------------------------------------------------
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

Reply via email to