aboutsummaryrefslogtreecommitdiff
path: root/mail/p5-MIME-Tools/files/patch-Parser-MaxParts
diff options
context:
space:
mode:
Diffstat (limited to 'mail/p5-MIME-Tools/files/patch-Parser-MaxParts')
-rw-r--r--mail/p5-MIME-Tools/files/patch-Parser-MaxParts81
1 files changed, 0 insertions, 81 deletions
diff --git a/mail/p5-MIME-Tools/files/patch-Parser-MaxParts b/mail/p5-MIME-Tools/files/patch-Parser-MaxParts
deleted file mode 100644
index 75f150286be0..000000000000
--- a/mail/p5-MIME-Tools/files/patch-Parser-MaxParts
+++ /dev/null
@@ -1,81 +0,0 @@
---- lib/MIME/Parser.pm.orig Tue Aug 31 18:54:05 2004
-+++ lib/MIME/Parser.pm Tue Aug 31 18:53:33 2004
-@@ -250,6 +250,7 @@
- $self->{MP5_IgnoreErrors} = 1;
- $self->{MP5_UseInnerFiles} = 0;
- $self->{MP5_UUDecode} = 0;
-+ $self->{MP5_MaxParts} = -1;
-
- $self->interface(ENTITY_CLASS => 'MIME::Entity');
- $self->interface(HEAD_CLASS => 'MIME::Head');
-@@ -277,6 +278,7 @@
- $self->{MP5_Filer}->results($self->{MP5_Results});
- $self->{MP5_Filer}->init_parse();
- $self->{MP5_Filer}->purgeable([]); ### just to be safe
-+ $self->{MP5_NumParts} = 0;
- 1;
- }
-
-@@ -969,11 +980,19 @@
- # Retype => retype this part to the given content-type
- #
- # Return the entity.
--# Fatal exception on failure.
-+# Fatal exception on failure. Returns undef if message to complex
- #
- sub process_part {
- my ($self, $in, $rdr, %p) = @_;
-
-+ if ($self->{MP5_MaxParts} > 0) {
-+ $self->{MP5_NumParts}++;
-+ if ($self->{MP5_NumParts} > $self->{MP5_MaxParts}) {
-+ # Return UNDEF if msg too complex
-+ return undef;
-+ }
-+ }
-+
- $rdr ||= MIME::Parser::Reader->new;
- #debug "process_part";
- $self->results->level(+1);
-@@ -1094,6 +1112,8 @@
-
- Returns the parsed MIME::Entity on success.
- Throws exception on failure.
-+If the message contained too many
-+parts (as set by I<max_parts>), returns undef.
-
- =cut
-
-@@ -1351,6 +1371,32 @@
- my $self = shift;
- &MIME::Tools::whine("evil_filename deprecated in MIME::Parser");
- $self->filer->evil_filename(@_);
-+}
-+
-+#------------------------------
-+
-+=item max_parts NUM
-+
-+I<Instance method.>
-+Limits the number of MIME parts we will parse.
-+
-+Normally, instances of this class parse a message to the bitter end.
-+Messages with many MIME parts can cause excessive memory consumption.
-+If you invoke this method, parsing will abort with a die() if a message
-+contains more than NUM parts.
-+
-+If NUM is set to -1 (the default), then no maximum limit is enforced.
-+
-+With no argument, returns the current setting as an integer
-+
-+=cut
-+
-+sub max_parts {
-+ my($self, $num) = @_;
-+ if (@_ > 1) {
-+ $self->{MP5_MaxParts} = $num;
-+ }
-+ return $self->{MP5_MaxParts};
- }
-
- #------------------------------