[asterisk-commits] qwell: trunk r79905 - in /trunk: ./ channels/ include/asterisk/ main/
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Fri Aug 17 14:13:26 CDT 2007
Author: qwell
Date: Fri Aug 17 14:13:25 2007
New Revision: 79905
URL: http://svn.digium.com/view/asterisk?view=rev&rev=79905
Log:
Merged revisions 79904 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
(closes issue #10430)
........
r79904 | qwell | 2007-08-17 14:12:19 -0500 (Fri, 17 Aug 2007) | 11 lines
Don't send a semicolon over the wire in sip notify messages.
Caused by fix for issue 9938.
I basically took the code that existed before 9938 was fixed, and
copied it into a new function - ast_unescape_semicolon
There should be very few places this will be needed (pbx_config
does NOT need this (see issue 9938 for details))
Issue 10430, patch by me, with help/ideas from murf (thanks murf).
........
Modified:
trunk/ (props changed)
trunk/channels/chan_sip.c
trunk/include/asterisk/strings.h
trunk/main/utils.c
Propchange: trunk/
------------------------------------------------------------------------------
Binary property 'branch-1.4-merged' - no diff available.
Modified: trunk/channels/chan_sip.c
URL: http://svn.digium.com/view/asterisk/trunk/channels/chan_sip.c?view=diff&rev=79905&r1=79904&r2=79905
==============================================================================
--- trunk/channels/chan_sip.c (original)
+++ trunk/channels/chan_sip.c Fri Aug 17 14:13:25 2007
@@ -12310,7 +12310,7 @@
initreqprep(&req, p, SIP_NOTIFY);
for (var = varlist; var; var = var->next)
- add_header(&req, var->name, var->value);
+ add_header(&req, var->name, ast_unescape_semicolon(var->value));
/* Recalculate our side, and recalculate Call ID */
ast_sip_ouraddrfor(&p->sa.sin_addr, &p->ourip);
Modified: trunk/include/asterisk/strings.h
URL: http://svn.digium.com/view/asterisk/trunk/include/asterisk/strings.h?view=diff&rev=79905&r1=79904&r2=79905
==============================================================================
--- trunk/include/asterisk/strings.h (original)
+++ trunk/include/asterisk/strings.h Fri Aug 17 14:13:25 2007
@@ -147,6 +147,13 @@
char *ast_strip_quoted(char *s, const char *beg_quotes, const char *end_quotes);
/*!
+ \brief Strip backslash for "escaped" semicolons.
+ \brief s The string to be stripped (will be modified).
+ \return The stripped string.
+ */
+char *ast_unescape_semicolon(char *s);
+
+/*!
\brief Size-limited null-terminating string copy.
\arg dst The destination buffer.
\arg src The source string
Modified: trunk/main/utils.c
URL: http://svn.digium.com/view/asterisk/trunk/main/utils.c?view=diff&rev=79905&r1=79904&r2=79905
==============================================================================
--- trunk/main/utils.c (original)
+++ trunk/main/utils.c Fri Aug 17 14:13:25 2007
@@ -935,6 +935,21 @@
return s;
}
+char *ast_unescape_semicolon(char *s)
+{
+ char *e;
+ char *work = s;
+
+ while ((e = strchr(work, ';'))) {
+ if ((e > work) && (*(e-1) == '\\')) {
+ memmove(e - 1, e, strlen(e) + 1);
+ work = e;
+ }
+ }
+
+ return s;
+}
+
int ast_build_string_va(char **buffer, size_t *space, const char *fmt, va_list ap)
{
int result;
More information about the asterisk-commits
mailing list