[comp.sources.bugs] elm 2.3 Patch #7

syd@dsinc.DSI.COM (Syd Weinstein) (10/08/90)

Fixes when newmail detects that the mail folder has grown in size it prints a newline, even
if there were no new subjects in the folder.
From: Uwe Doering <gemini%geminix.mbx.sub.org@RELAY.CS.NET>

fix the bounce problem reported earlier when using MMDF submit as the MTA.
From: Jim Clausing <jac%brahms.tinton.ccur.com@RELAY.CS.NET>

fix where x.400 type mailers cause Elm to tag all messages as urgent.
From: ldk@udev.cdc.com (ld kelley x-6857)

allow non-elm mailers to correctly parse filter's folders.
From: sane!genmri!doug@crdgw1.ge.com (Doug Becker)

Added missing parens to an imbedded assignment.
From: Phil Hochstetler <phil@sequent.com>

Add ifndef X-Mailer to fastmail
From: Syd

Fix EB29 - alternate editor being used all the time
From: Michael Clay

newmail did not correctly present sender name if the source
of the mail is local from the system.
From: JT McDuffie <guardian!jt@Sun.COM>

Fix:	From rn, say "| patch -p -N -d DIR", where DIR is your elm source
	directory.  Outside of rn, say "cd DIR; patch -p -N <thisarticle".
	If you don't have the patch program, apply the following by hand,
	or get patch (version 2.0, latest patchlevel).

	After patching:
		sh Configure -d
		make
		make install

	If patch indicates that patchlevel is the wrong version, you may need
	to apply one or more previous patches, or the patch may already
	have been applied.  See the patchlevel.h file to find out what has or
	has not been applied.  In any event, don't continue with the patch.

	If you are missing previous patches they can be obtained from our:
	archive server.

	Syd Weinstein
	elm@DSI.COM

	The patches are available from the dsinc archive server
	Send the following message to archive-server@DSI.COM for
	a list of available patches:

	Subject: patch list
	send index elm


Index: hdrs/patchlevel.h
Prereq: 6
*** ../elm2.3/hdrs/patchlevel.h	Wed Aug 15 23:51:24 1990
--- hdrs/patchlevel.h	Sun Oct  7 21:24:53 1990
***************
*** 1 ****
! #define PATCHLEVEL 6
--- 1 ----
! #define PATCHLEVEL 7

Index: hdrs/sysdefs.SH
Prereq: 4.1.1.1
*** ../elm2.3/hdrs/sysdefs.SH	Sat Jun  9 23:48:19 1990
--- hdrs/sysdefs.SH	Sun Oct  7 19:48:18 1990
***************
*** 12,20 ****
  esac
  echo "Extracting hdrs/sysdefs.h (with variable substitutions)"
  sed <<!GROK!THIS! >sysdefs.h -e 's!^#undef!/\*#undef!'
! /* $Id: sysdefs.SH,v 4.1.1.1 90/06/09 22:28:42 syd Exp $ */
  /*******************************************************************************
!  *  The Elm Mail System  -  $Revision: 4.1.1.1 $   $State: Exp $
   *
   * 			Copyright (c) 1986, 1987 Dave Taylor
   * 			Copyright (c) 1988, 1989, 1990 USENET Community Trust
--- 12,20 ----
  esac
  echo "Extracting hdrs/sysdefs.h (with variable substitutions)"
  sed <<!GROK!THIS! >sysdefs.h -e 's!^#undef!/\*#undef!'
! /* $Id: sysdefs.SH,v 4.1.1.2 90/10/07 19:48:17 syd Exp $ */
  /*******************************************************************************
!  *  The Elm Mail System  -  $Revision: 4.1.1.2 $   $State: Exp $
   *
   * 			Copyright (c) 1986, 1987 Dave Taylor
   * 			Copyright (c) 1988, 1989, 1990 USENET Community Trust
***************
*** 26,31 ****
--- 26,35 ----
   *
   *******************************************************************************
   * $Log:	sysdefs.SH,v $
+  * Revision 4.1.1.2  90/10/07  19:48:17  syd
+  * fix the bounce problem reported earlier when using MMDF submit as the MTA.
+  * From: Jim Clausing <jac%brahms.tinton.ccur.com@RELAY.CS.NET>
+  * 
   * Revision 4.1.1.1  90/06/09  22:28:42  syd
   * Allow use of submit with mmdf instead of sendmail stub
   * From: martin <martin@hppcmart.grenoble.hp.com>
***************
*** 105,110 ****
--- 109,115 ----
  #define smflagsv      	"-oi -oem -v"   /* Verbose voyuer mode */
  #define submitmail     	"$submit"
  #define submitflags     "-mlrnxto,cc*"
+ #define submitflagss    "-mlrn"
  #define mailer		"$mailer"
  
  #define mailx		"$mailx"

Index: Configure
Prereq: 4.1.1.9
*** ../elm2.3/Configure	Wed Aug 15 23:51:26 1990
--- Configure	Sun Oct  7 21:32:02 1990
***************
*** 8,14 ****
  # and edit it to reflect your system.  Some packages may include samples
  # of config.h for certain machines, so you might look for one of those.)
  #
! # $Header: /files/home/users/syd/elm.rel/RCS/Configure,v 4.1.1.9 90/08/15 22:42:11 syd Exp $
  #
  # Yes, you may rip this off to use in other distribution packages.
  # (Note: this Configure script was generated automatically.  Rather than
--- 8,14 ----
  # and edit it to reflect your system.  Some packages may include samples
  # of config.h for certain machines, so you might look for one of those.)
  #
! # $Header: /files/home/users/syd/elm.rel/RCS/Configure,v 4.1.1.10 90/10/07 21:31:35 syd Exp $
  #
  # Yes, you may rip this off to use in other distribution packages.
  # (Note: this Configure script was generated automatically.  Rather than
***************
*** 800,806 ****
  
  The Elm manuals are set up for troff.  If you only have nroff, it can
  be used, but the manuals will not be as readable.  If you use an alternate
! processor for troff/nroff documents it can be specified here.
  
  EOM
  cont=true
--- 800,810 ----
  
  The Elm manuals are set up for troff.  If you only have nroff, it can
  be used, but the manuals will not be as readable.  If you use an alternate
! processor for troff/nroff documents it can be specified here.  Elm expects
! the text processor to write to standard out.   Some old troff programs require
! the -t flag to send the output to standard out.  If yours does, use the -t flag
! as part of the executable name and ignore the not found error message,
! as in: troff -t
  
  EOM
  cont=true
***************
*** 3250,3256 ****
  elif $contains 'void.*signal' $$.tmp >/dev/null 2>&1 ; then
      echo "You have void (*signal())() instead of int."
      d_voidsig="$define"
! elif $contains 'extern[ 	]*signal' $$.tmp >/dev/null 2>&1 ; then
      echo "You have int (*signal())() instead of void."
      d_voidsig="$undef"
  elif $test -n "$d_voidsig"; then
--- 3254,3260 ----
  elif $contains 'void.*signal' $$.tmp >/dev/null 2>&1 ; then
      echo "You have void (*signal())() instead of int."
      d_voidsig="$define"
! elif $contains 'extern[ 	]*[(\*]*signal' $$.tmp >/dev/null 2>&1 ; then
      echo "You have int (*signal())() instead of void."
      d_voidsig="$undef"
  elif $test -n "$d_voidsig"; then

Index: filter/actions.c
Prereq: 4.1.1.1
*** ../elm2.3/filter/actions.c	Tue Jun  5 22:02:34 1990
--- filter/actions.c	Sun Oct  7 20:36:42 1990
***************
*** 1,8 ****
  
! static char rcsid[] ="@(#)$Id: actions.c,v 4.1.1.1 90/06/05 20:28:51 syd Exp $";
  
  /*******************************************************************************
!  *  The Elm Mail System  -  $Revision: 4.1.1.1 $   $State: Exp $
   *
   * 			Copyright (c) 1986, 1987 Dave Taylor
   * 			Copyright (c) 1988, 1989, 1990 USENET Community Trust
--- 1,8 ----
  
! static char rcsid[] ="@(#)$Id: actions.c,v 4.1.1.2 90/10/07 20:36:41 syd Exp $";
  
  /*******************************************************************************
!  *  The Elm Mail System  -  $Revision: 4.1.1.2 $   $State: Exp $
   *
   * 			Copyright (c) 1986, 1987 Dave Taylor
   * 			Copyright (c) 1988, 1989, 1990 USENET Community Trust
***************
*** 14,19 ****
--- 14,23 ----
   *
   *******************************************************************************
   * $Log:	actions.c,v $
+  * Revision 4.1.1.2  90/10/07  20:36:41  syd
+  * allow non-elm mailers to correctly parse filter's folders.
+  * From: sane!genmri!doug@crdgw1.ge.com (Doug Becker)
+  * 
   * Revision 4.1.1.1  90/06/05  20:28:51  syd
   * The open system call in actions.c for EMERGENCY_MAILBOX and EMER_MBOX
   * were tested with the inequality >= 0 exactly backwards.
***************
*** 194,200 ****
  
  	  while (fgets(buffer, sizeof(buffer), tempfd) != NULL)
  	    fputs(buffer, fd);
! 	
  	  fclose(fd);
  	  fclose(tempfd);
  	}
--- 198,211 ----
  
  	  while (fgets(buffer, sizeof(buffer), tempfd) != NULL)
  	    fputs(buffer, fd);
! 
! 	  /*
! 	   * Add two newlines, to ensure that other mailers (which, unlike
! 	   * elm, may only look for \n\nFrom_ as the start-of-message
! 	   * indicator).
! 	   */
! 	  fprintf(fd, "%s", "\n\n");
! 
  	  fclose(fd);
  	  fclose(tempfd);
  	}

Index: src/addr_util.c
Prereq: 4.1
*** ../elm2.3/src/addr_util.c	Sat Apr 28 22:42:24 1990
--- src/addr_util.c	Sun Oct  7 20:45:09 1990
***************
*** 1,8 ****
  
! static char rcsid[] = "@(#)$Id: addr_util.c,v 4.1 90/04/28 22:42:21 syd Exp $";
  
  /*******************************************************************************
!  *  The Elm Mail System  -  $Revision: 4.1 $   $State: Exp $
   *
   * 			Copyright (c) 1986, 1987 Dave Taylor
   * 			Copyright (c) 1988, 1989, 1990 USENET Community Trust
--- 1,8 ----
  
! static char rcsid[] = "@(#)$Id: addr_util.c,v 4.1.1.1 90/10/07 20:44:56 syd Exp $";
  
  /*******************************************************************************
!  *  The Elm Mail System  -  $Revision: 4.1.1.1 $   $State: Exp $
   *
   * 			Copyright (c) 1986, 1987 Dave Taylor
   * 			Copyright (c) 1988, 1989, 1990 USENET Community Trust
***************
*** 14,19 ****
--- 14,23 ----
   *
   *******************************************************************************
   * $Log:	addr_util.c,v $
+  * Revision 4.1.1.1  90/10/07  20:44:56  syd
+  * Make time to seconds
+  * From: rhg@cpscom
+  * 
   * Revision 4.1  90/04/28  22:42:21  syd
   * checkin of Elm 2.3 as of Release PL0
   * 
***************
*** 604,610 ****
          gmttime += mday - 1;		/* and now to the day */
          gmttime *= 24 * 60;			/* convert to minutes */
          gmttime += minutes;
!         rec_ptr->time_sent = gmttime * 60;	/* now unix seconds since 1/1/70 00:00 GMT */
  
  	return(rec_ptr->year[0] != '\0');
  }
--- 608,614 ----
          gmttime += mday - 1;		/* and now to the day */
          gmttime *= 24 * 60;			/* convert to minutes */
          gmttime += minutes;
!         rec_ptr->time_sent = gmttime * 60 + seconds;	/* now unix seconds since 1/1/70 00:00 GMT */
  
  	return(rec_ptr->year[0] != '\0');
  }

Index: src/edit.c
Prereq: 4.1.1.1
*** ../elm2.3/src/edit.c	Thu Jul 12 23:35:20 1990
--- src/edit.c	Sun Oct  7 21:03:03 1990
***************
*** 1,8 ****
  
! static char rcsid[] = "@(#)$Id: edit.c,v 4.1.1.1 90/07/12 22:43:05 syd Exp $";
  
  /*******************************************************************************
!  *  The Elm Mail System  -  $Revision: 4.1.1.1 $   $State: Exp $
   *
   * 			Copyright (c) 1986, 1987 Dave Taylor
   * 			Copyright (c) 1988, 1989, 1990 USENET Community Trust
--- 1,8 ----
  
! static char rcsid[] = "@(#)$Id: edit.c,v 4.1.1.2 90/10/07 21:02:42 syd Exp $";
  
  /*******************************************************************************
!  *  The Elm Mail System  -  $Revision: 4.1.1.2 $   $State: Exp $
   *
   * 			Copyright (c) 1986, 1987 Dave Taylor
   * 			Copyright (c) 1988, 1989, 1990 USENET Community Trust
***************
*** 14,19 ****
--- 14,23 ----
   *
   *******************************************************************************
   * $Log:	edit.c,v $
+  * Revision 4.1.1.2  90/10/07  21:02:42  syd
+  * Fix EB29 using alternate editor all the time
+  * From: Michael Clay
+  * 
   * Revision 4.1.1.1  90/07/12  22:43:05  syd
   * Make it aware of the fact that we loose the cursor position on
   * some system calls, so set it far enough off an absolute move will
***************
*** 72,78 ****
  	PutLine0(LINES-1,0,"Invoking editor...");
  
  	strcpy(edited_file, (folder_type == NON_SPOOL ? cur_folder : cur_tempfolder));
! 	sprintf(buffer, "%s %s", alternative_editor, edited_file);
  
  	Raw(OFF);
  
--- 76,85 ----
  	PutLine0(LINES-1,0,"Invoking editor...");
  
  	strcpy(edited_file, (folder_type == NON_SPOOL ? cur_folder : cur_tempfolder));
! 	if (strcmp(editor, "builtin") == 0 || strcmp(editor, "none") == 0)
! 	  sprintf(buffer, "%s %s", alternative_editor, edited_file);
! 	else
! 	  sprintf(buffer, "%s %s", editor, edited_file);
  
  	Raw(OFF);
  

Index: src/file.c
Prereq: 4.1
*** ../elm2.3/src/file.c	Sat Apr 28 22:43:04 1990
--- src/file.c	Sun Oct  7 19:48:07 1990
***************
*** 1,8 ****
  
! static char rcsid[] = "@(#)$Id: file.c,v 4.1 90/04/28 22:43:02 syd Exp $";
  
  /*******************************************************************************
!  *  The Elm Mail System  -  $Revision: 4.1 $   $State: Exp $
   *
   * 			Copyright (c) 1986, 1987 Dave Taylor
   * 			Copyright (c) 1988, 1989, 1990 USENET Community Trust
--- 1,8 ----
  
! static char rcsid[] = "@(#)$Id: file.c,v 4.1.1.1 90/10/07 19:48:05 syd Exp $";
  
  /*******************************************************************************
!  *  The Elm Mail System  -  $Revision: 4.1.1.1 $   $State: Exp $
   *
   * 			Copyright (c) 1986, 1987 Dave Taylor
   * 			Copyright (c) 1988, 1989, 1990 USENET Community Trust
***************
*** 14,19 ****
--- 14,23 ----
   *
   *******************************************************************************
   * $Log:	file.c,v $
+  * Revision 4.1.1.1  90/10/07  19:48:05  syd
+  * fix the bounce problem reported earlier when using MMDF submit as the MTA.
+  * From: Jim Clausing <jac%brahms.tinton.ccur.com@RELAY.CS.NET>
+  * 
   * Revision 4.1  90/04/28  22:43:02  syd
   * checkin of Elm 2.3 as of Release PL0
   * 
***************
*** 221,227 ****
  	 */
  	if(is_new = ison(headers[number]->status, NEW))
  	  clearit(headers[number]->status, NEW);
! 	copy_message("", fd, FALSE, FALSE, TRUE, FALSE);
  	if(is_new)
  	  setit(headers[number]->status, NEW);
  	current = save_current;
--- 225,231 ----
  	 */
  	if(is_new = ison(headers[number]->status, NEW))
  	  clearit(headers[number]->status, NEW);
! 	copy_message("", fd, FALSE, FALSE, TRUE, FALSE, FALSE);
  	if(is_new)
  	  setit(headers[number]->status, NEW);
  	current = save_current;

Index: src/fileio.c
Prereq: 4.1
*** ../elm2.3/src/fileio.c	Sat Apr 28 22:43:07 1990
--- src/fileio.c	Sun Oct  7 19:48:09 1990
***************
*** 1,8 ****
  
! static char rcsid[] = "@(#)$Id: fileio.c,v 4.1 90/04/28 22:43:06 syd Exp $";
  
  /*******************************************************************************
!  *  The Elm Mail System  -  $Revision: 4.1 $   $State: Exp $
   *
   * 			Copyright (c) 1986, 1987 Dave Taylor
   * 			Copyright (c) 1988, 1989, 1990 USENET Community Trust
--- 1,8 ----
  
! static char rcsid[] = "@(#)$Id: fileio.c,v 4.1.1.1 90/10/07 19:48:08 syd Exp $";
  
  /*******************************************************************************
!  *  The Elm Mail System  -  $Revision: 4.1.1.1 $   $State: Exp $
   *
   * 			Copyright (c) 1986, 1987 Dave Taylor
   * 			Copyright (c) 1988, 1989, 1990 USENET Community Trust
***************
*** 14,19 ****
--- 14,23 ----
   *
   *******************************************************************************
   * $Log:	fileio.c,v $
+  * Revision 4.1.1.1  90/10/07  19:48:08  syd
+  * fix the bounce problem reported earlier when using MMDF submit as the MTA.
+  * From: Jim Clausing <jac%brahms.tinton.ccur.com@RELAY.CS.NET>
+  * 
   * Revision 4.1  90/04/28  22:43:06  syd
   * checkin of Elm 2.3 as of Release PL0
   * 
***************
*** 38,47 ****
  
  char *error_name(), *index();
  
! copy_message(prefix, dest_file, remove_header, remote, update_status, mmdf_head)
  char *prefix;
  FILE *dest_file;
! int  remove_header, remote, update_status, mmdf_head;
  {
  	/** Copy current message to destination file, with optional 'prefix' 
  	    as the prefix for each line.  If remove_header is true, it will 
--- 42,57 ----
  
  char *error_name(), *index();
  
! copy_message(prefix, 
! 	     dest_file, 
! 	     remove_header, 
! 	     remote, 
! 	     update_status, 
! 	     mmdf_head,
! 	     remail)
  char *prefix;
  FILE *dest_file;
! int  remove_header, remote, update_status, mmdf_head, remail;
  {
  	/** Copy current message to destination file, with optional 'prefix' 
  	    as the prefix for each line.  If remove_header is true, it will 
***************
*** 63,68 ****
--- 73,79 ----
      register int  lines, front_line, next_front,
  		  in_header = 1, first_line = TRUE, ignoring = FALSE;
      int	end_header = 0;
+     int sender_added = 0;
  
        /** get to the first line of the message desired **/
  
***************
*** 118,123 ****
--- 129,141 ----
  	if (strlen(buffer) < 2) {
  	  in_header = 0;
  	  end_header = -1;
+ 	  if (remail && !sender_added) {
+ 	    if (fprintf(dest_file, "%sSender: %s\n", prefix, username) == EOF) {
+ 	      Write_to_screen("\n\rWrite in copy_message failed\n\r", 0);
+ 	      dprint(1, (debugfile,"\n*** Fprint failed on copy_message;\n"));
+ 	      rm_temps_exit();
+ 	    }
+ 	  }
  	}
  	else if (!isspace(*buffer)
  	      && index(buffer, ':') == NULL
***************
*** 127,133 ****
--- 145,165 ----
  		) {
  	  in_header = 0;
  	  end_header = 1;
+ 	  if (remail && !sender_added) {
+ 	    if (fprintf(dest_file, "%sSender: %s\n", prefix, username) == EOF) {
+ 	      Write_to_screen("\n\rWrite in copy_message failed\n\r", 0);
+ 	      dprint(1, (debugfile,"\n*** Fprint failed on copy_message;\n"));
+ 	      rm_temps_exit();
+ 	    }
+ 	  }
  	} else if (in_header && remote && first_word(buffer, "Sender:")) {
+ 	  if (remail)
+ 	    if (fprintf(dest_file, "%sSender: %s\n", prefix, username) == EOF) {
+ 	      Write_to_screen("\n\rWrite in copy_message failed\n\r", 0);
+ 	      dprint(1, (debugfile,"\n*** Fprint failed on copy_message;\n"));
+ 	      rm_temps_exit();
+ 	    }
+ 	  sender_added = TRUE;
  	  continue;
  	}
  	if (end_header) {
***************
*** 231,240 ****
  	      first_word(buffer, "Return-Path:"))
  	      ignoring = TRUE;
  	  else
! 	    if (fprintf(dest_file, "%s%s", prefix, buffer) == EOF) {
!               dprint(1, (debugfile,"\n*** Fprint failed on copy_message;\n"));
! 	      rm_temps_exit();
  	      }
  	}
        }
        else { /* not in header */
--- 263,279 ----
  	      first_word(buffer, "Return-Path:"))
  	      ignoring = TRUE;
  	  else
! 	    if (remail && first_word(buffer, "To:")) {
! 	      if (fprintf(dest_file, "%sOrig-%s", prefix, buffer) == EOF) {
!                 dprint(1, (debugfile,"\n*** Fprint failed on copy_message;\n"));
! 	        rm_temps_exit();
  	      }
+ 	    } else {
+ 	      if (fprintf(dest_file, "%s%s", prefix, buffer) == EOF) {
+                 dprint(1, (debugfile,"\n*** Fprint failed on copy_message;\n"));
+ 	        rm_temps_exit();
+ 	      }
+ 	    }
  	}
        }
        else { /* not in header */

Index: src/mailmsg2.c
Prereq: 4.1.1.7
*** ../elm2.3/src/mailmsg2.c	Wed Aug 15 23:51:36 1990
--- src/mailmsg2.c	Sun Oct  7 19:48:14 1990
***************
*** 1,8 ****
  
! static char rcsid[] = "@(#)$Id: mailmsg2.c,v 4.1.1.7 90/08/15 22:02:36 syd Exp $";
  
  /*******************************************************************************
!  *  The Elm Mail System  -  $Revision: 4.1.1.7 $   $State: Exp $
   *
   * 			Copyright (c) 1986, 1987 Dave Taylor
   * 			Copyright (c) 1988, 1989, 1990 USENET Community Trust
--- 1,8 ----
  
! static char rcsid[] = "@(#)$Id: mailmsg2.c,v 4.1.1.8 90/10/07 19:48:10 syd Exp $";
  
  /*******************************************************************************
!  *  The Elm Mail System  -  $Revision: 4.1.1.8 $   $State: Exp $
   *
   * 			Copyright (c) 1986, 1987 Dave Taylor
   * 			Copyright (c) 1988, 1989, 1990 USENET Community Trust
***************
*** 14,19 ****
--- 14,23 ----
   *
   *******************************************************************************
   * $Log:	mailmsg2.c,v $
+  * Revision 4.1.1.8  90/10/07  19:48:10  syd
+  * fix the bounce problem reported earlier when using MMDF submit as the MTA.
+  * From: Jim Clausing <jac%brahms.tinton.ccur.com@RELAY.CS.NET>
+  * 
   * Revision 4.1.1.7  90/08/15  22:02:36  syd
   * deal with several of the problems that have come up trying to use the MMDF
   * submit program directly rather than going through the sendmail stub
***************
*** 180,190 ****
  	    fputs("Forwarded message:\n", reply);
  	  }
  	  if (edit_message) {
! 	    copy_message(prefixchars, reply, noheader, FALSE, FALSE, TRUE);
  	    already_has_text = TRUE;	/* we just added it, right? */
  	  }
  	  else
! 	    copy_message("", reply, noheader, FALSE, FALSE, TRUE);
  	}
  
          /* append signature now if we are going to use an external editor */
--- 184,194 ----
  	    fputs("Forwarded message:\n", reply);
  	  }
  	  if (edit_message) {
! 	    copy_message(prefixchars, reply, noheader,FALSE,FALSE,TRUE,FALSE);
  	    already_has_text = TRUE;	/* we just added it, right? */
  	  }
  	  else
! 	    copy_message("", reply, noheader, FALSE, FALSE, TRUE, FALSE);
  	}
  
          /* append signature now if we are going to use an external editor */

Index: src/newmbox.c
Prereq: 4.1.1.2
*** ../elm2.3/src/newmbox.c	Tue Jun 26 21:09:10 1990
--- src/newmbox.c	Sun Oct  7 19:54:59 1990
***************
*** 1,8 ****
  
! static char rcsid[] = "@(#)$Id: newmbox.c,v 4.1.1.2 90/06/26 20:18:06 syd Exp $";
  
  /*******************************************************************************
!  *  The Elm Mail System  -  $Revision: 4.1.1.2 $   $State: Exp $
   *
   * 			Copyright (c) 1988, USENET Community Trust
   * 			Copyright (c) 1988, 1989, 1990 USENET Community Trust
--- 1,8 ----
  
! static char rcsid[] = "@(#)$Id: newmbox.c,v 4.1.1.3 90/10/07 19:54:56 syd Exp $";
  
  /*******************************************************************************
!  *  The Elm Mail System  -  $Revision: 4.1.1.3 $   $State: Exp $
   *
   * 			Copyright (c) 1988, USENET Community Trust
   * 			Copyright (c) 1988, 1989, 1990 USENET Community Trust
***************
*** 14,19 ****
--- 14,23 ----
   *
   *******************************************************************************
   * $Log:	newmbox.c,v $
+  * Revision 4.1.1.3  90/10/07  19:54:56  syd
+  * fix where x.400 type mailers cause Elm to tag all messages as urgent.
+  * From: ldk@udev.cdc.com (ld kelley x-6857)
+  * 
   * Revision 4.1.1.2  90/06/26  20:18:06  syd
   * Fix double word
   * From: Peter Kendell <pete@tcom.stc.co.uk>
***************
*** 607,614 ****
  
  	    /** some status things about the message... **/
  
! 	    else if (first_word(buffer, "Priority:") || 
! 		     first_word(buffer, "Importance: 2"))
  	      current_header->status |= URGENT;
  	    else if (first_word(buffer, "Sensitivity: 2"))
  	      current_header->status |= PRIVATE;
--- 611,620 ----
  
  	    /** some status things about the message... **/
  
! 	    else if ((first_word(buffer, "Priority:") ||
! 		     first_word(buffer, "Importance: 2")) &&
! 		   !(first_word(buffer, "Priority: normal") ||
! 		     first_word(buffer, "Priority: non-urgent")))
  	      current_header->status |= URGENT;
  	    else if (first_word(buffer, "Sensitivity: 2"))
  	      current_header->status |= PRIVATE;

Index: src/remail.c
Prereq: 4.1
*** ../elm2.3/src/remail.c	Sat Apr 28 22:43:51 1990
--- src/remail.c	Sun Oct  7 19:48:16 1990
***************
*** 1,8 ****
  
! static char rcsid[] = "@(#)$Id: remail.c,v 4.1 90/04/28 22:43:50 syd Exp $";
  
  /*******************************************************************************
!  *  The Elm Mail System  -  $Revision: 4.1 $   $State: Exp $
   *
   * 			Copyright (c) 1986, 1987 Dave Taylor
   * 			Copyright (c) 1988, 1989, 1990 USENET Community Trust
--- 1,8 ----
  
! static char rcsid[] = "@(#)$Id: remail.c,v 4.1.1.1 90/10/07 19:48:15 syd Exp $";
  
  /*******************************************************************************
!  *  The Elm Mail System  -  $Revision: 4.1.1.1 $   $State: Exp $
   *
   * 			Copyright (c) 1986, 1987 Dave Taylor
   * 			Copyright (c) 1988, 1989, 1990 USENET Community Trust
***************
*** 14,19 ****
--- 14,23 ----
   *
   *******************************************************************************
   * $Log:	remail.c,v $
+  * Revision 4.1.1.1  90/10/07  19:48:15  syd
+  * fix the bounce problem reported earlier when using MMDF submit as the MTA.
+  * From: Jim Clausing <jac%brahms.tinton.ccur.com@RELAY.CS.NET>
+  * 
   * Revision 4.1  90/04/28  22:43:50  syd
   * checkin of Elm 2.3 as of Release PL0
   * 
***************
*** 42,47 ****
--- 46,52 ----
  	FILE *mailfd;
  	char entered[VERY_LONG_STRING], expanded[VERY_LONG_STRING];
  	char *filename, buffer[VERY_LONG_STRING], ch;
+ 	char mailerflags[NLEN];
  	extern char *tempnam();
  
  	entered[0] = '\0';
***************
*** 75,82 ****
  
  	chown (filename, userid, groupid);
  
! 	copy_message("", mailfd, FALSE, TRUE, FALSE, TRUE);  
  
  	fclose(mailfd);
  
  	/** Got the messsage, now let's ensure the person really wants to 
--- 80,92 ----
  
  	chown (filename, userid, groupid);
  
! #ifdef MMDF
! 	if (strcmp(submitmail, mailer) == 0)
! 	  do_mmdf_addresses(mailfd, strip_parens(strip_commas(expanded)));
! #endif /* MMDF */
  
+ 	copy_message("", mailfd, FALSE, TRUE, FALSE, TRUE, TRUE);  
+ 
  	fclose(mailfd);
  
  	/** Got the messsage, now let's ensure the person really wants to 
***************
*** 98,105 ****
  	}
  	Write_to_screen("Yes.", 0);
  
! 	sprintf(buffer,"( (%s %s ; %s %s) & ) < %s", 
! 	      mailer, strip_parens(strip_commas(expanded)), 
  	      remove_cmd, filename, filename);
  
  	PutLine0(LINES,0,"Resending mail...");
--- 108,128 ----
  	}
  	Write_to_screen("Yes.", 0);
  
! 	if (strcmp(sendmail, mailer) == 0
! #ifdef SITE_HIDING
! 	    && ! is_a_hidden_user(username))
! #else
! 					 )
! #endif
! 	  strcpy(mailerflags, (sendmail_verbose ? smflagsv : smflags));
! 	else if (strcmp(submitmail, mailer) == 0) {
! 	  strcpy(mailerflags, submitflagss);
! 	  strcpy(expanded, " ");
! 	} else
! 	  mailerflags[0] = '\0';
! 	
! 	sprintf(buffer,"( (%s %s %s ; %s %s) & ) < %s", 
! 	      mailer, mailerflags, strip_parens(strip_commas(expanded)), 
  	      remove_cmd, filename, filename);
  
  	PutLine0(LINES,0,"Resending mail...");
***************
*** 108,110 ****
--- 131,151 ----
  
  	return(1);
  }
+ #ifdef MMDF
+ do_mmdf_addresses(dest_file,buffer)
+ FILE *dest_file;
+ char *buffer;
+ {
+ 	char old[VERY_LONG_STRING], first[VERY_LONG_STRING], 
+ 		rest[VERY_LONG_STRING];
+ 
+ 	strcpy(old,buffer);
+ 	split_word(old, first, rest);
+ 	while (strcmp(first, "") != 0) {
+ 	  fprintf(dest_file, "%s\n", first);
+ 	  strcpy(old, rest);
+ 	  split_word(old, first, rest);
+ 	}
+ 	fprintf(dest_file, "\n");
+ }
+ #endif /* MMDF */

Index: utils/arepdaem.c
Prereq: 4.1.1.2
*** ../elm2.3/utils/arepdaem.c	Wed Aug 15 23:51:38 1990
--- utils/arepdaem.c	Sun Oct  7 20:39:34 1990
***************
*** 1,8 ****
  
! static char rcsid[] = "@(#)$Id: arepdaem.c,v 4.1.1.2 90/08/15 22:50:14 syd Exp $";
  
  /*******************************************************************************
!  *  The Elm Mail System  -  $Revision: 4.1.1.2 $   $State: Exp $
   *
   * 			Copyright (c) 1986, 1987 Dave Taylor
   * 			Copyright (c) 1988, 1989, 1990 USENET Community Trust
--- 1,8 ----
  
! static char rcsid[] = "@(#)$Id: arepdaem.c,v 4.1.1.3 90/10/07 20:39:31 syd Exp $";
  
  /*******************************************************************************
!  *  The Elm Mail System  -  $Revision: 4.1.1.3 $   $State: Exp $
   *
   * 			Copyright (c) 1986, 1987 Dave Taylor
   * 			Copyright (c) 1988, 1989, 1990 USENET Community Trust
***************
*** 14,19 ****
--- 14,23 ----
   *
   *******************************************************************************
   * $Log:	arepdaem.c,v $
+  * Revision 4.1.1.3  90/10/07  20:39:31  syd
+  * Added missing parens to an imbedded assignment.
+  * From: Phil Hochstetler <phil@sequent.com>
+  * 
   * Revision 4.1.1.2  90/08/15  22:50:14  syd
   * Fix last size to time call
   * From: Syd
***************
*** 632,638 ****
  	  return(0);	/* file already exists */
  #endif
  
! 	if (create_fd=creat(lock_name, O_RDONLY) == -1)
  	  return(0);	/* can't create file!!   */
  
  	sprintf(pid_buffer,"%d\n", getpid() );		/* write the current pid to the file */
--- 636,642 ----
  	  return(0);	/* file already exists */
  #endif
  
! 	if ((create_fd=creat(lock_name, O_RDONLY)) == -1)
  	  return(0);	/* can't create file!!   */
  
  	sprintf(pid_buffer,"%d\n", getpid() );		/* write the current pid to the file */

Index: utils/fastmail.c
Prereq: 4.1.1.1
*** ../elm2.3/utils/fastmail.c	Tue Jun 26 21:09:11 1990
--- utils/fastmail.c	Sun Oct  7 20:56:50 1990
***************
*** 1,8 ****
  
! static char rcsid[] = "@(#)$Id: fastmail.c,v 4.1.1.1 90/06/26 20:30:22 syd Exp $";
  
  /*******************************************************************************
!  *  The Elm Mail System  -  $Revision: 4.1.1.1 $   $State: Exp $
   *
   * 			Copyright (c) 1986, 1987 Dave Taylor
   * 			Copyright (c) 1988, 1989, 1990 USENET Community Trust
--- 1,8 ----
  
! static char rcsid[] = "@(#)$Id: fastmail.c,v 4.1.1.2 90/10/07 20:56:25 syd Exp $";
  
  /*******************************************************************************
!  *  The Elm Mail System  -  $Revision: 4.1.1.2 $   $State: Exp $
   *
   * 			Copyright (c) 1986, 1987 Dave Taylor
   * 			Copyright (c) 1988, 1989, 1990 USENET Community Trust
***************
*** 14,19 ****
--- 14,23 ----
   *
   *******************************************************************************
   * $Log:	fastmail.c,v $
+  * Revision 4.1.1.2  90/10/07  20:56:25  syd
+  * Add ifndef NO_XHEADER to X-Mailer
+  * From: syd via request of Frank Elsner
+  * 
   * Revision 4.1.1.1  90/06/26  20:30:22  syd
   * Fix boundary check on argument count
   * From: Syd
***************
*** 212,219 ****
--- 216,225 ----
  	if (strlen(cc_list) > 0)
  	  fprintf(tempfile, "Cc: %s\n", cc_list);
  
+ #ifndef NO_XHEADER
  	fprintf(tempfile, "X-Mailer: fastmail [version %s PL%d]\n",
  	  VERSION, PATCHLEVEL);
+ #endif /* !NO_XHEADER */
  	fprintf(tempfile, "\n");
  
  	fclose(tempfile);

Index: utils/newmail.c
Prereq: 4.1
*** ../elm2.3/utils/newmail.c	Sat Apr 28 22:44:50 1990
--- utils/newmail.c	Sun Oct  7 21:10:37 1990
***************
*** 1,8 ****
  
! static char rcsid[] = "@(#)$Id: newmail.c,v 4.1 90/04/28 22:44:48 syd Exp $";
  
  /*******************************************************************************
!  *  The Elm Mail System  -  $Revision: 4.1 $   $State: Exp $
   *
   * 			Copyright (c) 1986, 1987 Dave Taylor
   * 			Copyright (c) 1988, 1989, 1990 USENET Community Trust
--- 1,8 ----
  
! static char rcsid[] = "@(#)$Id: newmail.c,v 4.1.1.2 90/10/07 21:10:35 syd Exp $";
  
  /*******************************************************************************
!  *  The Elm Mail System  -  $Revision: 4.1.1.2 $   $State: Exp $
   *
   * 			Copyright (c) 1986, 1987 Dave Taylor
   * 			Copyright (c) 1988, 1989, 1990 USENET Community Trust
***************
*** 14,19 ****
--- 14,29 ----
   *
   *******************************************************************************
   * $Log:	newmail.c,v $
+  * Revision 4.1.1.2  90/10/07  21:10:35  syd
+  * newmail did not correctly present sender name if the source
+  * of the mail is local from the system.
+  * From: JT McDuffie <guardian!jt@Sun.COM>
+  * 
+  * Revision 4.1.1.1  90/10/07  19:43:44  syd
+  * Fixes when newmail detects that the mail folder has grown in size it prints a newline, even
+  * if there were no new subjects in the folder.
+  * From: Uwe Doering <gemini%geminix.mbx.sub.org@RELAY.CS.NET>
+  * 
   * Revision 4.1  90/04/28  22:44:48  syd
   * checkin of Elm 2.3 as of Release PL0
   * 
***************
*** 240,248 ****
  
  	      folders[i].filesize = newsize;
  
! 	      read_headers(i);		/* read and display new mail! */
! 
! 	      if (! in_window)
  	        printf("\n\r");
  	    }
  	    else if (newsize != folders[i].filesize) {	/* file SHRUNK! */
--- 250,257 ----
  
  	      folders[i].filesize = newsize;
  
! 	      /* read and display new mail! */
! 	      if (read_headers(i) && ! in_window)
  	        printf("\n\r");
  	    }
  	    else if (newsize != folders[i].filesize) {	/* file SHRUNK! */
***************
*** 471,477 ****
  	who_tmp[0] = '\0';
  
  	sscanf(buffer, "%*s %s %*s %*s %*s %*s %s",
! 	            who, junk);
  
  	if (junk[0] != '\0')
  		strcpy(who, who_tmp);
--- 480,486 ----
  	who_tmp[0] = '\0';
  
  	sscanf(buffer, "%*s %s %*s %*s %*s %*s %s",
! 		    who_tmp, junk);
  
  	if (junk[0] != '\0')
  		strcpy(who, who_tmp);

Index: Patchlist
*** ../elm2.3/Patchlist	Wed Aug 15 23:51:27 1990
--- Patchlist	Sun Oct  7 21:34:28 1990
***************
*** 1,3 ****
--- 1,31 ----
+ 	Elm 2.3 Patch 7 - Misc bug fixes
+ 	Sun Oct  7 21:33:58 EDT 1990 (Creation date, not posting date)
+ Fixes when newmail detects that the mail folder has grown in size it prints a newline, even
+ if there were no new subjects in the folder.
+ From: Uwe Doering <gemini%geminix.mbx.sub.org@RELAY.CS.NET>
+ 
+ fix the bounce problem reported earlier when using MMDF submit as the MTA.
+ From: Jim Clausing <jac%brahms.tinton.ccur.com@RELAY.CS.NET>
+ 
+ fix where x.400 type mailers cause Elm to tag all messages as urgent.
+ From: ldk@udev.cdc.com (ld kelley x-6857)
+ 
+ allow non-elm mailers to correctly parse filter's folders.
+ From: sane!genmri!doug@crdgw1.ge.com (Doug Becker)
+ 
+ Added missing parens to an imbedded assignment.
+ From: Phil Hochstetler <phil@sequent.com>
+ 
+ Add ifndef X-Mailer to fastmail
+ From: Syd
+ 
+ Fix EB29 - alternate editor being used all the time
+ From: Michael Clay
+ 
+ newmail did not correctly present sender name if the source
+ of the mail is local from the system.
+ From: JT McDuffie <guardian!jt@Sun.COM>
+ 
  	Elm 2.3 Patch 6 - Misc bug fixes
  	Wed Aug 15 22:43:46 EDT 1990 (Creation date, not posting date)
  The newly introduced function 'stricmp' has a name conflict with a libc

-- 
=====================================================================
Sydney S. Weinstein, CDP, CCP                   Elm Coordinator
Datacomp Systems, Inc.                          Voice: (215) 947-9900
syd@DSI.COM or dsinc!syd                        FAX:   (215) 938-0235