diff mbox series

[RFC] gitweb: Handle non-ASCII email addresses

Message ID 20210915192647.6fnk7ktwldz7uubf@lug-owl.de (mailing list archive)
State New, archived
Headers show
Series [RFC] gitweb: Handle non-ASCII email addresses | expand

Commit Message

Jan-Benedict Glaw Sept. 15, 2021, 7:26 p.m. UTC
Hi!

I accidentally had a bad user.email setting ("jbglaw@ług-owl.de"
instead of "jbglaw@lug-owl.de") and this leads to incomplete HTML
being generated by gitweb, along with an error message:

index.cgi: Wide character in subroutine entry at /usr/share/gitweb/index.cgi line 2208.

This patch may fix it, but I'm NOT a Perl guy:


Comments?

Thanks,
  Jan-Benedict

--

Comments

Jan-Benedict Glaw Sept. 22, 2021, 5:42 p.m. UTC | #1
Hi!

On Wed, 2021-09-15 21:26:47 +0200, Jan-Benedict Glaw <jbglaw@lug-owl.de> wrote:
> I accidentally had a bad user.email setting ("jbglaw@ług-owl.de"
> instead of "jbglaw@lug-owl.de") and this leads to incomplete HTML
> being generated by gitweb, along with an error message:
> 
> index.cgi: Wide character in subroutine entry at /usr/share/gitweb/index.cgi line 2208.
> 
> This patch may fix it, but I'm NOT a Perl guy:
> 
> --- a/gitweb/gitweb.perl	2021-09-15 20:23:13.788195846 +0200
> +++ b/gitweb/gitweb.perl	2021-09-15 20:24:19.911806868 +0200
> @@ -2193,7 +2193,7 @@
>  	my $size = shift;
>  	$avatar_cache{$email} ||=
>  		"//www.gravatar.com/avatar/" .
> -			md5_hex($email) . "?s=";
> +			md5_hex(utf8::is_utf8($email)? Encode::encode_utf8($email): $email) . "?s=";
>  	return $avatar_cache{$email} . $size;
>  }
> 
> 
> Comments?

I'd like to get some comment on this, maybe for anybody to merge it?

Thanks,
  Jan-Benedict

--
diff mbox series

Patch

--- a/gitweb/gitweb.perl	2021-09-15 20:23:13.788195846 +0200
+++ b/gitweb/gitweb.perl	2021-09-15 20:24:19.911806868 +0200
@@ -2193,7 +2193,7 @@ 
 	my $size = shift;
 	$avatar_cache{$email} ||=
 		"//www.gravatar.com/avatar/" .
-			md5_hex($email) . "?s=";
+			md5_hex(utf8::is_utf8($email)? Encode::encode_utf8($email): $email) . "?s=";
 	return $avatar_cache{$email} . $size;
 }