The raw_data member is used for passing heap allocated data with an event,
(e.g. strings of dtmf data) the memory is freed after the event has been processed.
Recent changes in the event structure added a way to pass sig status changes inline,
so remove the raw_data usage for FTDM_SIGEVENT_SIGSTATUS_CHANGED events.
NOTE: This (finally) fixes a bug in ftmod_libpri that was caused by
the event handling changes (stack corruption due to using free()
on a variable on the stack, which turned into a NULL ptr deref
caused by some compat code in ftdm_io.c:ftdm_span_send_signal().
Compiles and tested on my BRI setup, i did a quick audit of all
places that generate FTDM_SIGEVENT_SIGSTATUS_CHANGED events and
except for the sangoma_boost module there's nothing else that left
using raw_data for this event.
Signed-off-by: Stefan Knoblich <s.knoblich@axsentis.de>
ftmod_pritap: Abort before overflowing spanparameters array and initialize to all zero
ftmod_isdn: Fix overflow check, skip over parameters without name or value, initialize spanparameters array to all zero.
ftmod_libpri: Skip over parameters without name or value, initialize spanparameters array to all zero and drop "i < 10" hardcoded check.
This should fix:
2010-11-15 09:24:34.609515 [ERR] ftmod_libpri.c:1741 Unknown parameter '', aborting configuration
2010-11-15 09:24:34.609515 [ERR] mod_freetdm.c:3080 Error configuring FreeTDM span BRI_1
Signed-off-by: Stefan Knoblich <s.knoblich@axsentis.de>
Reported-by: Ingmar Schraub <is@eseco.de>
"if (ftdm_array_len(spanparameters) == paramindex)" is still off-by-one,
we want to stop at "ftdm_array_len(spanparameters) - 1", before we overwrite
the last (= terminating, NULL) element.
NOTE: i'd prefer an "argc, argv"-style interface here
Signed-off-by: Stefan Knoblich <s.knoblich@axsentis.de>
This fixes several issues with parameter handling (e.g. default alaw/ulaw selection being totally useless).
Signed-off-by: Stefan Knoblich <s.knoblich@axsentis.de>
Removed assert when we cannot find a call on RelInd, it seems like Trillium as a bug where they sometimes send release twice
Fixes to some memory leaks
Fix for bug in q921 trace disable command
Fix for not recognizing etsi switchtype
Fix for sending RESTART when we are not supposed to in EUROISDN NETWORK mode
Support for l1 stats
Fix for deadlocks/segfaults on shutdown
Added index per link_id, support for show_spans
Added progress-ind when sending CONNECT message
Fix for sending CONNECT ACK when configured as TE