Commit Graph

126 Commits

Author SHA1 Message Date
Russell Bryant
dac30f1523 format_mp3: Fix a possible crash in mp3_read().
This patch fixes a potential crash in mp3_read() by not assuming that
dbuf has enough data to finish filling up the output buffer.  The patch
also makes sure that the dbuf state gets reset after we know we read
everything out of it already.

In passing, this patch includes some other cleanups of this module,
including stripping trailing whitespace, formatting fixes based on
coding guidelines, and removing a number of unused members from the
private state struct.

(closes issue ASTERISK-19761)
Reported by: Chris Maciejewsk
Tested by: Chris Maciejewsk


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@366296 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-05-11 23:53:38 +00:00
Alexandr Anikin
4bddfcf335 Fix warning of Coverity Static analysis, change H225ProtocolIdentifier
from value to pointer per functions that use this.

(close issue ASTERISK-19670)
Reported by: Matt Jordan
Patches:
  ASTERISK-19670.patch (License #5415)



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@365159 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-05-03 14:54:22 +00:00
Alexandr Anikin
0b9bca22bd Fix coverity static analysis warning, allocate full ie structure
instead of without data buffer

(close issue ASTERISK-19674)
Reported by: Matt Jordan
Patches:
  ASTERISK-19674.patch (License #5415)



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@365143 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-05-03 14:18:25 +00:00
Alexandr Anikin
97787d8c5e Fix use freed pointer in return value from call thread
(issue ASTERISK-19663)
Reported by: Matt Jordan
Patches:
  ASTERISK-19663-ooh323.patch (License #5415)



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@364649 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-04-30 16:37:33 +00:00
Matthew Jordan
0e488d7cc4 Fix a variety of potential buffer overflows
* chan_mobile: Fixed an overrun where the cind_state buffer (an integer array
  of size 16) would be overrun due to improper bounds checking. At worst, the
  buffer can be overrun by a total of 48 bytes (assuming 4-byte integers),
  which would still leave it within the allocated memory of struct hfp.  This
  would corrupt other elements in that struct but not necessarily cause any
  further issues.

* app_sms: The array imsg is of size 250, while the array (ud) that the data
  is copied into is of size 160.  If the size of the inbound message is 
  greater then 160, up to 90 bytes could be overrun in ud.  This would corrupt
  the user data header (array udh) adjacent to ud.

* chan_unistim: A number of invalid memmoves are corrected.  These would move
  data (which may or may not be valid) into the ends of these buffers.

* asterisk: ast_console_toggle_loglevel does not check that the console log
  level being set is less then or equal to the allowed log levels of 32.

* frame: In ast_codec_pref_prepend, if any occurrence of the specified codec
  is not found, the value used to index into the array pref->order would be
  one greater then the maximum size of the array.

* jitterbuf: If the element being placed into the jitter buffer lands in the
  last available slot in the jitter history buffer, the insertion sort attempts
  to move the last entry in the buffer into one slot past the maximum length
  of the buffer.  Note that this occurred for both the min and max jitter
  history buffers.

* tdd: If a read from fsk_serial returns a character that is greater then 32,
  an attempt to read past one of the statically defined arrays containing the
  values that character maps to would occur.

* localtime: struct ast_time and tm are not the same size - ast_time is larger,
  although it contains the elements of tm within it in the same layout.  Hence,
  when using memcpy to copy the contents of tm into ast_time, the size of tm
  should be used, as opposed to the size of ast_time.

* extconf: this treats ast_timing's minmask array as if it had a length of 48,
  when it has defined the size of the array as 24.  pbx.h defines minmask as
  having a size of 48.

(issue ASTERISK-19668)
Reported by: Matt Jordan



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@362485 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-04-19 02:08:44 +00:00
Kinsey Moore
4148e51555 Add missing newlines to CLI logging
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@361471 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-04-06 18:09:19 +00:00
Jonathan Rose
78e9a8e5f0 Fix some stuff involving calls to memcpy and memset
The important parts of the patch were already applied through other updates.

(closes issue ASTERISK-19445)
Reported by: Makoto Dei
Patches:
	memset-memcpy-length.patch uploaded by Makoto Dei (license 5027)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@361210 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-04-04 19:52:05 +00:00
Jonathan Rose
ed76cdda72 Replace GNU old-style field designator extensions to fix clang warnings
(issue ASTERISK-19540)
Reported by: Makoto Dei
Patches:
	clang-gnu-designator.patch uploaded by Makoto Dei (license 5027)



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@361142 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-04-04 16:29:18 +00:00
Terry Wilson
d58fe85724 Destroy configs when they are no longer used
https://reviewboard.asterisk.org/r/1834/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@360712 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-03-28 19:06:03 +00:00
Paul Belanger
d2cb0914e4 Fix -Werror=unused-but-set-variable compiler error (gcc 4.6.2)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@356430 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-02-23 03:36:46 +00:00
Paul Belanger
e31d0dfe40 Revert 355700 and 355701
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@355711 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-02-17 00:25:13 +00:00
Paul Belanger
1fd85ee397 Missed a variable
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@355701 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-02-16 23:54:54 +00:00
Paul Belanger
0e93bc868e Fix -Werror=unused-but-set-variable compiler error (gcc 4.6.2)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@355700 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-02-16 23:53:08 +00:00
Alexandr Anikin
7d0ee59215 call manager_event only if there is not null channel structure
(Closes issue ASTERISK-19298)
Reported by: robinfood
Patches:
        issue19298.patch uploaded by may213 (License #5415)



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@355136 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-02-14 09:41:38 +00:00
Alexandr Anikin
197662dd4d Fix outbound DTMF for inband mode (tell asterisk core to generate DTMF
sounds).

(Closes issue ASTERISK-19233)
Reported by: Matt Behrens
Patches:
        chan_ooh323.c.patch uploaded by Matt Behrens (License #6346)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@352807 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-01-26 20:14:50 +00:00
Kevin P. Fleming
3bfed7039f Correct some 'set-but-not-used' variable warnings.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@350789 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-01-14 15:23:32 +00:00
Alexandr Anikin
7e7e263652 process null frame pointer returned by ast_rtp_instance_read correctly
(closes issue ASTERISK-16697)
Reported by: under
Patches: 
        segfault.diff (License #5871) patch uploaded by under


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@346762 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-12-02 16:19:19 +00:00
Alexandr Anikin
1aa6f26827 (closes issue ASTERISK-18748)
Reported by: Fabrizio Lazzaretti
Patches:
      ASTERISK-18748-5.patch (License #5415) patch uploaded by may213
Tested by: Fabrizio Lazzaretti



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@344158 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-09 18:42:17 +00:00
Alexandr Anikin
fc52d0af86 Final fix memleaks in GkClient codes, same for Timer codes.
(these memleaks stop development of gk codes, now i can continue)
Fix printHandler 'Unbalanced Structure' issues with locking printHandler
data for single thread.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@343281 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-03 16:15:58 +00:00
Alexandr Anikin
0c360ed6be fix issue on channel numbering (calls could have same channel number
on heavy loaded system)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@341312 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-18 23:20:53 +00:00
Alexandr Anikin
37c390ac02 fix forget declaration in previous change
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@339244 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-04 11:44:55 +00:00
Alexandr Anikin
3795f80d2c destroy memheap mutex properly before memheap deleted
(fix memory leak occured after r304950 changes with DEBUG_THREAD compile option)



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@339087 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-03 18:42:49 +00:00
Matthew Jordan
7dc49195d8 Updated SIP 484 handling; added Incomplete control frame
When a SIP phone uses the dial application and receives a 484 Address 
Incomplete response, if overlapped dialing is enabled for SIP, then
the 484 Address Incomplete is forwarded back to the SIP phone and the
HANGUPCAUSE channel variable is set to 28.  Previously, the Incomplete
application dialplan logic was automatically triggered; now, explicit
dialplan usage of the application is required.

Additionally, this patch adds a new AST_CONTOL_FRAME type called
AST_CONTROL_INCOMPLETE.  If a channel driver receives this control frame,
it is an indication that the dialplan expects more digits back from the
device.  If the device supports overlap dialing it should attempt to 
notify the device that the dialplan is waiting for more digits; otherwise,
it can handle the frame in a manner appropriate to the channel driver.

(closes issue ASTERISK-17288)
Reported by: Mikael Carlsson
Tested by: Matthew Jordan

Review: https://reviewboard.asterisk.org/r/1416/



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@335064 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-09 16:09:09 +00:00
Alexandr Anikin
1ae6d66b92 cleanups in ACF/ARJ GK replies processing
fixed long (24 sec) pause if acf/arj proccessed
before ast_cond_wait called to wait this



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@333947 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-08-30 21:16:30 +00:00
Richard Mudgett
97959f3e9a Fix deadlock potential of chan_mobile.c:mbl_ast_hangup().
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@333784 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-08-29 21:05:43 +00:00
Alexandr Anikin
8f37bc12c4 move ast_cond_signal for admitted call after all data filled/freed
clear all log channels by pointed number not only first
free allocated callToken in ooh323_answer


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@331146 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-08-09 16:13:09 +00:00
Alexandr Anikin
65a7f1b205 change gk client behaivour on rrq/grq failures to setup timers
and next tries after timeout instead of complete failure in the ooh323
stack


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@330827 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-08-04 19:37:16 +00:00
Alexandr Anikin
92ba1aed9f small gk processing fixes:
- decrease for 1 second registration ttl for very low expirations (some
  providers expire few earlier than TTL)
- delete rrq and registration expire timers on URQ received as we make
  new registration.



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@328427 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-15 19:22:24 +00:00
Leif Madsen
d4938a111e Introduce <support_level> tags in MODULEINFO.
This change introduces MODULEINFO into many modules in Asterisk in order to show
the community support level for those modules. This is used by changes committed
to menuselect by Russell Bryant recently (r917 in menuselect). More information about
the support level types and what they mean is available on the wiki at
https://wiki.asterisk.org/wiki/display/AST/Asterisk+Module+Support+States

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@328209 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-14 20:13:06 +00:00
Alexandr Anikin
c8c5461a76 Fix double alerting, add forced alerting before answer
Fix double alerting (it wasn't fixed here by issue #18542)
Add forced alerting before connect (if it wasn't before)
Try to send all packets from outgoing queue rather than one only
Call goes into clearing state when disconnect command is received

(closes issue #19361)
Reported by: vmikhelson
Patches: 
      issue19361-3.patch uploaded by may213 (license 454)
Tested by: vmikhelson



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@321528 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-01 10:40:19 +00:00
Terry Wilson
5427820aaf Cast data as char * before using S_OR
This is required for compiling successfully under dev mode


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@320716 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-25 00:49:10 +00:00
Russell Bryant
5caa350fab Fix a crash in the MySQL() application.
This code was not handling channel datastores safely.  The channel
must be locked.

(closes issue #17964)
Reported by: wuwu
Patches:
      issue17964_addon_1.6.2_svn.patch uploaded by seanbright (license 71)
Tested by: wuwu


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@317837 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-06 19:24:11 +00:00
Sean Bright
ccbc674e56 Don't duplicate our data on the stack and just use the MYSQL_ROW directly.
With large result sets we were blowing out the stack.

(closes issue #19090)
Reported by: mickecarlsson
Patches:
      issue19090_trunk_svn.patch uploaded by seanbright (license 71)
Tested by: mickecarlsson


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@317370 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-05 20:25:52 +00:00
Alexandr Anikin
e5e49b9c52 Fix trivial bug in ooSocket.c codes
Revert condition for result code of
ast_gethostbyname

(closes issue #19185)
Reported by: dswartz
Patches: 
      issue19185-patch uploaded by may213 (license 454)



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@316874 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-04 20:50:18 +00:00
Tilghman Lesher
8856bbde1b Escape column names in case they contain illegal characters ('-') or reserved words.
(closes issue #19063)
 Reported by: festr
 Patches: 
       patch uploaded by festr (license 443)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@316429 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-04 00:12:25 +00:00
Alexandr Anikin
ce3d97c483 fix trivial bug in ooh323_indicate on AST_CONTROL_SRC...
check p->rtp is not null


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@313142 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-04-09 20:56:17 +00:00
Tilghman Lesher
479b3fed00 Reload must react correctly against a possibly changed table, so dropping the conditional reload flag.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@312286 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-04-01 10:44:33 +00:00
Alexandr Anikin
9b64fbc06c correct return values in ooh323_indicate for AST_CONTROL_T38_PARAMETERS
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@311687 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-03-27 21:47:13 +00:00
Tilghman Lesher
feb0df1202 Fix branch compile.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@310834 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-03-15 01:48:25 +00:00
Alexandr Anikin
5082c5d44b Introduce t.38 parameters control functionality not full but enough for
Send/RcvFax support

Introduce t.38 controls between asterisk core and channel/proto layers.
Not all parameters are transferred from proto layers but *Fax apps
tested and work ok.

(issue #18693)
Reported by: benngard2
Patches: 
      issue-18693.patch uploaded by may213 (license 454)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@310734 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-03-14 21:45:53 +00:00
Alexandr Anikin
6d86c8f1e6 added g729onlyA option for announce only AnnexA g.729 codec in
h.323 capabilities. Option can be global or per user/peer.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@308242 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-18 00:07:20 +00:00
Paul Belanger
735eb73607 Fix FreeBSD builds.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@308150 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-16 20:21:17 +00:00
Alexandr Anikin
3dcf79a893 ifdef __linux__ keepalive variables also
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@308098 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-16 07:57:22 +00:00
Alexandr Anikin
d3a39d5bfa include tcp keepalive socket calls only on linux, freebsd and others
don't have these options on sockets.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@307970 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-15 23:08:38 +00:00
Alexandr Anikin
aa41d4f640 Corrections for properly work with H.323v2 (older) endpoints and other
small fixes.

Interpret remote side H.225 version.

Corrections for H.323v2 endpoints: 
don't start TCS and MSD before connect,
don't start TCS and MSD by accepting H.245 connection,
start TCS and MSD by StartH245 facility message.

Other fixes:
fix non zeroended remoteDisplayName issue, small fixes in call clearing
by closing H.245 connection, tcp keepalive introduced on TCP
connections (now is hardcoded, will be configurable in the future), 
don't force H.245tunneling if FastStart is active, don't send Alerting 
singal more than once per call.

(issue 0018542)
Reported by: vmikhelson
Patches: 
      issue18542-final-3.patch uploaded by may213 (license 454)
Tested by: vmikhelson


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@307509 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-10 18:50:50 +00:00
Tilghman Lesher
73d0f40e75 Don't destroy handle not created by use (because the caller will).
(closes issue #18526)
 Reported by: makoto
 Patches: 
       res-config-mysql-include.patch uploaded by makoto (license 38)
 Tested by: makoto


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@300798 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-01-06 06:28:18 +00:00
Alexandr Anikin
e1195fb2d9 Change order of sending TCS and MSD packets
Change order of sending Terminal Capability Set and MasterSlave
Determination packets, MSD send when TCS exchange procedure is done
(we send tcs ack to remote and we have remote tcs ack already
or we receive tcs ack from remote and we have send our tcs ack to 
remote  already). Some endpoints can work in this sequence only,
i suggest they can't work with both (tcs and msd) exchange procedures
simultaneously.

Also changed StartH245 facility message sending. It send on
incoming calls only due to some endpoints can't proccess properly
this facility messages on their incoming calls.

(issue #18433)
Reported by: MrHanMan
Patches:
      tcs-msd-h245-3.patch uploaded by may213 (license 454)
Tested by: MrHanMan, may213


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@299711 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-12-25 16:12:28 +00:00
Tilghman Lesher
f231570ed7 Reset 'first' variable after usage.
(closes issue #18525)
 Reported by: makoto
 Patches: 
       res-config-mysql-update2.patch uploaded by makoto (license 38)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@299583 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-12-24 17:58:30 +00:00
Alexandr Anikin
849e7d6670 Correction to work with gatekeeper which don't send GK ID
Don't use GK ID if it's not presented in GK replies
Extract GK ID not only in GK confirm but in GK register confirm also

(issue #18401)
Reported by: MrHanMan
Patches:
      no-gkid-2.patch uploaded by may213 (license 454)
Tested by: may213, MrHanMan


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@298099 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-12-11 21:45:49 +00:00
Matthew Nicholson
aa0351aac9 Fix the cmgr parser.
(closes issue 0018152)
Reported by: menschentier


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@292122 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-10-18 17:15:24 +00:00