From:	CRDGW2::CRDGW2::MRGATE::"SMTP::CUNYVM.CUNY.EDU::POSTMASTER%YMIR.BITNET" 18-MAY-1989 10:24
To:	MRGATE::"ARISIA::EVERHART"
Subj:	(3.0-26) Fix problems with mixing PMDF and non-PMDF addresses in VMS

Resent-From: @CUNYVM.CUNY.EDU:postmaster@YMIR.BITNET
Received: from YMIR.BITNET by CUNYVM.CUNY.EDU (IBM VM SMTP R1.1) with BSMTP id 5637; Thu, 18 May 89 09:01:19 EDT
Date: Thu, 18 May 89 05:37 PDT
Errors-To: postmaster@YMIR.BITNET
From: Ned Freed <NED%YMIR.BITNET@CUNYVM.CUNY.EDU>
Message-Id: <B1481E5E6CFFC01B99@YMIR.BITNET>
Resent-Date: Thu, 18 May 89 05:40 PDT
Resent-Message-Id: <B145FF573A5F00234F@YMIR.BITNET>
Resent-To: INFO-PMDF-LIST2@YMIR.BITNET
Subject: (3.0-26) Fix problems with mixing PMDF and non-PMDF addresses in VMS
 MAIL
To: info-pmdf@YMIR.BITNET
X-Vms-To: IPMDF

Several people have encountered problems when PMDF addreses are mixed with
non-PMDF address in VMS MAIL. Symptoms include garbled messages or complete
loss of message contents in one or more of the copies. It is usually the
other (non-PMDF) copy of the message that is damaged; the PMDF copy is
fine.

The following patch seems to fix this problem, at least in some cases.  PMDF
uses RMS to read the temporary message file that VMS MAIL has set up. In the
past PMDF did not bother to restore this file to its original state. This patch
causes PMDF to reset the file to the beginning and to reset the BIO (block I/O)
bit if it has been changed.

This is patch number 3.0-26.

I'll be out of town for the next week, so don't expect to hear much from
me on the info-pmdf list for a while.

                                        Ned

************
File DIST_ROOT:[SRC]PMDF_MAIL.PAS;70
  967     previous_bio : boolean;
  968     line : bigvstring; header : he_header;
******
File DIST_ROOT:[SRC]PMDF_MAIL.PAS;69
  967     line : bigvstring; header : he_header;
************
************
File DIST_ROOT:[SRC]PMDF_MAIL.PAS;70
 1098     previous_bio := uand (message_RAB.RAB$L_ROP, RAB$M_BIO) <> 0;
 1099     if DEBUG_OUT then writeln ('The BIO field of the RAB is set ', previou
   s_bio);
 1100     $DISCONNECT (RAB := message_RAB);
******
File DIST_ROOT:[SRC]PMDF_MAIL.PAS;69
 1097     if DEBUG_OUT then writeln ('The BIO field of the RAB is set ',
 1098       uand (message_RAB.RAB$L_ROP, RAB$M_BIO) <> 0);
 1099     $DISCONNECT (RAB := message_RAB);
************
************
File DIST_ROOT:[SRC]PMDF_MAIL.PAS;70
 1152     (* Turn the BIO bit back on if it was set before. *)
 1153     $DISCONNECT (RAB := message_RAB);
 1154     if previous_bio then
 1155       message_RAB.RAB$L_ROP := uor (message_RAB.RAB$L_ROP, RAB$M_BIO);
 1156     $CONNECT (RAB := message_RAB);
 1157     MAIL_OUT_FILE := SS$_NORMAL;
******
File DIST_ROOT:[SRC]PMDF_MAIL.PAS;69
 1151     MAIL_OUT_FILE := SS$_NORMAL;
************

Number of difference sections found: 3
Number of difference records found: 8

DIFFERENCES /IGNORE=()/MERGED=1
    DIST_ROOT:[SRC]PMDF_MAIL.PAS;70-
    DIST_ROOT:[SRC]PMDF_MAIL.PAS;69
