Update of /cvsroot/mhonarc/mhonarc/MHonArc/lib
In directory subversions:/tmp/cvs-serv10139

Modified Files:
        mhamain.pl mhutil.pl mhinit.pl 
Log Message:
* Fixed processing of message-id and address detection.  Now,
  text is properly treated as HTML text, where entity references
  may exist.  Converting '@' to ( exposed problem.


Index: mhamain.pl
===================================================================
RCS file: /cvsroot/mhonarc/mhonarc/MHonArc/lib/mhamain.pl,v
retrieving revision 2.52
retrieving revision 2.53
diff -C2 -r2.52 -r2.53
*** mhamain.pl  20 Nov 2002 23:53:12 -0000      2.52
--- mhamain.pl  19 Dec 2002 05:07:20 -0000      2.53
***************
*** 1133,1137 ****
            # check if subject header delimited
            if (/<!--X-Subject-Header-Begin/) {
!               $tmp2 =~ s%($AddrExp)%&link_refmsgid($1,1)%geo;
                print $msghandle $tmp2;
                $tmp2 = "";
--- 1133,1137 ----
            # check if subject header delimited
            if (/<!--X-Subject-Header-Begin/) {
!               $tmp2 =~ s/($HAddrExp)/&link_refmsgid($1,1)/geo;
                print $msghandle $tmp2;
                $tmp2 = "";
***************
*** 1149,1153 ****
            # check if head/body separator delimited
            if (/<!--X-Head-Body-Sep-Begin/) {
!               $tmp2 =~ s%($AddrExp)%&link_refmsgid($1,1)%geo;
                print $msghandle $tmp2;
                $tmp2 = "";
--- 1149,1153 ----
            # check if head/body separator delimited
            if (/<!--X-Head-Body-Sep-Begin/) {
!               $tmp2 =~ s/($HAddrExp)/&link_refmsgid($1,1)/geo;
                print $msghandle $tmp2;
                $tmp2 = "";
***************
*** 1167,1171 ****
            last  if /<!--X-MsgBody-End/;
        }
!       $tmp2 =~ s%($AddrExp)%&link_refmsgid($1,1)%geo;
        print $msghandle $tmp2;
  
--- 1167,1171 ----
            last  if /<!--X-MsgBody-End/;
        }
!       $tmp2 =~ s/($HAddrExp)/&link_refmsgid($1,1)/geo;
        print $msghandle $tmp2;
  
***************
*** 1178,1183 ****
        print $msghandle "<!--X-Subject-Header-End-->\n";
  
!       $MsgHead{$index} =~ s%($AddrExp)%&link_refmsgid($1)%geo;
!       $Message{$index} =~ s%($AddrExp)%&link_refmsgid($1)%geo;
  
        print $msghandle "<!--X-Head-of-Message-->\n";
--- 1178,1183 ----
        print $msghandle "<!--X-Subject-Header-End-->\n";
  
!       $MsgHead{$index} =~ s/($HAddrExp)/&link_refmsgid($1)/geo;
!       $Message{$index} =~ s/($HAddrExp)/&link_refmsgid($1)/geo;
  
        print $msghandle "<!--X-Head-of-Message-->\n";
***************
*** 1374,1388 ****
  ##
  sub link_refmsgid {
!     my($refmsgid, $onlynew) = @_;
  
      if (defined($MsgId{$refmsgid}) &&
!       defined($IndexNum{$MsgId{$refmsgid}}) &&
!       (!$onlynew || $NewMsgId{$refmsgid})) {
        my($lreftmpl) = $MSGIDLINK;
        $lreftmpl =~ s/$VarExp/&replace_li_var($1,$MsgId{$refmsgid})/geo;
!       $lreftmpl;
!     } else {
!       $refmsgid;
      }
  }
  
--- 1374,1388 ----
  ##
  sub link_refmsgid {
!     my $refmsgid = dehtmlize(shift);
!     my $onlynew  = shift;
  
      if (defined($MsgId{$refmsgid}) &&
!           defined($IndexNum{$MsgId{$refmsgid}}) &&
!           (!$onlynew || $NewMsgId{$refmsgid})) {
        my($lreftmpl) = $MSGIDLINK;
        $lreftmpl =~ s/$VarExp/&replace_li_var($1,$MsgId{$refmsgid})/geo;
!       return $lreftmpl;
      }
+     htmlize($refmsgid);
  }
  

Index: mhutil.pl
===================================================================
RCS file: /cvsroot/mhonarc/mhonarc/MHonArc/lib/mhutil.pl,v
retrieving revision 2.21
retrieving revision 2.22
diff -C2 -r2.21 -r2.22
*** mhutil.pl   18 Dec 2002 05:44:27 -0000      2.21
--- mhutil.pl   19 Dec 2002 05:07:20 -0000      2.22
***************
*** 497,509 ****
        if ($HFieldsAddr{$label}) {
            if (!$NOMAILTO) {
!               $fld_text =~ s|([\!\%\w\.\-+=/]+@[\w\.\-]+)
!                             |&mailUrl($1, $fields->{'x-mha-message-id'},
                                            $fields->{'x-mha-subject'},
                                            $fields->{'x-mha-from'});
!                             |gex;
            } else {
!               $fld_text =~ s|([\!\%\w\.\-+=/]+@[\w\.\-]+)
!                             |&htmlize(&rewrite_address($1))
!                             |gex;
            }
            last LBLSW;
--- 497,509 ----
        if ($HFieldsAddr{$label}) {
            if (!$NOMAILTO) {
!               $fld_text =~ s{($HAddrExp)}
!                             {&mailUrl($1, $fields->{'x-mha-message-id'},
                                            $fields->{'x-mha-subject'},
                                            $fields->{'x-mha-from'});
!                             }gexo;
            } else {
!               $fld_text =~ s{($HAddrExp)}
!                             {&htmlize(&rewrite_address($1))
!                             }gex;
            }
            last LBLSW;
***************
*** 545,548 ****
--- 545,549 ----
      my $sub = shift || '';
      my $from = shift || '';
+     dehtmlize(\$eaddr);
  
      local $_;

Index: mhinit.pl
===================================================================
RCS file: /cvsroot/mhonarc/mhonarc/MHonArc/lib/mhinit.pl,v
retrieving revision 2.39
retrieving revision 2.40
diff -C2 -r2.39 -r2.40
*** mhinit.pl   20 Nov 2002 23:53:12 -0000      2.39
--- mhinit.pl   19 Dec 2002 05:07:20 -0000      2.40
***************
*** 283,287 ****
  
  ##  Regexp for address/msg-id detection (looks like cussing in cartoons)
! $AddrExp = '[^()<>@,;:\/\s"\'&|]+@[^()<>@,;:\/\s"\'&|]+';
  
  ##  Text clipping function and source file: Set in mhopt.pl.
--- 283,288 ----
  
  ##  Regexp for address/msg-id detection (looks like cussing in cartoons)
! $AddrExp  = '[^()<>@,;:\/\s"\'&|]+@[^()<>@,;:\/\s"\'&|]+';
! $HAddrExp = '[^()<>@,;:\/\s"\'&|]+(?:@|&\#[xX]0*40;|&64;)[^()<>@,;:\/\s"\'&|]+';
  
  ##  Text clipping function and source file: Set in mhopt.pl.

---------------------------------------------------------------------
To sign-off this list, send email to [EMAIL PROTECTED] with the
message text UNSUBSCRIBE MHONARC-DEV

Reply via email to