[Opalvoip-svn] SF.net SVN: opalvoip:[28111] ptlib/trunk
Brought to you by:
csoutheren,
rjongbloed
From: <rjo...@us...> - 2012-07-31 02:13:37
|
Revision: 28111 http://opalvoip.svn.sourceforge.net/opalvoip/?rev=28111&view=rev Author: rjongbloed Date: 2012-07-31 02:13:31 +0000 (Tue, 31 Jul 2012) Log Message: ----------- Fixed missing "safe" characters used in parameters section of a URI. This shouldn't be necessary as the other side should always be able to decode the escaped character, so escaping more than necessary is OK. But sadly "should" and "is" are different things. Modified Paths: -------------- ptlib/trunk/src/ptclib/url.cxx Property Changed: ---------------- ptlib/trunk/ Property changes on: ptlib/trunk ___________________________________________________________________ Modified: svn:mergeinfo - /opal/branches/v3_6:23595 /opal/trunk:26179 /ptlib/branches/EpsilonEridani:27900,27903 /ptlib/branches/Sirius_B:24839,24844,24968,24982 /ptlib/branches/csoutheren/LalandeBranch1:23331-23333,23723 /ptlib/branches/v2_10:25177-28079 /ptlib/branches/v2_2:20746,20791,20827,22014,22942 /ptlib/branches/v2_4:21086,21094,21147,21160,21185,21281,21296,21305,21322,21337,21363,21467,21471-21472,21506,21508,21623,21695,21744,21746,21763,22241,22958,23045-23046,23061,23066,23712 /ptlib/branches/v2_6:22195,22243,22295,22304,22311,22317,22320,22356,22458,22509,22587,22601-22602,22611,22629,22633,22673,22681,22729,22731-22732,22736,22742,22848,22960,22992,23161,23163,23167,23169,23177,23239,23291,23298,23336,23429,23595,23823,23827,23873,24816 /ptlib/branches/v2_8:24034,24044,24046,24054,24060,24065,24084,24090,24113,24136,24142,24165-24166,24168,24172,24367,24372,24410,24540,24992 + /opal/branches/v3_6:23595 /opal/trunk:26179 /ptlib/branches/EpsilonEridani:27900,27903 /ptlib/branches/Sirius_B:24839,24844,24968,24982 /ptlib/branches/csoutheren/LalandeBranch1:23331-23333,23723 /ptlib/branches/v2_10:25177-28110 /ptlib/branches/v2_2:20746,20791,20827,22014,22942 /ptlib/branches/v2_4:21086,21094,21147,21160,21185,21281,21296,21305,21322,21337,21363,21467,21471-21472,21506,21508,21623,21695,21744,21746,21763,22241,22958,23045-23046,23061,23066,23712 /ptlib/branches/v2_6:22195,22243,22295,22304,22311,22317,22320,22356,22458,22509,22587,22601-22602,22611,22629,22633,22673,22681,22729,22731-22732,22736,22742,22848,22960,22992,23161,23163,23167,23169,23177,23239,23291,23298,23336,23429,23595,23823,23827,23873,24816 /ptlib/branches/v2_8:24034,24044,24046,24054,24060,24065,24084,24090,24113,24136,24142,24165-24166,24168,24172,24367,24372,24410,24540,24992 Modified: ptlib/trunk/src/ptclib/url.cxx =================================================================== --- ptlib/trunk/src/ptclib/url.cxx 2012-07-31 02:08:09 UTC (rev 28110) +++ ptlib/trunk/src/ptclib/url.cxx 2012-07-31 02:13:31 UTC (rev 28111) @@ -232,6 +232,18 @@ safeChars += ":@&=$,|"; // Section 3.3 break; + case ParameterTranslation : + /* By strict RFC2396/3.3 this should be as for PathTranslation, but many + URI schemes have parameters of the form key=value so we don't allow + '=' character in the allowed set. Also, including one of "@,|" is + incompatible with some schemes, leave those out too. */ + safeChars += ":&+$"; + break; + + case QuotedParameterTranslation : + safeChars += "[]/:@&=+$,|"; + return str.FindSpan(safeChars) != P_MAX_INDEX ? str.ToLiteral() : str; + default : break; // Section 3.4, no reserved characters may be used } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |