From: dongray@cdclu1.genrad.com
Newsgroups: comp.os.vms
Subject: Latest version of DELIVER?
Date: 7 Sep 92 13:20:45 GMT
Organization: The Internet

A couple of weeks ago Dick Munroe posted the following...

> In article <1992Aug21.065239.6904@aragorn.unibe.ch>, egger@ubeclu.unibe.ch (Martin Egger) writes:
>> In article <61050051@acf3.NYU.EDU>, tihor@acf3.NYU.EDU (Stephen Tihor) writes:
>>>The easiest solution is to just get standalone deliver -- a wonderful tool --
>>>written by Ned Freed.
>>
>> Where can we get that ?
>>
>> Martin
>>
> I posted the latest copy of Deliver to VMSNET.SOURCES not too long ago.
> It needed a modest amount of work to repair some bugs and to make
> debugging the code somewhat easier (I HATE having to recompile to get
> debugging information).  You should be able to find a copy in the
> CERRITOS.EDU archives or any other FTP/file server site that is
> shadowing VMSNET.SOURCES.  If all else fails, send me a message and I'll
> mail you a copy.
> --
> Dick Munroe				Internet: munroe@dmc.com
> Doyle Munroe Consultants, Inc.		UUCP: ...uunet!thehulk!munroe
> 267 Cox St.				Office: (508) 568-1618
> Hudson, Ma.				FAX: (508) 562-1133

Unfortunately, it appears that his version was based on a much older source
than the one I had. E.g. there are simple actions K, L and M to simplify
debugging.

As a public service, would someone who has better access than me post the true
'latest version' to vmsnet.sources? Perhaps after merging any useful changes
from Dick's code.

(Partial difference output) ...
************
File U$C:[DONGRAY.MAIL_PROTO.DELIVER]DELIVER.PAS;66
    5      Some modifications by Sheldon Smith, December 1986.
    6      Rewrite by Ned Freed to use new $GETUAI system service, 15-Dec-1986.
    7      This change requires the use of VMS 4.4 and Pascal 3.4.
    8      Additional changes by Shel Smith and Andy Leslie, 6-Sep-1988.
    9      Added support for use of SJC$_USER_IDENTIFICATION item code, to get
   10        around problems with SJC$_USERNAME. Since this item code is not
   11        documented and may be removed in the future the support for this
   12        feature is conditional -- the constant use_sjc_user_identification
   13        controls it.
   14
******
File U$C:[DONGRAY.MAIL_PROTO.DELIVER.VARIANT]DELIVER.PAS;2
    5
************
************
File U$C:[DONGRAY.MAIL_PROTO.DELIVER]DELIVER.PAS;66
   42       of VMS.
   43
******
File U$C:[DONGRAY.MAIL_PROTO.DELIVER.VARIANT]DELIVER.PAS;2
   33       of VMS.  This version of DELIVER has been tested and found to
   34       work on VMS versions 4.0, 4.1, 4.2 and 4.3.
   35
************
************
File U$C:[DONGRAY.MAIL_PROTO.DELIVER]DELIVER.PAS;66
   50     Revision history:
   51
   52       PMDF 3.1 release:
   53
   54         13-Jul-1989, Ned Freed, Innosoft International, Inc.
   55
   56           Changed the batch queue from MAIL$BATCH to DELIVER_BATCH, to make it
   57           easier to run in a different queue than PMDF runs in.
   58
   59           Added support for CC lines.
   60
   61           Change DELIVER$STATUS to DELIVER_STATUS, DELIVER$MESSAGE to
   62           DELIVER_MESSAGE, and change the incoming interface to look at
   63           the symbol DELIVER_FROM instead of FROM.
   64
   65           Added the K, L, and M actions (all for easier debugging):
   66
   67             K - Keep the command file after execution.
   68             L - Keep the log file after execution -- log file name is parameter.
   69             M - Keep the message after execution -- same as MESSAGE_DELETE
   70                 flag.
   71
   72         3-Oct-1989, Ned Freed, Innosoft International, Inc.
   73
   74           Added the ability to specify a CC line with a DELIVER_CC symbol.
   75   *)
   76
   77   [inherit ('SYS$LIBRARY:STARLET')] module deliver (output);
   78
   79   const
   80     (* Debugging control flags *)
   81     DEBUG_IN  = false;            (* Debug messages produced by receive code. *)
   82     DEBUG_OUT = false;            (* Debug messages produced by send code.    *)
   83
   84     (* Switch for use of SJC$_USER_IDENTIFICATION *)
   85     use_sjc_user_identification = false;
   86
   87     LNK_C_OUT_CONNECT  = 0;       (* MAIL protocol link actions.           *)
   88     LNK_C_OUT_SENDER   = 1;       (* These are defined in MAILSHR.MAR      *)
   89     LNK_C_OUT_CKUSER   = 2;       (* but because we cannot have external   *)
   90     LNK_C_OUT_TO       = 3;       (* constants in Pascal, they are         *)
   91     LNK_C_OUT_SUBJ     = 4;       (* redefined here.                       *)
   92     LNK_C_OUT_FILE     = 5;
******
File U$C:[DONGRAY.MAIL_PROTO.DELIVER.VARIANT]DELIVER.PAS;2
   42       Modification History:
   43
   44   	0.001 Dick Munroe 03-Jun-92
   45   	      Doyle, Munroe Consultants, Inc.
   46   	      267 Cox St.
   47   	      Hudson, Ma.  01749
   48   	      munroe@dmc.com
   49
   50   	    There is a bug in the CKUSER code since it assumes that the username
   51   	    passed to it is, in fact, correctly formed.  Since the code that
   52   	    generates the invocation of the priviledges send and forward
   53   	    deliberately sets up a badly formatted user name, I'm not sure where
   54   	    the bug really is.  However, it is MUCH easier to change the code
   55   	    that generates the command procedures than anything else.
   56
   57   	0.002 Dick Munroe 05-Jun-92
   58   	    When DELIVER is connected to by an external connection (like when
   59   	    MAIL_SERVER.EXE invokes it) the command procedure is not correctly
   60   	    constructed.  It IS correctly constructed when DELIVER is called
   61   	    from MAIL.EXE.  As a start, I'm defining the ability to arm/disarm
   62   	    debugging at run time.  Three debugging logicals are defined:
   63
   64   		DELIVER_DEBUG_IN    If defined, input debugging is armed.
   65   		DELIVER_DEBUG_OUT   If defined, output debugging is armed.
   66   		DELIVER_DEBUG_LOG   If defined, this is defined as the log file
   67   				    to contain the output.
   68
   69   		DELIVER_DEBUG_LOG isn't implemented at this time, but the other
   70   		two are.
   71
   72   	    The problem appears to be in MAIL.  If SYSPRV is enabled, there
   73   	    seems to be a bug in MAIL preventing the sharable images from
   74   	    being properly invoked.  If BYPASS is asserted, everything works
   75   	    just fine or if NO privileges are asserted, everything works
   76   	    just fine.  Note that a test for bypass CANNOT be put into
   77   	    IN_CONNECT since that would prevent the normal delivery
   78   	    mechanism from working properly.  The test is put into the
   79   	    generated command file and if BYPASS is not available, MAIL is
   80   	    not invoked.
   81   *)
   82
   83   [inherit ('SYSUAFDEF', 'SYS$LIBRARY:STARLET')]
   84     module deliver (output);
   85
   86   const
   87     LNK_C_OUT_CONNECT  = 0;	(* MAIL protocol link actions.		 *)
   88     LNK_C_OUT_SENDER   = 1;	(* These are defined in MAILSHR.MAR	 *)
   89     LNK_C_OUT_CKUSER   = 2;	(* but because we cannot have external	 *)
   90     LNK_C_OUT_TO       = 3;	(* constants in Pascal, they are         *)
   91     LNK_C_OUT_SUBJ     = 4;	(* redefined here.			 *)
   92     LNK_C_OUT_FILE     = 5;
************
[...etc...etc...etc...etc...]
************

Number of difference sections found: 51
Number of difference records found: 1066

DIFFERENCES /IGNORE=(TRAILING_SPACES)/MERGED=1/OUTPUT=U$C:[DONGRAY.MAIL_PROTO.DELIVER]X.TMP;1-
    U$C:[DONGRAY.MAIL_PROTO.DELIVER]DELIVER.PAS;66-
    U$C:[DONGRAY.MAIL_PROTO.DELIVER.VARIANT]DELIVER.PAS;2


--------------------------------------------------------------------------------
Name : Derek Dongray, Systems Manager, GenRad Ltd.
Phone : 061 486 1511 ext 166
PSS : 234261600119::Dongray                 UKnet : Derek.Dongray@GenRad.co.uk
InterNet : Dongray@cdclu1.GenRad.com        CompuServe : 70374,2745
Address : Monmouth House, Monmouth Road, Cheadle Hulme, Cheshire, SK8 7AY, UK.