[Rt-commit] r7511 - in rt/branches/3.7-EXPERIMENTAL: .
ruz at bestpractical.com
ruz at bestpractical.com
Mon Apr 16 08:57:26 EDT 2007
Author: ruz
Date: Mon Apr 16 08:57:25 2007
New Revision: 7511
Modified:
rt/branches/3.7-EXPERIMENTAL/ (props changed)
rt/branches/3.7-EXPERIMENTAL/lib/RT/Interface/Email.pm
Log:
r4919 at cubic-pc: cubic | 2007-04-11 06:32:58 +0400
* fetch crypto options from headers
Modified: rt/branches/3.7-EXPERIMENTAL/lib/RT/Interface/Email.pm
==============================================================================
--- rt/branches/3.7-EXPERIMENTAL/lib/RT/Interface/Email.pm (original)
+++ rt/branches/3.7-EXPERIMENTAL/lib/RT/Interface/Email.pm Mon Apr 16 08:57:25 2007
@@ -335,14 +335,22 @@
$args{'Ticket'} = $args{'Transaction'}->Object;
}
- if ( $args{'Ticket'} ) {
- my $sign = $args{'Ticket'}->QueueObj->Sign;
- my $encrypt = $args{'Ticket'}->QueueObj->Encrypt;
- if ( $sign || $encrypt ) {
+ if ( $args{'Ticket'} && $args{'Transaction'} ) {
+ my $attachment = $args{'Transaction'}->Attachments->First;
+
+ my %crypt;
+ foreach my $argument ( qw(Sign Encrypt) ) {
+ if ( $attachment && defined $attachment->GetHeader("X-RT-$argument") ) {
+ $crypt{$argument} = $attachment->GetHeader("X-RT-$argument");
+ } else {
+ $crypt{$argument} = $args{'Ticket'}->QueueObj->$argument();
+ }
+ }
+
+ if ( $crypt{'Sign'} || $crypt{'Encrypt'} ) {
require RT::Crypt::GnuPG;
my %res = RT::Crypt::GnuPG::SignEncrypt(
- Entity => $args{'Entity'},
- Sign => $sign, Encrypt => $encrypt,
+ %crypt, Entity => $args{'Entity'},
);
return 0 if $res{'exit_code'};
}
More information about the Rt-commit
mailing list