{"thread":{"id":"29191","subject":"[PATCH 1/3] gitweb: Call to_utf8() on input string in chop_and_escape_str()","startedAt":"2011-12-17T09:15:21Z","lastAt":"2011-12-17T09:15:24Z","messageCount":4,"participants":["Jakub Narebski"],"isPatch":true,"patchVersion":1,"patchTotal":3},"messages":[{"id":"181371","messageId":"1324113324-21328-1-git-send-email-jnareb@gmail.com","threadId":"29191","inReplyTo":null,"subject":"[PATCH 0/3] gitweb: Various to_utf8 / esc_html fixes","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2011-12-17T09:15:21Z","receivedAt":"2011-12-17T09:15:21Z","isPatch":true,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"This is post-release resend of Jürgen patches (which were sent\nduring feature-freeze).\n\nI have slightly extended commit messages, and added my ACK.\n\nJürgen Kreileder (3):\n  gitweb: Call to_utf8() on input string in chop_and_escape_str()\n  gitweb: esc_html() site name for title in OPML\n  gitweb: Output valid utf8 in git_blame_common('data')\n\n gitweb/gitweb.perl |    8 ++++++--\n 1 files changed, 6 insertions(+), 2 deletions(-)\n\n-- \n1.7.6\n"},{"id":"181370","messageId":"1324113324-21328-2-git-send-email-jnareb@gmail.com","threadId":"29191","inReplyTo":"1324113324-21328-1-git-send-email-jnareb@gmail.com","subject":"[PATCH 1/3] gitweb: Call to_utf8() on input string in chop_and_escape_str()","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2011-12-17T09:15:22Z","receivedAt":"2011-12-17T09:15:22Z","isPatch":true,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"From: Jürgen Kreileder <jk@blackdown.de>\n\na) To fix the comparison with the chopped string,\n   otherwise we compare bytes with characters, as\n   chop_str() must run to_utf8() for correct operation\nb) To give the title attribute correct encoding;\n   we need to mark strings as UTF-8 before outpur\n\nSigned-off-by: Jürgen Kreileder <jk@blackdown.de>\nAcked-by: Jakub Narębski <jnareb@gmail.com>\n---\n gitweb/gitweb.perl |    1 +\n 1 files changed, 1 insertions(+), 0 deletions(-)\n\ndiff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl\nindex f80f259..35126cd 100755\n--- a/gitweb/gitweb.perl\n+++ b/gitweb/gitweb.perl\n@@ -1696,6 +1696,7 @@ sub chop_and_escape_str {\n \tmy ($str) = @_;\n \n \tmy $chopped = chop_str(@_);\n+\t$str = to_utf8($str);\n \tif ($chopped eq $str) {\n \t\treturn esc_html($chopped);\n \t} else {\n-- \n1.7.6\n"},{"id":"181372","messageId":"1324113324-21328-3-git-send-email-jnareb@gmail.com","threadId":"29191","inReplyTo":"1324113324-21328-1-git-send-email-jnareb@gmail.com","subject":"[PATCH 2/3] gitweb: esc_html() site name for title in OPML","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2011-12-17T09:15:23Z","receivedAt":"2011-12-17T09:15:23Z","isPatch":true,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"From: Jürgen Kreileder <jk@blackdown.de>\n\nThis escapes the site name in OPML (XML uses the same escaping rules\nas HTML).  Also fixes encoding issues because esc_html() uses\nto_utf8().\n\nSigned-off-by: Jürgen Kreileder <jk@blackdown.de>\nAcked-by: Jakub Narębski <jnareb@gmail.com>\n---\n gitweb/gitweb.perl |    3 ++-\n 1 files changed, 2 insertions(+), 1 deletions(-)\n\ndiff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl\nindex 35126cd..dcf4658 100755\n--- a/gitweb/gitweb.perl\n+++ b/gitweb/gitweb.perl\n@@ -7863,11 +7863,12 @@ sub git_opml {\n \t\t-charset => 'utf-8',\n \t\t-content_disposition => 'inline; filename=\"opml.xml\"');\n \n+\tmy $title = esc_html($site_name);\n \tprint <<XML;\n <?xml version=\"1.0\" encoding=\"utf-8\"?>\n <opml version=\"1.0\">\n <head>\n-  <title>$site_name OPML Export</title>\n+  <title>$title OPML Export</title>\n </head>\n <body>\n <outline text=\"git RSS feeds\">\n-- \n1.7.6\n"},{"id":"181373","messageId":"1324113324-21328-4-git-send-email-jnareb@gmail.com","threadId":"29191","inReplyTo":"1324113324-21328-1-git-send-email-jnareb@gmail.com","subject":"[PATCH 3/3] gitweb: Output valid utf8 in git_blame_common('data')","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2011-12-17T09:15:24Z","receivedAt":"2011-12-17T09:15:24Z","isPatch":true,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"From: Jürgen Kreileder <jk@blackdown.de>\n\nOtherwise when javascript-actions are enabled gitweb shown broken\nauthor names in the tooltips on blame pages ('blame_incremental'\nview).\n\nSigned-off-by: Jürgen Kreileder <jk@blackdown.de>\nAcked-by: Jakub Narębski <jnareb@gmail.com>\n---\n gitweb/gitweb.perl |    4 +++-\n 1 files changed, 3 insertions(+), 1 deletions(-)\n\ndiff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl\nindex dcf4658..d24763b 100755\n--- a/gitweb/gitweb.perl\n+++ b/gitweb/gitweb.perl\n@@ -6244,7 +6244,9 @@ sub git_blame_common {\n \t\t\t-type=>\"text/plain\", -charset => \"utf-8\",\n \t\t\t-status=> \"200 OK\");\n \t\tlocal $| = 1; # output autoflush\n-\t\tprint while <$fd>;\n+\t\twhile (my $line = <$fd>) {\n+\t\t\tprint to_utf8($line);\n+\t\t}\n \t\tclose $fd\n \t\t\tor print \"ERROR $!\\n\";\n \n-- \n1.7.6\n"}]}