diff -Nur -x '*.orig' -x '*.rej' e-smith-email-4.16.0/root/usr/lib/perl5/site_perl/esmith/FormMagick/Panel/pseudonyms.pm mezzanine_patched_e-smith-email-4.16.0/root/usr/lib/perl5/site_perl/esmith/FormMagick/Panel/pseudonyms.pm --- e-smith-email-4.16.0/root/usr/lib/perl5/site_perl/esmith/FormMagick/Panel/pseudonyms.pm 2007-06-11 12:26:32.000000000 -0600 +++ mezzanine_patched_e-smith-email-4.16.0/root/usr/lib/perl5/site_perl/esmith/FormMagick/Panel/pseudonyms.pm 2007-06-11 12:26:24.000000000 -0600 @@ -200,7 +200,7 @@ my $q = $fm->{'cgi'}; my $msg = "OK"; - my $pseudonym = $q->param ('pseudonym'); + my $pseudonym = uri_unescape($q->param ('pseudonym')); my $account = $q->param ('account'); $accounts->get($pseudonym)->set_prop('Account', $account) @@ -231,7 +231,7 @@ my $q = $fm->{'cgi'}; my $msg = "OK"; - my $pseudonym = $q->param('pseudonym'); + my $pseudonym = uri_unescape($q->param('pseudonym')); unless($fm->validate_is_pseudonym($pseudonym) eq 'OK') { $fm->{cgi}->param( -name => 'wherenext', -value => 'InvalidPseudonym' ); @@ -487,7 +487,9 @@ sub validate_is_pseudonym { my $fm = shift; my $pseudonym = shift; - my $type = $accounts->get($pseudonym)->prop('type'); + $pseudonym = $accounts->get($pseudonym); + return('NOT_A_PSEUDONYM') unless $pseudonym; + my $type = $pseudonym->prop('type'); unless (defined $type && ($type eq 'pseudonym') ) {