[asterisk-bugs] [Asterisk 0014110]: [patch] SIPAddHeader problems with escaping and quoting

Asterisk Bug Tracker noreply at bugs.digium.com
Tue Dec 23 10:25:23 CST 2008


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=14110 
====================================================================== 
Reported By:                gork
Assigned To:                Corydon76
====================================================================== 
Project:                    Asterisk
Issue ID:                   14110
Category:                   Channels/chan_sip/General
Reproducibility:            always
Severity:                   tweak
Priority:                   normal
Status:                     ready for testing
Asterisk Version:           1.6.0.3-rc1 
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Disclaimer on File?:        N/A 
Request Review:              
====================================================================== 
Date Submitted:             2008-12-18 17:58 CST
Last Modified:              2008-12-23 10:25 CST
====================================================================== 
Summary:                    [patch] SIPAddHeader problems with escaping and
quoting
Description: 
To include semicolons in an argument to SIPAddHeader in extensions.conf
they must be escaped. SipAddHeader does not, however, unescape them when
adding the header, thus it is impossible to include semicolons in a sip
header using extensions.conf. Semicolons are a very important part of many
SIP headers that users might want to add with this application.

Additionally, if a double quote is the last character of the argument
passed to SIPAddHeader and the entire header is not contained within double
quotes, it will not be included in the header.
====================================================================== 

---------------------------------------------------------------------- 
 (0096907) gork (reporter) - 2008-12-23 10:25
 http://bugs.digium.com/view.php?id=14110#c96907 
---------------------------------------------------------------------- 
Patch seems to work OK however after posting this bug report I had also
implemented a workaround that may be much simpler.

It seems there has already been a function implemented to deal with
semicolons in the sip headers: ast_unescape_semicolon. This appears to be
the only place this function is used. My workaround was simply to do this
in sip_addheader (chan_sip.c) instead of passing the unprocessed inbuf:

pbx_builtin_setvar_helper (chan, varbuf, ast_unescape_semicolon(inbuf));

Since you are adding another function to deal with this, wouldn't it make
more sense either to reuse the existing one or to replace
ast_unescape_semicolon as well? It seems your function may be a little more
generic for this purpose, but I don't pretend to understand as much about
this business as you guys. 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2008-12-23 10:25 gork           Note Added: 0096907                          
======================================================================




More information about the asterisk-bugs mailing list