Summary:ASTERISK-17709: [patch] appdata truncated
Reporter:Rob LaRubbio (larubbio)Labels:
Date Opened:2011-04-18 21:57:46Date Closed:2011-09-13 14:03:28
Versions:Frequency of
causesASTERISK-18544 Pure 1.8 from today. It crashes
Environment:Attachments:( 0) 20110419__issue19137__1.8.diff.txt
( 1) 20110419__issue19137__trunk.diff.txt
Description:Running against both asterisk v1.6 and 1.8 we are seeing an issue with the url sent to voiceglue is getting truncated.  Specifically if we send this message:

action: Originate
actionid: 33517025_5#AJ_ORIGINATE_0
application: Agi
data: agi://localhost/url=http%3A%2F%2F192.168.1.107%3A8080%2Fm%2Fmodule%2Far%2Fvxml%2Far%3Fr%3D1
async: true
channel: SIP/1000
timeout: 10000

What gets passed to voiceglue is this URL:

it looks like in main/manager.c in action_originate (Line 3907) it copies the data element of the message into a fast_orginate_helper struct:

ast_copy_string(fast->appdata, appdata, sizeof(fast->appdata));

However the struct definition for fast_originate_helper only provides 80 characters for appdata (char appdata[AST_MAX_EXTENSION];) and that isn't big enough for a URL.  (elsewhere in the code I've seen appdata set to 1024)

Not only should that buffer be larger, but the app_tmp structure in main/pbx.c also needs to be increased (beyond the 256 character limit). (from Tilghman Lesher on asterisk-dev)
Comments:By: Tilghman Lesher (tilghman) 2011-04-19 01:07:49

Both buffers have been changed in the patches provided to eliminate the limit, instead of merely increasing it.