Skip Menu |

This queue is for tickets about the URI CPAN distribution.

Report information
The Basics
Id: 21640
Status: resolved
Priority: 0/
Queue: URI

People
Owner: Nobody in particular
Requestors: julian [...] mehnle.net
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in:
  • 1.12
  • 1.16
  • 1.17
  • 1.18
  • 1.19
  • 1.20
  • 1.21
  • 1.22
  • 1.23
  • 1.24
  • 1.25
  • 1.26
  • 1.27
  • 1.28
  • 1.29
  • 1.30
  • 1.31
  • 1.32
  • 1.33
  • 1.34
  • 1.35
Fixed in:
  • 1.53
  • 1.54



Subject: URI::Escape::uri_escape() default $unsafe chars outdated -- "unreserved" definition was changed in RFC 3986
The default set of safe characters of URI::Escape::uri_escape() is [A-Za-z0-9\-_.!~*'()]. This corresponds to the set of characters procuded by the "unreserved" grammar element in RFC 2396. RFC 2396, however, has been replaced by RFC 3986 in January 2005, and the definition of the "unreserved" characters has deliberately been changed (see <http://www.greenbytes.de/tech/webdav/draft-fielding-uri- rfc2396bis-04.html#changes>, search for "uric") from [A-Za-z0-9\- _.!~*'()] to [A-Za-z0-9\-._~], i.e. the characters [!*'()] are no longer "unreserved". The URI::Escape::uri_escape() default list of safe/unsage characters should be adjusted to match the updated definition.
This was fixed by commit a3a2e2c28ab746ffe96196fca990c1a42c58bfdd and released as URI- 1.53