* gitweb not friendly to firefox revived @ 2010-08-01 19:51 Uwe Kleine-König 2010-08-01 20:15 ` Ævar Arnfjörð Bjarmason 2010-08-01 20:26 ` Jakub Narebski 0 siblings, 2 replies; 12+ messages in thread From: Uwe Kleine-König @ 2010-08-01 19:51 UTC (permalink / raw) To: git; +Cc: kernel Hello, gitweb (at least) doesn't quote author names enough. Firefox barfs for me at looking at http://git.pengutronix.de/?p=ukl/linux-2.6.git;a=shortlog;h=v2.6.16.10 with an error: XML Parsing Error: not well-formed Location: http://git.pengutronix.de/?p=ukl/linux-2.6.git;a=shortlog;h=v2.6.16.10 Line Number 112, Column 81: <td class="author"><a title="Search for commits authored by YOSHIFUJI Hideaki / ?$B5HF#1QL@?(B" class="list" href="/?p=ukl/linux-2.6.git;a=search;h=v2.6.16.10;s=YOSHIFUJI+Hideaki+/+%1B%24B5HF%231QL@%1B(B;st=author"><span title="YOSHIFUJI Hideaki / ?$B5HF#1QL@?(B">YOSHIFUJI Hideaki... </span></a></td><td><a class="list subject" title="[PATCH] IPV6: XFRM: Fix decoding session with preceding extension header(s)." href="/?p=ukl/linux-2.6.git;a=commit;h=fa39df2ff7f6102f1f37d3cf1f68243534d56253">[PATCH] IPV6: XFRM: Fix decoding session with preceding... </a></td> --------------------------------------------------------------------------------^ This is with git 1.7.1 and Iceweasel (aka. Firefox) 3.5.10. Making title=>"Search for commits $performed by $author" in line 1694 of Debian's /usr/lib/cgi-bin/gitweb.cgi from the git 1.7.1 package read title=>esc_html("Search for commits $performed by $author") this problem goes away. (Still my browser barfs when clicking at the name.) I'm not sure if this is the right way to fix this and I'm too tired now to do a complete patch, so I let this for someone else. Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-König | Industrial Linux Solutions | http://www.pengutronix.de/ | ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: gitweb not friendly to firefox revived 2010-08-01 19:51 gitweb not friendly to firefox revived Uwe Kleine-König @ 2010-08-01 20:15 ` Ævar Arnfjörð Bjarmason 2010-08-02 5:31 ` Uwe Kleine-König 2010-08-01 20:26 ` Jakub Narebski 1 sibling, 1 reply; 12+ messages in thread From: Ævar Arnfjörð Bjarmason @ 2010-08-01 20:15 UTC (permalink / raw) To: Uwe Kleine-König; +Cc: git, kernel 2010/8/1 Uwe Kleine-König <u.kleine-koenig@pengutronix.de>: > This is with git 1.7.1 and Iceweasel (aka. Firefox) 3.5.10. > > Making > > title=>"Search for commits $performed by $author" > > in line 1694 of Debian's /usr/lib/cgi-bin/gitweb.cgi from the git 1.7.1 > package read > > title=>esc_html("Search for commits $performed by $author") > > this problem goes away. (Still my browser barfs when clicking at the name.) That fix seems correct, the author appears to have control characters in his name. Probably as a result of some encoding corruption. What's the URL of the Git repository itself? It'd be interesting to see how that went wrong in the first place. ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: gitweb not friendly to firefox revived 2010-08-01 20:15 ` Ævar Arnfjörð Bjarmason @ 2010-08-02 5:31 ` Uwe Kleine-König 0 siblings, 0 replies; 12+ messages in thread From: Uwe Kleine-König @ 2010-08-02 5:31 UTC (permalink / raw) To: Ævar Arnfjörð Bjarmason; +Cc: git, kernel Hi, > What's the URL of the Git repository itself? It'd be interesting to > see how that went wrong in the first place. it's just a copy of 2.6.16.y that is available at kernel.org: git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-2.6.16.y.git The commit happend before 2.6.16.10. Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-König | Industrial Linux Solutions | http://www.pengutronix.de/ | ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: gitweb not friendly to firefox revived 2010-08-01 19:51 gitweb not friendly to firefox revived Uwe Kleine-König 2010-08-01 20:15 ` Ævar Arnfjörð Bjarmason @ 2010-08-01 20:26 ` Jakub Narebski 2010-08-03 21:07 ` Uwe Kleine-König 1 sibling, 1 reply; 12+ messages in thread From: Jakub Narebski @ 2010-08-01 20:26 UTC (permalink / raw) To: Uwe Kleine-König; +Cc: git, kernel, Stephen Boyd Uwe Kleine-König <u.kleine-koenig@pengutronix.de> writes: > Hello, > > gitweb (at least) doesn't quote author names enough. > > Firefox barfs for me at looking at > > http://git.pengutronix.de/?p=ukl/linux-2.6.git;a=shortlog;h=v2.6.16.10 > > with an error: > > XML Parsing Error: not well-formed Location: > http://git.pengutronix.de/?p=ukl/linux-2.6.git;a=shortlog;h=v2.6.16.10 > Line Number 112, Column 81: > <td class="author"><a title="Search for commits authored by YOSHIFUJI Hideaki / ?$B5HF#1QL@?(B" class="list" href="/?p=ukl/linux-2.6.git;a=search;h=v2.6.16.10;s=YOSHIFUJI+Hideaki+/+%1B%24B5HF%231QL@%1B(B;st=author"><span title="YOSHIFUJI Hideaki / ?$B5HF#1QL@?(B">YOSHIFUJI Hideaki... </span></a></td><td><a class="list subject" title="[PATCH] IPV6: XFRM: Fix decoding session with preceding extension header(s)." href="/?p=ukl/linux-2.6.git;a=commit;h=fa39df2ff7f6102f1f37d3cf1f68243534d56253">[PATCH] IPV6: XFRM: Fix decoding session with preceding... </a></td> > --------------------------------------------------------------------------------^ > > This is with git 1.7.1 and Iceweasel (aka. Firefox) 3.5.10. > > Making > > title=>"Search for commits $performed by $author" > > in line 1694 of Debian's /usr/lib/cgi-bin/gitweb.cgi from the git 1.7.1 > package read > > title=>esc_html("Search for commits $performed by $author") > > this problem goes away. (Still my browser barfs when clicking at the name.) > > I'm not sure if this is the right way to fix this and I'm too tired now > to do a complete patch, so I let this for someone else. Actually gitweb leaves quoting of tag attributes to CGI module: return $cgi->a({-href => href(action=>"search", hash=>$hash, searchtext=>$author, searchtype=>$searchtype), -class => "list", -title => "Search for commits $performed by $author"}, $displaytext); I am worrying (perhaps unnecessary) that using esc_html would result in double escaping. But it looks like the problem is with Unicode, so perhaps using title => to_utf8("Search for commits $performed by $author") in place of title=>esc_html("Search for commits $performed by $author") would be a better fix? Does this fix work for you? Cc-ed Stephen Boyd, who is author of commit e133d65 (gitweb: linkify author/committer names with search, 2009-10-15), introducing the code you found this bug in. -- Jakub Narebski Poland ShadeHawk on #git ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: gitweb not friendly to firefox revived 2010-08-01 20:26 ` Jakub Narebski @ 2010-08-03 21:07 ` Uwe Kleine-König 2010-08-03 21:50 ` Jakub Narebski 0 siblings, 1 reply; 12+ messages in thread From: Uwe Kleine-König @ 2010-08-03 21:07 UTC (permalink / raw) To: Jakub Narebski; +Cc: git, kernel, Stephen Boyd On Sun, Aug 01, 2010 at 01:26:16PM -0700, Jakub Narebski wrote: > Uwe Kleine-König <u.kleine-koenig@pengutronix.de> writes: > > > Hello, > > > > gitweb (at least) doesn't quote author names enough. > > > > Firefox barfs for me at looking at > > > > http://git.pengutronix.de/?p=ukl/linux-2.6.git;a=shortlog;h=v2.6.16.10 > > > > with an error: > > > > XML Parsing Error: not well-formed Location: > > http://git.pengutronix.de/?p=ukl/linux-2.6.git;a=shortlog;h=v2.6.16.10 > > Line Number 112, Column 81: > > <td class="author"><a title="Search for commits authored by YOSHIFUJI Hideaki / ?$B5HF#1QL@?(B" class="list" href="/?p=ukl/linux-2.6.git;a=search;h=v2.6.16.10;s=YOSHIFUJI+Hideaki+/+%1B%24B5HF%231QL@%1B(B;st=author"><span title="YOSHIFUJI Hideaki / ?$B5HF#1QL@?(B">YOSHIFUJI Hideaki... </span></a></td><td><a class="list subject" title="[PATCH] IPV6: XFRM: Fix decoding session with preceding extension header(s)." href="/?p=ukl/linux-2.6.git;a=commit;h=fa39df2ff7f6102f1f37d3cf1f68243534d56253">[PATCH] IPV6: XFRM: Fix decoding session with preceding... </a></td> > > --------------------------------------------------------------------------------^ > > > > This is with git 1.7.1 and Iceweasel (aka. Firefox) 3.5.10. > > > > Making > > > > title=>"Search for commits $performed by $author" > > > > in line 1694 of Debian's /usr/lib/cgi-bin/gitweb.cgi from the git 1.7.1 > > package read > > > > title=>esc_html("Search for commits $performed by $author") > > > > this problem goes away. (Still my browser barfs when clicking at the name.) > > > > I'm not sure if this is the right way to fix this and I'm too tired now > > to do a complete patch, so I let this for someone else. > > Actually gitweb leaves quoting of tag attributes to CGI module: > > return $cgi->a({-href => href(action=>"search", hash=>$hash, > searchtext=>$author, searchtype=>$searchtype), > -class => "list", > -title => "Search for commits $performed by $author"}, > $displaytext); > > I am worrying (perhaps unnecessary) that using esc_html would result > in double escaping. But it looks like the problem is with Unicode, > so perhaps using > > title => to_utf8("Search for commits $performed by $author") > > in place of > > title=>esc_html("Search for commits $performed by $author") > > would be a better fix? Does this fix work for you? No, this doesn't help. Firefox still barfs with to_utf8. With esc_html the code generated is: <a title="Search for commits authored by YOSHIFUJI Hideaki / <span class="cntrl">\e</span>$B5HF#1QL@<span class="cntrl">\e</span>(B" class="list" href="/?p=.git;a=search;h=f66ab685594d49e570b2176cfa20b03360e9a6e9;s=YOSHIFUJI+Hideaki+/+%1B%24B5HF%231QL@%1B(B;st=author"><span title="YOSHIFUJI Hideaki / ?$B5HF#1QL@?(B">YOSHIFUJI Hideaki... </span></a> Thanks Uwe -- Pengutronix e.K. | Uwe Kleine-König | Industrial Linux Solutions | http://www.pengutronix.de/ | ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: gitweb not friendly to firefox revived 2010-08-03 21:07 ` Uwe Kleine-König @ 2010-08-03 21:50 ` Jakub Narebski 2010-08-12 9:23 ` Uwe Kleine-König 2010-08-14 10:33 ` Stephen Boyd 0 siblings, 2 replies; 12+ messages in thread From: Jakub Narebski @ 2010-08-03 21:50 UTC (permalink / raw) To: Uwe Kleine-König; +Cc: git, kernel, Stephen Boyd On Tue, Aug 03, 2010, Uwe Kleine-König wrote: > On Sun, Aug 01, 2010 at 01:26:16PM -0700, Jakub Narebski wrote: > > Uwe Kleine-König <u.kleine-koenig@pengutronix.de> writes: > > > > > Hello, > > > > > > gitweb (at least) doesn't quote author names enough. > > > > > > Firefox barfs for me at looking at > > > > > > http://git.pengutronix.de/?p=ukl/linux-2.6.git;a=shortlog;h=v2.6.16.10 > > > > > > with an error: > > > > > > XML Parsing Error: not well-formed Location: > > > http://git.pengutronix.de/?p=ukl/linux-2.6.git;a=shortlog;h=v2.6.16.10 > > > Line Number 112, Column 81: > > > <td class="author"><a title="Search for commits authored by YOSHIFUJI Hideaki / ?$B5HF#1QL@?(B" class="list" href="/?p=ukl/linux-2.6.git;a=search;h=v2.6.16.10;s=YOSHIFUJI+Hideaki+/+%1B%24B5HF%231QL@%1B(B;st=author"><span title="YOSHIFUJI Hideaki / ?$B5HF#1QL@?(B">YOSHIFUJI Hideaki... </span></a></td><td><a class="list subject" title="[PATCH] IPV6: XFRM: Fix decoding session with preceding extension header(s)." href="/?p=ukl/linux-2.6.git;a=commit;h=fa39df2ff7f6102f1f37d3cf1f68243534d56253">[PATCH] IPV6: XFRM: Fix decoding session with preceding... </a></td> > > > --------------------------------------------------------------------------------^ > > > > > > This is with git 1.7.1 and Iceweasel (aka. Firefox) 3.5.10. > > > > > > Making > > > > > > title=>"Search for commits $performed by $author" > > > > > > in line 1694 of Debian's /usr/lib/cgi-bin/gitweb.cgi from the git 1.7.1 > > > package read > > > > > > title=>esc_html("Search for commits $performed by $author") > > > > > > this problem goes away. (Still my browser barfs when clicking at the name.) > > > > > > I'm not sure if this is the right way to fix this and I'm too tired now > > > to do a complete patch, so I let this for someone else. > > > > Actually gitweb leaves quoting of tag attributes to CGI module: > > > > return $cgi->a({-href => href(action=>"search", hash=>$hash, > > searchtext=>$author, searchtype=>$searchtype), > > -class => "list", > > -title => "Search for commits $performed by $author"}, > > $displaytext); > > > > I am worrying (perhaps unnecessary) that using esc_html would result > > in double escaping. But it looks like the problem is with Unicode, > > so perhaps using > > > > title => to_utf8("Search for commits $performed by $author") > > > > in place of > > > > title=>esc_html("Search for commits $performed by $author") > > > > would be a better fix? Does this fix work for you? > > No, this doesn't help. Firefox still barfs with to_utf8. > > With esc_html the code generated is: > > <a title="Search for commits authored by YOSHIFUJI Hideaki / <span class="cntrl">\e</span>$B5HF#1QL@<span class="cntrl">\e</span>(B" class="list" href="/?p=.git;a=search;h=f66ab685594d49e570b2176cfa20b03360e9a6e9;s=YOSHIFUJI+Hideaki+/+%1B%24B5HF%231QL@%1B(B;st=author"><span title="YOSHIFUJI Hideaki / ?$B5HF#1QL@?(B">YOSHIFUJI Hideaki... </span></a> As you can see the HTML code generated with esc_html solution is way wrong because of embedded '<span class="cntrl">\e</span>' as you see _without_ '"' being escaped, so HTML is wrong. Nevertheless it shows what's the problem. Somehow (perhaps wrong encoding, perhaps screw up with quoted-printable and git-am, perhaps copy'n' paste included ANSII color codes from terminal, perhaps something different altogether) you got control characters (\e = ESC) in $author. In strict XHTML mode (with 'application/xml Please try the following patch -- >8 -- From: Jakub Narebski <jnareb@gmail.com> Subject: [PATCH] gitweb: Harden format_search_author() Protect format_search_author against control characters in $author. While at it simplify it a bit, and use spaces for align. Signed-off-by: Jakub Narebski <jnareb@gmail.com> --- gitweb/gitweb.perl | 29 ++++++++++++++--------------- 1 files changed, 14 insertions(+), 15 deletions(-) diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl index 8b02767..ea9c09c 100755 --- a/gitweb/gitweb.perl +++ b/gitweb/gitweb.perl @@ -1856,23 +1856,22 @@ sub format_search_author { my ($author, $searchtype, $displaytext) = @_; my $have_search = gitweb_check_feature('search'); - if ($have_search) { - my $performed = ""; - if ($searchtype eq 'author') { - $performed = "authored"; - } elsif ($searchtype eq 'committer') { - $performed = "committed"; - } - - return $cgi->a({-href => href(action=>"search", hash=>$hash, - searchtext=>$author, - searchtype=>$searchtype), class=>"list", - title=>"Search for commits $performed by $author"}, - $displaytext); + return $displaytext unless ($have_search); - } else { - return $displaytext; + my $performed = ""; + if ($searchtype eq 'author') { + $performed = "authored"; + } elsif ($searchtype eq 'committer') { + $performed = "committed"; } + + my $title = to_utf8("Search for commits $performed by $author"); + $title =~ s/[[:cntrl:]]/?/g; + + return $cgi->a({-href => href(action=>"search", hash=>$hash, + searchtext=>$author, searchtype=>$searchtype), + -class=>"list", -title=>$title}, + $displaytext); } # format the author name of the given commit with the given tag -- 1.7.2.1 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: gitweb not friendly to firefox revived 2010-08-03 21:50 ` Jakub Narebski @ 2010-08-12 9:23 ` Uwe Kleine-König 2010-08-14 10:33 ` Stephen Boyd 1 sibling, 0 replies; 12+ messages in thread From: Uwe Kleine-König @ 2010-08-12 9:23 UTC (permalink / raw) To: Jakub Narebski; +Cc: git, kernel, Stephen Boyd Hello, > Nevertheless it shows what's the problem. Somehow (perhaps wrong > encoding, perhaps screw up with quoted-printable and git-am, perhaps > copy'n' paste included ANSII color codes from terminal, perhaps something > different altogether) you got control characters (\e = ESC) in $author. > In strict XHTML mode (with 'application/xml > > Please try the following patch > > -- >8 -- > From: Jakub Narebski <jnareb@gmail.com> > Subject: [PATCH] gitweb: Harden format_search_author() > > Protect format_search_author against control characters in $author. > While at it simplify it a bit, and use spaces for align. > > Signed-off-by: Jakub Narebski <jnareb@gmail.com> > --- > gitweb/gitweb.perl | 29 ++++++++++++++--------------- > 1 files changed, 14 insertions(+), 15 deletions(-) > > diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl > index 8b02767..ea9c09c 100755 > --- a/gitweb/gitweb.perl > +++ b/gitweb/gitweb.perl > @@ -1856,23 +1856,22 @@ sub format_search_author { > my ($author, $searchtype, $displaytext) = @_; > my $have_search = gitweb_check_feature('search'); > > - if ($have_search) { > - my $performed = ""; > - if ($searchtype eq 'author') { > - $performed = "authored"; > - } elsif ($searchtype eq 'committer') { > - $performed = "committed"; > - } > - > - return $cgi->a({-href => href(action=>"search", hash=>$hash, > - searchtext=>$author, > - searchtype=>$searchtype), class=>"list", > - title=>"Search for commits $performed by $author"}, > - $displaytext); > + return $displaytext unless ($have_search); > > - } else { > - return $displaytext; > + my $performed = ""; > + if ($searchtype eq 'author') { > + $performed = "authored"; > + } elsif ($searchtype eq 'committer') { > + $performed = "committed"; > } > + > + my $title = to_utf8("Search for commits $performed by $author"); > + $title =~ s/[[:cntrl:]]/?/g; > + > + return $cgi->a({-href => href(action=>"search", hash=>$hash, > + searchtext=>$author, searchtype=>$searchtype), > + -class=>"list", -title=>$title}, > + $displaytext); > } Seems to do the right thing. With Firefox I get a correct listing now instead of the xml parse error. Thanks Uwe -- Pengutronix e.K. | Uwe Kleine-König | Industrial Linux Solutions | http://www.pengutronix.de/ | ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: gitweb not friendly to firefox revived 2010-08-03 21:50 ` Jakub Narebski 2010-08-12 9:23 ` Uwe Kleine-König @ 2010-08-14 10:33 ` Stephen Boyd 2010-08-14 10:48 ` Ævar Arnfjörð Bjarmason 2010-08-14 12:29 ` Jakub Narebski 1 sibling, 2 replies; 12+ messages in thread From: Stephen Boyd @ 2010-08-14 10:33 UTC (permalink / raw) To: Jakub Narebski; +Cc: Uwe Kleine-König, git, kernel 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? ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: gitweb not friendly to firefox revived 2010-08-14 10:33 ` Stephen Boyd @ 2010-08-14 10:48 ` Ævar Arnfjörð Bjarmason 2010-08-14 12:33 ` Jakub Narebski 2010-08-14 12:29 ` Jakub Narebski 1 sibling, 1 reply; 12+ messages in thread From: Ævar Arnfjörð Bjarmason @ 2010-08-14 10:48 UTC (permalink / raw) To: Stephen Boyd; +Cc: Jakub Narebski, Uwe Kleine-König, git, kernel 2010/8/14 Stephen Boyd <bebarino@gmail.com>: > 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? I don't think stripping them out is the right thing either, hiding from you that something is Really Wrong (binary garbage in patches) isn't good. Something like this would be better: s/([[:cntrl:]])/sprintf("\\%03x", ord $1)/ge E.g.: $ perl -E 'my $s = join "", map { chr } 1 .. 40; $s =~ s/([[:cntrl:]])/sprintf("\\%03x", ord $1)/ge; say $s' \001\002\003\004\005\006\007\008\009\00a\00b\00c\00d\00e\00f\010\011\012\013\014\015\016\017\018\019\01a\01b\01c\01d\01e\01f !"#$%&'( ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: gitweb not friendly to firefox revived 2010-08-14 10:48 ` Ævar Arnfjörð Bjarmason @ 2010-08-14 12:33 ` Jakub Narebski 2010-09-07 8:22 ` Uwe Kleine-König 0 siblings, 1 reply; 12+ messages in thread From: Jakub Narebski @ 2010-08-14 12:33 UTC (permalink / raw) To: Ævar Arnfjörð Bjarmason Cc: Stephen Boyd, Uwe Kleine-König, git, kernel On Sat, 14 Aug 2010, Ævar Arnfjörð Bjarmason wrote: > 2010/8/14 Stephen Boyd <bebarino@gmail.com>: >> 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? > > I don't think stripping them out is the right thing either, hiding > from you that something is Really Wrong (binary garbage in patches) > isn't good. > > Something like this would be better: > > s/([[:cntrl:]])/sprintf("\\%03x", ord $1)/ge Or s|([[:cntrl:]])|quot_cec($1)|eg; But is it worth it? This is about _title_ attribute, shown only on mouseover (mouse hover). But perhaps it would be worth it to add 'prep_attr' and 'esc_attr' functions, though esc_html can be used in those places where esc_attr would be needed... -- Jakub Narebski Poland ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: gitweb not friendly to firefox revived 2010-08-14 12:33 ` Jakub Narebski @ 2010-09-07 8:22 ` Uwe Kleine-König 0 siblings, 0 replies; 12+ messages in thread From: Uwe Kleine-König @ 2010-09-07 8:22 UTC (permalink / raw) To: Jakub Narebski Cc: Ævar Arnfjörð Bjarmason, Stephen Boyd, git, kernel Hello, just to stop this topic dying ... On Sat, Aug 14, 2010 at 02:33:33PM +0200, Jakub Narebski wrote: > On Sat, 14 Aug 2010, Ævar Arnfjörð Bjarmason wrote: > > 2010/8/14 Stephen Boyd <bebarino@gmail.com>: > >> 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? > > > > I don't think stripping them out is the right thing either, hiding > > from you that something is Really Wrong (binary garbage in patches) > > isn't good. > > > > Something like this would be better: > > > > s/([[:cntrl:]])/sprintf("\\%03x", ord $1)/ge > > Or > s|([[:cntrl:]])|quot_cec($1)|eg; > > But is it worth it? This is about _title_ attribute, shown only on > mouseover (mouse hover). > > > But perhaps it would be worth it to add 'prep_attr' and 'esc_attr' > functions, though esc_html can be used in those places where esc_attr > would be needed... Is there something I can do to bring this forward? (I assume this isn't fixed yet, at least it isn't in Debian's 1.7.2.3 package.) Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-König | Industrial Linux Solutions | http://www.pengutronix.de/ | ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: gitweb not friendly to firefox revived 2010-08-14 10:33 ` Stephen Boyd 2010-08-14 10:48 ` Ævar Arnfjörð Bjarmason @ 2010-08-14 12:29 ` Jakub Narebski 1 sibling, 0 replies; 12+ messages in thread From: Jakub Narebski @ 2010-08-14 12:29 UTC (permalink / raw) To: Stephen Boyd; +Cc: Uwe Kleine-König, git, kernel On Sat, 14 Aug 2010, Stephen Boyd wrote: > 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 ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2010-09-07 8:23 UTC | newest] Thread overview: 12+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2010-08-01 19:51 gitweb not friendly to firefox revived Uwe Kleine-König 2010-08-01 20:15 ` Ævar Arnfjörð Bjarmason 2010-08-02 5:31 ` Uwe Kleine-König 2010-08-01 20:26 ` Jakub Narebski 2010-08-03 21:07 ` Uwe Kleine-König 2010-08-03 21:50 ` Jakub Narebski 2010-08-12 9:23 ` Uwe Kleine-König 2010-08-14 10:33 ` Stephen Boyd 2010-08-14 10:48 ` Ævar Arnfjörð Bjarmason 2010-08-14 12:33 ` Jakub Narebski 2010-09-07 8:22 ` Uwe Kleine-König 2010-08-14 12:29 ` Jakub Narebski
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).