[Rt-commit] rt branch, 3.8/perlcritic, updated. rt-3.8.10-217-gd50b915
Alex Vandiver
alexmv at bestpractical.com
Tue Aug 30 19:55:22 EDT 2011
The branch, 3.8/perlcritic has been updated
via d50b9156360fecf2ede8314fde193a2064a45f14 (commit)
via f8853efd54c2e836758afe6771b57d915875d234 (commit)
from 0f76b06e135e8a634e50854ede7ea6ff8f6451cb (commit)
Summary of changes:
lib/RT/Crypt/GnuPG.pm | 16 +++----------
lib/RT/Crypt/GnuPG/CRLFHandle.pm | 22 ++++++++++++++++++++
lib/RT/Shredder.pm | 2 +-
lib/RT/Shredder/ACE.pm | 1 -
lib/RT/Shredder/Attachment.pm | 1 -
lib/RT/Shredder/CachedGroupMember.pm | 1 -
lib/RT/Shredder/CustomField.pm | 1 -
lib/RT/Shredder/CustomFieldValue.pm | 1 -
lib/RT/Shredder/Dependencies.pm | 2 +-
lib/RT/Shredder/Dependency.pm | 1 -
.../Web/QueryBuilder.pm => Shredder/Exception.pm} | 12 +++++++++-
.../Shredder/{Exceptions.pm => Exception/Info.pm} | 14 +-----------
lib/RT/Shredder/Group.pm | 2 +-
lib/RT/Shredder/GroupMember.pm | 2 +-
lib/RT/Shredder/Link.pm | 2 +-
lib/RT/Shredder/ObjectCustomFieldValue.pm | 1 -
lib/RT/Shredder/Principal.pm | 1 -
lib/RT/Shredder/Queue.pm | 1 -
lib/RT/Shredder/Record.pm | 2 +-
lib/RT/Shredder/Scrip.pm | 1 -
lib/RT/Shredder/ScripAction.pm | 1 -
lib/RT/Shredder/ScripCondition.pm | 1 -
lib/RT/Shredder/Template.pm | 1 -
lib/RT/Shredder/Ticket.pm | 1 -
lib/RT/Shredder/Transaction.pm | 1 -
lib/RT/Shredder/User.pm | 2 +-
sbin/rt-shredder.in | 2 +-
share/html/Admin/Tools/Shredder/index.html | 2 +-
28 files changed, 46 insertions(+), 51 deletions(-)
create mode 100644 lib/RT/Crypt/GnuPG/CRLFHandle.pm
copy lib/RT/{Interface/Web/QueryBuilder.pm => Shredder/Exception.pm} (91%)
mode change 100755 => 100644
rename lib/RT/Shredder/{Exceptions.pm => Exception/Info.pm} (94%)
- Log -----------------------------------------------------------------
commit f8853efd54c2e836758afe6771b57d915875d234
Author: Alex Vandiver <alexmv at bestpractical.com>
Date: Tue Aug 30 17:29:15 2011 -0400
Break out the packages originally in lib/RT/Shredder/Exceptions.pm into their own files
diff --git a/lib/RT/Shredder.pm b/lib/RT/Shredder.pm
index 0a0873f..43ffda6 100644
--- a/lib/RT/Shredder.pm
+++ b/lib/RT/Shredder.pm
@@ -205,7 +205,7 @@ BEGIN {
### after: push @INC, qw(@RT_LIB_PATH@);
push @INC, qw(/opt/rt3/local/lib /opt/rt3/lib);
use RT::Shredder::Constants;
- use RT::Shredder::Exceptions;
+ use RT::Shredder::Exception::Info;
require RT;
diff --git a/lib/RT/Shredder/ACE.pm b/lib/RT/Shredder/ACE.pm
index 0d8f47c..8bcc962 100644
--- a/lib/RT/Shredder/ACE.pm
+++ b/lib/RT/Shredder/ACE.pm
@@ -53,7 +53,6 @@ use warnings FATAL => 'redefine';
use RT::ACE ();
-use RT::Shredder::Exceptions;
use RT::Shredder::Constants;
use RT::Shredder::Dependencies;
diff --git a/lib/RT/Shredder/Attachment.pm b/lib/RT/Shredder/Attachment.pm
index 27e3708..dc04f80 100644
--- a/lib/RT/Shredder/Attachment.pm
+++ b/lib/RT/Shredder/Attachment.pm
@@ -53,7 +53,6 @@ use warnings FATAL => 'redefine';
use RT::Attachment ();
-use RT::Shredder::Exceptions;
use RT::Shredder::Constants;
use RT::Shredder::Dependencies;
diff --git a/lib/RT/Shredder/CachedGroupMember.pm b/lib/RT/Shredder/CachedGroupMember.pm
index 39b690b..14b5fd2 100644
--- a/lib/RT/Shredder/CachedGroupMember.pm
+++ b/lib/RT/Shredder/CachedGroupMember.pm
@@ -54,7 +54,6 @@ use warnings FATAL => 'redefine';
use RT::CachedGroupMember ();
use RT::Shredder::Constants;
-use RT::Shredder::Exceptions;
use RT::Shredder::Dependency;
diff --git a/lib/RT/Shredder/CustomField.pm b/lib/RT/Shredder/CustomField.pm
index 6464283..451a68b 100644
--- a/lib/RT/Shredder/CustomField.pm
+++ b/lib/RT/Shredder/CustomField.pm
@@ -54,7 +54,6 @@ use warnings FATAL => 'redefine';
use RT::CustomField ();
use RT::Shredder::Constants;
-use RT::Shredder::Exceptions;
use RT::Shredder::Dependencies;
#TODO: Queues if we wish export tool
diff --git a/lib/RT/Shredder/CustomFieldValue.pm b/lib/RT/Shredder/CustomFieldValue.pm
index 270cb12..e3e8854 100644
--- a/lib/RT/Shredder/CustomFieldValue.pm
+++ b/lib/RT/Shredder/CustomFieldValue.pm
@@ -54,7 +54,6 @@ use warnings FATAL => 'redefine';
use RT::CustomFieldValue ();
use RT::Shredder::Constants;
-use RT::Shredder::Exceptions;
use RT::Shredder::Dependencies;
# No dependencies that should be deleted with record
diff --git a/lib/RT/Shredder/Dependencies.pm b/lib/RT/Shredder/Dependencies.pm
index d12830f..8cdce48 100644
--- a/lib/RT/Shredder/Dependencies.pm
+++ b/lib/RT/Shredder/Dependencies.pm
@@ -50,7 +50,7 @@ package RT::Shredder::Dependencies;
use strict;
use warnings;
-use RT::Shredder::Exceptions;
+use RT::Shredder::Exception::Info;
use RT::Shredder::Constants;
use RT::Shredder::Dependency;
use RT::Record;
diff --git a/lib/RT/Shredder/Dependency.pm b/lib/RT/Shredder/Dependency.pm
index 0e109a3..3cb103d 100644
--- a/lib/RT/Shredder/Dependency.pm
+++ b/lib/RT/Shredder/Dependency.pm
@@ -51,7 +51,6 @@ use strict;
use warnings;
use RT::Shredder::Constants;
-use RT::Shredder::Exceptions;
my %FlagDescs = (
DEPENDS_ON, 'depends on',
diff --git a/lib/RT/Shredder/ScripAction.pm b/lib/RT/Shredder/Exception.pm
similarity index 66%
copy from lib/RT/Shredder/ScripAction.pm
copy to lib/RT/Shredder/Exception.pm
index 54b379a..c71c074 100644
--- a/lib/RT/Shredder/ScripAction.pm
+++ b/lib/RT/Shredder/Exception.pm
@@ -46,55 +46,18 @@
#
# END BPS TAGGED BLOCK }}}
-package RT::ScripAction;
+package RT::Shredder::Exception;
use strict;
use warnings;
-use warnings FATAL => 'redefine';
-use RT::ScripAction ();
+use Exception::Class;
+use base qw(Exception::Class::Base);
-use RT::Shredder::Constants;
-use RT::Shredder::Exceptions;
-use RT::Shredder::Dependencies;
-
-sub __DependsOn
-{
- my $self = shift;
- my %args = (
- Shredder => undef,
- Dependencies => undef,
- @_,
- );
- my $deps = $args{'Dependencies'};
- my $list = [];
-
-# Scrips
- my $objs = RT::Scrips->new( $self->CurrentUser );
- $objs->Limit( FIELD => 'ScripAction', VALUE => $self->Id );
- $deps->_PushDependencies(
- BaseObject => $self,
- Flags => DEPENDS_ON,
- TargetObjects => $objs,
- Shredder => $args{'Shredder'}
- );
-
- return $self->SUPER::__DependsOn( %args );
+BEGIN {
+ __PACKAGE__->NoRefs(0);
}
-sub __Relates
-{
- my $self = shift;
- my %args = (
- Shredder => undef,
- Dependencies => undef,
- @_,
- );
- my $deps = $args{'Dependencies'};
- my $list = [];
-
-# TODO: Check here for exec module
-
- return $self->SUPER::__Relates( %args );
-}
+#sub NoRefs { return 0 }
+sub show_trace { return 1 }
1;
diff --git a/lib/RT/Shredder/Exceptions.pm b/lib/RT/Shredder/Exception/Info.pm
similarity index 94%
rename from lib/RT/Shredder/Exceptions.pm
rename to lib/RT/Shredder/Exception/Info.pm
index 1db12d5..e55a6c1 100644
--- a/lib/RT/Shredder/Exceptions.pm
+++ b/lib/RT/Shredder/Exception/Info.pm
@@ -46,22 +46,10 @@
#
# END BPS TAGGED BLOCK }}}
-package RT::Shredder::Exception;
+package RT::Shredder::Exception::Info;
use strict;
use warnings;
-use Exception::Class;
-use base qw(Exception::Class::Base);
-
-BEGIN {
- __PACKAGE__->NoRefs(0);
-}
-
-#sub NoRefs { return 0 }
-sub show_trace { return 1 }
-
-package RT::Shredder::Exception::Info;
-
use base qw(RT::Shredder::Exception);
my %DESCRIPTION = (
diff --git a/lib/RT/Shredder/Group.pm b/lib/RT/Shredder/Group.pm
index f9d0430..793d3c4 100644
--- a/lib/RT/Shredder/Group.pm
+++ b/lib/RT/Shredder/Group.pm
@@ -54,7 +54,7 @@ use warnings FATAL => 'redefine';
use RT::Group ();
use RT::Shredder::Constants;
-use RT::Shredder::Exceptions;
+use RT::Shredder::Exception::Info;
use RT::Shredder::Dependencies;
diff --git a/lib/RT/Shredder/GroupMember.pm b/lib/RT/Shredder/GroupMember.pm
index 02ee2bb..b76ad96 100644
--- a/lib/RT/Shredder/GroupMember.pm
+++ b/lib/RT/Shredder/GroupMember.pm
@@ -54,7 +54,7 @@ use warnings FATAL => 'redefine';
use RT::GroupMember ();
use RT::Shredder::Constants;
-use RT::Shredder::Exceptions;
+use RT::Shredder::Exception;
use RT::Shredder::Dependencies;
# No dependencies that should be deleted with record
diff --git a/lib/RT/Shredder/Link.pm b/lib/RT/Shredder/Link.pm
index 0f95f68..542e543 100644
--- a/lib/RT/Shredder/Link.pm
+++ b/lib/RT/Shredder/Link.pm
@@ -53,7 +53,7 @@ use warnings FATAL => 'redefine';
use RT::Link ();
-use RT::Shredder::Exceptions;
+use RT::Shredder::Exception;
use RT::Shredder::Dependencies;
use RT::Shredder::Constants;
diff --git a/lib/RT/Shredder/ObjectCustomFieldValue.pm b/lib/RT/Shredder/ObjectCustomFieldValue.pm
index c0ecd00..4c1d9c4 100644
--- a/lib/RT/Shredder/ObjectCustomFieldValue.pm
+++ b/lib/RT/Shredder/ObjectCustomFieldValue.pm
@@ -54,7 +54,6 @@ use warnings FATAL => 'redefine';
use RT::ObjectCustomFieldValue ();
use RT::Shredder::Constants;
-use RT::Shredder::Exceptions;
use RT::Shredder::Dependencies;
sub __DependsOn
diff --git a/lib/RT/Shredder/Principal.pm b/lib/RT/Shredder/Principal.pm
index 0c94da0..a1c2f83 100644
--- a/lib/RT/Shredder/Principal.pm
+++ b/lib/RT/Shredder/Principal.pm
@@ -53,7 +53,6 @@ use warnings FATAL => 'redefine';
use RT::Principal ();
-use RT::Shredder::Exceptions;
use RT::Shredder::Constants;
use RT::Shredder::Dependencies;
diff --git a/lib/RT/Shredder/Queue.pm b/lib/RT/Shredder/Queue.pm
index 554086d..3e8491c 100644
--- a/lib/RT/Shredder/Queue.pm
+++ b/lib/RT/Shredder/Queue.pm
@@ -54,7 +54,6 @@ use warnings FATAL => 'redefine';
use RT::Queue ();
use RT::Shredder::Constants;
-use RT::Shredder::Exceptions;
use RT::Shredder::Dependencies;
sub __DependsOn
diff --git a/lib/RT/Shredder/Record.pm b/lib/RT/Shredder/Record.pm
index 8a62f35..ac019fb 100644
--- a/lib/RT/Shredder/Record.pm
+++ b/lib/RT/Shredder/Record.pm
@@ -54,7 +54,7 @@ use warnings FATAL => 'redefine';
use RT::Record ();
use RT::Shredder::Constants;
-use RT::Shredder::Exceptions;
+use RT::Shredder::Exception;
=head2 _AsString
diff --git a/lib/RT/Shredder/Scrip.pm b/lib/RT/Shredder/Scrip.pm
index 70f908e..f10b1ae 100644
--- a/lib/RT/Shredder/Scrip.pm
+++ b/lib/RT/Shredder/Scrip.pm
@@ -54,7 +54,6 @@ use warnings FATAL => 'redefine';
use RT::Scrip ();
use RT::Shredder::Constants;
-use RT::Shredder::Exceptions;
use RT::Shredder::Dependencies;
sub __DependsOn
diff --git a/lib/RT/Shredder/ScripAction.pm b/lib/RT/Shredder/ScripAction.pm
index 54b379a..ad3816d 100644
--- a/lib/RT/Shredder/ScripAction.pm
+++ b/lib/RT/Shredder/ScripAction.pm
@@ -54,7 +54,6 @@ use warnings FATAL => 'redefine';
use RT::ScripAction ();
use RT::Shredder::Constants;
-use RT::Shredder::Exceptions;
use RT::Shredder::Dependencies;
sub __DependsOn
diff --git a/lib/RT/Shredder/ScripCondition.pm b/lib/RT/Shredder/ScripCondition.pm
index 0076462..e5cac1a 100644
--- a/lib/RT/Shredder/ScripCondition.pm
+++ b/lib/RT/Shredder/ScripCondition.pm
@@ -54,7 +54,6 @@ use warnings FATAL => 'redefine';
use RT::ScripCondition ();
use RT::Shredder::Constants;
-use RT::Shredder::Exceptions;
use RT::Shredder::Dependencies;
sub __DependsOn
diff --git a/lib/RT/Shredder/Template.pm b/lib/RT/Shredder/Template.pm
index 6216c51..ed63668 100644
--- a/lib/RT/Shredder/Template.pm
+++ b/lib/RT/Shredder/Template.pm
@@ -54,7 +54,6 @@ use warnings FATAL => 'redefine';
use RT::Template ();
use RT::Shredder::Constants;
-use RT::Shredder::Exceptions;
use RT::Shredder::Dependencies;
diff --git a/lib/RT/Shredder/Ticket.pm b/lib/RT/Shredder/Ticket.pm
index cb81f74..9261d5b 100644
--- a/lib/RT/Shredder/Ticket.pm
+++ b/lib/RT/Shredder/Ticket.pm
@@ -54,7 +54,6 @@ use warnings FATAL => 'redefine';
use RT::Ticket ();
use RT::Shredder::Constants;
-use RT::Shredder::Exceptions;
use RT::Shredder::Dependencies;
sub __DependsOn
diff --git a/lib/RT/Shredder/Transaction.pm b/lib/RT/Shredder/Transaction.pm
index 6466e76..93e4cc5 100644
--- a/lib/RT/Shredder/Transaction.pm
+++ b/lib/RT/Shredder/Transaction.pm
@@ -54,7 +54,6 @@ use warnings FATAL => 'redefine';
use RT::Transaction ();
use RT::Shredder::Constants;
-use RT::Shredder::Exceptions;
use RT::Shredder::Dependencies;
sub __DependsOn
diff --git a/lib/RT/Shredder/User.pm b/lib/RT/Shredder/User.pm
index 2f5957e..4d8cf22 100644
--- a/lib/RT/Shredder/User.pm
+++ b/lib/RT/Shredder/User.pm
@@ -54,7 +54,7 @@ use warnings FATAL => 'redefine';
use RT::User ();
use RT::Shredder::Constants;
-use RT::Shredder::Exceptions;
+use RT::Shredder::Exception::Info;
use RT::Shredder::Dependencies;
my @OBJECTS = qw(
diff --git a/sbin/rt-shredder.in b/sbin/rt-shredder.in
index 685a439..63dc932 100755
--- a/sbin/rt-shredder.in
+++ b/sbin/rt-shredder.in
@@ -172,7 +172,7 @@ prompt_delete_objs( \@objs ) unless $opt{'force'};
$shredder->PutObjects( Objects => $_ ) foreach @objs;
eval { $shredder->WipeoutAll };
if( $@ ) {
- require RT::Shredder::Exceptions;
+ require RT::Shredder::Exception::Info;
if( my $e = RT::Shredder::Exception::Info->caught ) {
print "\nERROR: $e\n\n";
exit 1;
diff --git a/share/html/Admin/Tools/Shredder/index.html b/share/html/Admin/Tools/Shredder/index.html
index acb956d..b330a36 100644
--- a/share/html/Admin/Tools/Shredder/index.html
+++ b/share/html/Admin/Tools/Shredder/index.html
@@ -81,7 +81,7 @@ my ($plugin_obj, @objs);
my $catch_non_fatals = sub {
my $error = $@;
- require RT::Shredder::Exceptions;
+ require RT::Shredder::Exception::Info;
if ( my $e = RT::Shredder::Exception::Info->caught ) {
push @{ $messages{Errors} }, "$e";
$Search = ''; @objs = ();
commit d50b9156360fecf2ede8314fde193a2064a45f14
Author: Alex Vandiver <alexmv at bestpractical.com>
Date: Tue Aug 30 19:49:43 2011 -0400
Split IO::Handle::CRLF into its own file in RT::Crypt::GnuPG::CRLFHandle
In doing so, also document the reasons it is necessary.
diff --git a/lib/RT/Crypt/GnuPG.pm b/lib/RT/Crypt/GnuPG.pm
index b04dc43..1072366 100644
--- a/lib/RT/Crypt/GnuPG.pm
+++ b/lib/RT/Crypt/GnuPG.pm
@@ -51,6 +51,7 @@ use strict;
use warnings;
use IO::Handle;
+use RT::Crypt::GnuPG::CRLFHandle;
use GnuPG::Interface;
use RT::EmailParser ();
use RT::Util 'safe_run_child';
@@ -571,10 +572,12 @@ sub SignEncryptRFC3156 {
$entity->make_multipart( 'mixed', Force => 1 );
my @signature;
+ # We use RT::Crypt::GnuPG::CRLFHandle to canonicalize the
+ # MIME::Entity output to use \r\n instead of \n for its newlines
%res = CallGnuPG(
Signer => $args{'Signer'},
Command => "detach_sign",
- Handles => { stdin => IO::Handle::CRLF->new },
+ Handles => { stdin => RT::Crypt::GnuPG::CRLFHandle->new },
Direct => [],
Passphrase => $args{'Passphrase'},
Content => $entity->parts(0),
@@ -2090,15 +2093,4 @@ sub _make_gpg_handles {
RT::Base->_ImportOverlays();
-# helper package to avoid using temp file
-package IO::Handle::CRLF;
-
-use base qw(IO::Handle);
-
-sub print {
- my ($self, @args) = (@_);
- s/\r*\n/\x0D\x0A/g foreach @args;
- return $self->SUPER::print( @args );
-}
-
1;
diff --git a/lib/RT/Crypt/GnuPG/CRLFHandle.pm b/lib/RT/Crypt/GnuPG/CRLFHandle.pm
new file mode 100644
index 0000000..5f74457
--- /dev/null
+++ b/lib/RT/Crypt/GnuPG/CRLFHandle.pm
@@ -0,0 +1,22 @@
+package RT::Crypt::GnuPG::CRLFHandle;
+use strict;
+use warnings;
+
+use base qw(IO::Handle);
+
+# https://metacpan.org/module/MIME::Tools#Fuzzing-of-CRLF-and-newline-when-encoding-composing
+# means that the output of $entity->print contains lines terminated by
+# "\n"; however, signatures are generated off of the "correct" form of
+# the MIME entity, which uses "\r\n" as the newline separator. This
+# class, used only when generating signatures, transparently munges "\n"
+# newlines into "\r\n" newlines such that the generated signature is
+# correct for the "\r\n"-newline version of the MIME entity which will
+# eventually be sent over the wire.
+
+sub print {
+ my ($self, @args) = (@_);
+ s/\r*\n/\x0D\x0A/g foreach @args;
+ return $self->SUPER::print( @args );
+}
+
+1;
-----------------------------------------------------------------------
More information about the Rt-commit
mailing list