sub url from perl cgi library fails on special characters
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
perl (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
Binary package hint: perl
hardy: ii perl 5.8.8-12ubuntu0.4 Larry Wall's Practical Extraction and Report
lucid: ii perl 5.10.1-8ubuntu2.1 Larry Wall's Practical Extraction and Report
Between Hardy and Lucid, CGI.pm has a change that breaks "sub url" when both the request_uri and the target contains special characters:
root@cricket:
2740c2740
< my $request_uri = unescape(
---
> my $request_uri = $self->request_uri || '';
If you pass in a target with a special character (in my case a +) and your $request_uri includes that character the outputed url includes an http escaped version of the $request_uri followed by the target url:
#run from /home/one+two
$cgi = new CGI;
$cgi->path_
print $cgi->url(
#output: /home/one%
I'm not sure why this change was made, so I don't know what other side effect it will have, but it breaks all URLs that contain special characters, so it should be removed.
ProblemType: Bug
DistroRelease: Ubuntu 10.04
Package: perl 5.10.1-8ubuntu2.1
ProcVersionSign
Uname: Linux 2.6.32-30-generic x86_64
NonfreeKernelMo
Architecture: amd64
Date: Thu May 19 13:36:25 2011
LiveMediaBuild: Ubuntu 10.04.1 LTS "Lucid Lynx" - Release amd64 (20100816.1)
ProcEnviron:
PATH=(custom, user)
LANG=en_US.utf8
SHELL=/bin/bash
SourcePackage: perl
tags: | added: trusty |
tags: | removed: lucid |
Closing that outdated report as EOL has been reached long time ago