Skip Menu |

This queue is for tickets about the mod_perl CPAN distribution.

Report information
The Basics
Id: 18140
Status: resolved
Priority: 0/
Queue: mod_perl

People
Owner: Nobody in particular
Requestors: kolya [...] mail.ru
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: 1.29
Fixed in: (no value)



Subject: Syntax error with mod_perl and mod_rewrite, Apache::Registry
We use Apache::Registry and mod_rewrite. We give it url http://host/dir/%3F%09 than we get 500 error: [error] syntax error at (eval 24) line 1, near "package Apache::ROOTbf_2ehost_2edomain::bla::bla::_3f_ 9_"\n. There is a space beetween '_' and '9'. The bug is in line: script_name =~ s/([^A-Za-z0-9_\/])/sprintf("_%2x",unpack("C",$1))/eg; (line 84). It converts bytes to hex and do not add leading zeroes. We shoud changethis tile to script_name =~ s/([^A-Za-z0-9_\/])/sprintf("_%02x",unpack("C",$1))/eg; This fixes the problem, I think. Please apply.
and text: --------------------- $script_name =~ s{ (/+) # directory (\d?) # package's first character }[ "::" . (length $2 ? sprintf("_%2x",unpack("C",$2)) : "") ]egx; ----------- needs to be fixed too: ----------- $script_name =~ s{ (/+) # directory (\d?) # package's first character }[ "::" . (length $2 ? sprintf("_%02x",unpack("C",$2)) : "") ]egx; -----------