Subject: Re: [RFD] gitweb: href() function to generate URLs for CGI

From: Jakub Narebski <[email-masked]>
Date: Tue, 22 Aug 2006 12:47:28 +0200

Junio C Hamano wrote:

> Semicolons and equals are used as separators between key-value
> pairs (i.e. syntactic elements) so if we have a value
> $params{$name} that happens to contain a ';' or '=' character I
> suspect we would want to quote that but not the one we use
> before the value or between tuples.  Otherwise, how is a search
> text that is "a = b;" encoded in the resulting href?

URL for search is created and encoded by browser I think, so search
for "a = b" generates

        gitweb.cgi?p=git.git&a=search&h=HEAD&s=a+%3D+b

URI (notice it uses '&' as parameter separator, not ';'), 
but because '=' is not on the list of valid $searchtext characters, 
due to 

        if ($searchtext =~ m/[^a-zA-Z0-9_\.\/\-\+\:\@ ]/)

gitweb returns "403 Forbidden - Invalid search parameter".

-- 
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git