[Mimedefang] URGENT: Apply the MIME-Tools patch NOW.

Jeremy Mates jmates at sial.org
Fri Apr 26 13:35:25 EDT 2002


* Ray Spinhirne <rays at admin.stedwards.edu> [2002-04-26T10:09-0700]:
> When trying to install the patch on a HPUX 11 system the patch command
> gives the following message:

If HPUX is anything like Solaris or similar commercial unix varients,
your patch command may not support the unifed format the patch is in.

You can either obtain the GNU diff/patch utilities, which support the
unified format, or try the following contextual diff format patch.

*** MIME-tools-5.411/lib/MIME/Field/ParamVal.pm.orig	Sat Nov  4 11:54:49 2000
--- MIME-tools-5.411/lib/MIME/Field/ParamVal.pm	Fri Apr 26 10:29:55 2002
***************
*** 108,113 ****
--- 108,116 ----
  # Pattern to match spaces or comments:
  my $SPCZ     = '(?:\s|\([^\)]*\))*';
  
+ # Pattern to match non-semicolon as fallback for broken MIME
+ # produced by some viruses
+ my $BADTOKEN = '[^;]+';
  
  #------------------------------
  #
***************
*** 200,208 ****
  	$raw =~ m/\G$SPCZ\;$SPCZ/og or last;             # skip leading separator
  	$raw =~ m/\G($PARAMNAME)\s*=\s*/og or last;      # give up if not a param
  	$param = lc($1);
! 	$raw =~ m/\G(\"([^\"]+)\")|\G($TOKEN)|\G($ENCTOKEN)/g or last;   # give up if no value
! 	my ($qstr, $str, $token, $enctoken) = ($1, $2, $3, $4);
! 	$params{$param} = defined($qstr) ? $str : (defined($token) ? $token : $enctoken);
  	debug "   field param <$param> = <$params{$param}>";
      }
  
--- 203,218 ----
  	$raw =~ m/\G$SPCZ\;$SPCZ/og or last;             # skip leading separator
  	$raw =~ m/\G($PARAMNAME)\s*=\s*/og or last;      # give up if not a param
  	$param = lc($1);
! 	$raw =~ m/\G(\"([^\"]+)\")|\G($ENCTOKEN)|\G($BADTOKEN)|\G($TOKEN)/g or last;   # give up if no value
! 	my ($qstr, $str, $enctoken, $badtoken, $token) = ($1, $2, $3, $4, $5);
! 	if (defined($badtoken)) {
! 	    # Strip leading/trailing whitespace from badtoken
! 	    $badtoken =~ s/^\s*//;
! 	    $badtoken =~ s/\s*$//;
! 	}
! 	$params{$param} = defined($qstr) ? $str :
! 	    (defined($enctoken) ? $enctoken :
! 	     (defined($badtoken) ? $badtoken : $token));
  	debug "   field param <$param> = <$params{$param}>";
      }
  
*** MIME-tools-5.411/lib/MIME/Parser.pm.orig	Sat Nov 11 21:55:11 2000
--- MIME-tools-5.411/lib/MIME/Parser.pm	Fri Apr 26 10:29:55 2002
***************
*** 998,1003 ****
--- 998,1004 ----
  	$self->process_multipart($in, $rdr, $ent);
      }
      elsif (("$type/$subtype" eq "message/rfc822") && 
+ 	   ($head->count('MIME-Version') > 0 || $self->extract_nested_messages eq 'REPLACE') &&
  	   $self->extract_nested_messages) {
  	$self->debug("attempting to process a nested message");
  	$self->process_message($in, $rdr, $ent);


-- 
Jeremy Mates                                        http://www.sial.org/

OpenPGP: 0x11C3D628  (4357 1D47 FF78 24BB 0FBF 7AA8 A846 9F86 11C3 D628)



More information about the MIMEDefang mailing list