diff options
Diffstat (limited to 'rt/lib/RT/Interface/Email/Auth')
-rwxr-xr-x | rt/lib/RT/Interface/Email/Auth/GnuPG.pm | 12 | ||||
-rw-r--r-- | rt/lib/RT/Interface/Email/Auth/MailFrom.pm | 13 |
2 files changed, 13 insertions, 12 deletions
diff --git a/rt/lib/RT/Interface/Email/Auth/GnuPG.pm b/rt/lib/RT/Interface/Email/Auth/GnuPG.pm index 6d43b9610..e508908fb 100755 --- a/rt/lib/RT/Interface/Email/Auth/GnuPG.pm +++ b/rt/lib/RT/Interface/Email/Auth/GnuPG.pm @@ -2,7 +2,7 @@ # # COPYRIGHT: # -# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC +# This software is Copyright (c) 1996-2012 Best Practical Solutions, LLC # <sales@bestpractical.com> # # (Except where explicitly superseded by other copyright notices) @@ -58,7 +58,7 @@ To use the gnupg-secured mail gateway, you need to do the following: Set up a GnuPG key directory with a pubring containing only the keys you care about and specify the following in your SiteConfig.pm - Set(%GnuPGOptions, homedir => '/opt/rt3/var/data/GnuPG'); + Set(%GnuPGOptions, homedir => '/opt/rt4/var/data/GnuPG'); Set(@MailPlugins, 'Auth::MailFrom', 'Auth::GnuPG', ...other filter...); =cut @@ -88,7 +88,7 @@ sub GetCurrentUser { Entity => $args{'Message'}, AddStatus => 1, ); if ( $status && !@res ) { - $args{'Message'}->head->add( + $args{'Message'}->head->replace( 'X-RT-Incoming-Encryption' => 'Not encrypted' ); @@ -112,7 +112,7 @@ sub GetCurrentUser { Data => ${ $args{'RawMessageRef'} }, ); - $args{'Message'}->head->add( 'X-RT-Privacy' => 'PGP' ); + $args{'Message'}->head->replace( 'X-RT-Privacy' => 'PGP' ); foreach my $part ( $args{'Message'}->parts_DFS ) { my $decrypted; @@ -124,14 +124,14 @@ sub GetCurrentUser { $decrypted = 1; } if ( $_->{Operation} eq 'Verify' && $_->{Status} eq 'DONE' ) { - $part->head->add( + $part->head->replace( 'X-RT-Incoming-Signature' => $_->{UserString} ); } } } - $part->head->add( + $part->head->replace( 'X-RT-Incoming-Encryption' => $decrypted ? 'Success' : 'Not encrypted' ); diff --git a/rt/lib/RT/Interface/Email/Auth/MailFrom.pm b/rt/lib/RT/Interface/Email/Auth/MailFrom.pm index be2f517e1..e733bdaae 100644 --- a/rt/lib/RT/Interface/Email/Auth/MailFrom.pm +++ b/rt/lib/RT/Interface/Email/Auth/MailFrom.pm @@ -2,7 +2,7 @@ # # COPYRIGHT: # -# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC +# This software is Copyright (c) 1996-2012 Best Practical Solutions, LLC # <sales@bestpractical.com> # # (Except where explicitly superseded by other copyright notices) @@ -47,10 +47,12 @@ # END BPS TAGGED BLOCK }}} package RT::Interface::Email::Auth::MailFrom; -use RT::Interface::Email qw(ParseSenderAddressFromHead CreateUser); + use strict; use warnings; +use RT::Interface::Email qw(ParseSenderAddressFromHead CreateUser); + # This is what the ordinary, non-enhanced gateway does at the moment. sub GetCurrentUser { @@ -70,7 +72,7 @@ sub GetCurrentUser { return ( $args{'CurrentUser'}, -1 ); } - my $CurrentUser = new RT::CurrentUser; + my $CurrentUser = RT::CurrentUser->new; $CurrentUser->LoadByEmail( $Address ); $CurrentUser->LoadByName( $Address ) unless $CurrentUser->Id; if ( $CurrentUser->Id ) { @@ -79,14 +81,13 @@ sub GetCurrentUser { } # If the user can't be loaded, we may need to create one. Figure out the acl situation. - my $unpriv = RT::Group->new( $RT::SystemUser ); - $unpriv->LoadSystemInternalGroup('Unprivileged'); + my $unpriv = RT->UnprivilegedUsers(); unless ( $unpriv->Id ) { $RT::Logger->crit("Couldn't find the 'Unprivileged' internal group"); return ( $args{'CurrentUser'}, -1 ); } - my $everyone = RT::Group->new( $RT::SystemUser ); + my $everyone = RT::Group->new( RT->SystemUser ); $everyone->LoadSystemInternalGroup('Everyone'); unless ( $everyone->Id ) { $RT::Logger->crit("Couldn't find the 'Everyone' internal group"); |