Hi,
I've noticed that {s.escape.param} doesn't change "@" into "%40", and yet RFC3261 specifies pvalue as
pvalue = 1*paramchar paramchar = param-unreserved / unreserved / escaped param-unreserved = "[" / "]" / "/" / ":" / "&" / "+" / "$"
with: unreserved = alphanum / mark mark = "-" / "_" / "." / "!" / "~" / "*" / "'" / "(" / ")" escaped = "%" HEXDIG HEXDIG
I've committed a patch in coudot/escape-param branch to fix the escape function. Several unreserved characters were escaped, and some reserved ones weren't.
Regards
Hello,
should be fine to merge in master branch. Can you list the characters which are no longer escaped to be sure we don't introduce any issues to what people would expect based on old version?
Cheers, Daniel
On 11/6/13 4:33 PM, Camille Oudot wrote:
Hi,
I've noticed that {s.escape.param} doesn't change "@" into "%40", and yet RFC3261 specifies pvalue as
pvalue = 1*paramchar paramchar = param-unreserved / unreserved / escaped param-unreserved = "[" / "]" / "/" / ":" / "&" / "+" / "$"
with: unreserved = alphanum / mark mark = "-" / "_" / "." / "!" / "~" / "*" / "'" / "(" / ")" escaped = "%" HEXDIG HEXDIG
I've committed a patch in coudot/escape-param branch to fix the escape function. Several unreserved characters were escaped, and some reserved ones weren't.
Regards
Le Sun, 24 Nov 2013 17:41:10 +0100, Daniel-Constantin Mierla miconda@gmail.com a écrit :
Can you list the characters which are no longer escaped to be sure we don't introduce any issues to what people would expect based on old version?
Sure,
in the new version, the '&' and '+' characters are *no longer escaped*, since this is not required.
Every printable character is now escaped, except for:
* alphanum characters: [a-zA-Z0-9] * unreserved characters: '-', '_', '.', '!', '~', '*', ''', '(', ')', '[', ']', '/', ':', '&', '+', '$'
any string containing a non printable character (<32 or >126) is still rejected.
Regards,