res_pjsip: crash when using localnet and external_signaling_address options
authorKevin Harwell <kharwell@digium.com>
Fri, 27 Sep 2013 18:28:41 +0000 (18:28 +0000)
committerKevin Harwell <kharwell@digium.com>
Fri, 27 Sep 2013 18:28:41 +0000 (18:28 +0000)
commitd6bceb035019a3df16a3b71da6e855ea249c94a5
tree026f75862cd4ef54733b72018d6ac587037e4330
parent7e2a72771dbd538d8c72865406ca5aabb883d9d9
res_pjsip: crash when using localnet and external_signaling_address options

There was a collision of mod_data use on the transaction between using a nat
hook and an session response callback.  During state change it was assumed
what was in the mod_data was nothing or the response callback.  However, it
was possible for it to also contain a nat hook thus resulting in a bad cast
and a crash.

Added the ability to store multiple data elements in mod_data via a hash table.
In this instance, mod_data now stores a hash table of the two values that can
be retrieved using an associated string key.

(closes issue ASTERISK-22394)
Reported by: Rusty Newton
Review: https://reviewboard.asterisk.org/r/2843/
........

Merged revisions 399990 from http://svn.asterisk.org/svn/asterisk/branches/12

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@399991 65c4cc65-6c06-0410-ace0-fbb531ad65f3
include/asterisk/res_pjsip.h
res/res_pjsip.c
res/res_pjsip.exports.in
res/res_pjsip_session.c