git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: gitweb not friendly to firefox revived

From
Jakub Narebski <jnareb@gmail.com>
Date
Aug 14, 2010, 12:29 UTC
Message-ID
<201008141429.36829.jnareb@gmail.com>
In-Reply-To
<4C6670EE.3060806@gmail.com>
On Sat, 14 Aug 2010, Stephen Boyd wrote:
Show 13 quoted lines
>   On 08/03/2010 02:50 PM, Jakub Narebski wrote:
> > +
> > +	my $title = to_utf8("Search for commits $performed by $author");
> > +	$title =~ s/[[:cntrl:]]/?/g;
> > +
> >
> 
> Isn't it possible that other data coming from git could have escape
> characters in them such as the commit subject line? In which case this
> same bug would occur?  
> 
> Therefore isn't it better to strip out control characters (that's what
> this patch is doing right?) in esc_html? 

First, esc_html and esc_path *do* escape control characters using either control escape characters (e.g. "\n" for LF), or escaped octal representation (e.g. "\001").

Second, it does not help with contents of *attributes* of HTML tag elements (like e.g. 'title' attribute) when those elements are generated using CGI (e.g. $cgi->a({..., -title => ...},esc_html(...))). Unfortunately (older?) CGI.pm does not escape control characters, and we cannot do escape ourselves because it would lead to double escaping.

The problem with Firefox is that in strict XHTML conformance model (XHTML DTD and application/xhtml+xml mimetype) it *enforces* that XML is well formed, which includes lack of control characters, instead of silently allowing it like in more loose HTML mode.

-- 
Jakub Narebski
Poland
Previous: Uwe Kleine-König
Message 12 of 12 in “gitweb not friendly to firefox revived”
  1. Uwe Kleine-KönigAug 1, 2010
  2. Ævar Arnfjörð BjarmasonAug 1, 2010
  3. Uwe Kleine-KönigAug 2, 2010
  4. Jakub NarebskiAug 1, 2010
  5. Uwe Kleine-KönigAug 3, 2010
  6. Jakub NarebskiAug 3, 2010
  7. Uwe Kleine-KönigAug 12, 2010
  8. Stephen BoydAug 14, 2010
  9. Ævar Arnfjörð BjarmasonAug 14, 2010
  10. Jakub NarebskiAug 14, 2010
  11. Uwe Kleine-KönigSep 7, 2010
  12. Jakub NarebskiAug 14, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.