Article View: comp.sources.reviewed
Article #19v02i020: deliver - (Ver. 2.1) flexible E-Mail delivery, Patch10
From: Chip Salzenberg
Date: Mon, 20 Jul 1992 15:42
Date: Mon, 20 Jul 1992 15:42
292 lines
8165 bytes
8165 bytes
Submitted-by: Chip Salzenberg <chip@tct.com>
Posting-number: Volume 2, Issue 20
Archive-name: deliver/patch10
Patch-To: deliver: Volume 1, Issue 9-14
NOTE: This patch contains changes for files in subdirectories.
When you apply it, be sure to use the "-p" option of patch.
Changes in patch #10 to Deliver 2.1:
1. Two new configurations: Risc OS, in both BSD and SysV flavors.
2. Configuration adjustment: NextOS 2.x has vprintf().
3. If the original sender (as derived from a "-r" option, "From "
line, or "SENDER" environment variable) is unsafe -- i.e. it
contains shell metacharacters -- Deliver now uses the local
sender's name instead and proceeds with delivery.
This change prevents invalid sender addresses, which are beyond
local control, from causing delivery failure.
4. The "make install" actions now work even on systems where the
shell is so badly broken that "set --" doesn't work.
5. The "make install" actions now save the already-installed
"deliver" and "header" binaries (if any) under the names
"deliver.O" and "header.O", respectively.
6. The MMDF document now recommends editing "alias.user" instead of
"alias.list".
Shar and enjoy.
This patch contains changes to the following files:
patchlevel.h
MMDF
Makefile
README
deliver.8
main.c
conf/os-next2.h
conf/os-risc-b.h
conf/os-risc-v.h
Index: patchlevel.h
Prereq: 9
***************
*** 1 ****
! #define PATCHLEVEL 9
--- 1 ----
! #define PATCHLEVEL 10
Index: MMDF
Prereq: 1.3
***************
*** 1,3 ****
! $Id: MMDF,v 1.3 1992/01/20 20:37:06 chip Exp $
--- 1,3 ----
! $Id: MMDF,v 1.4 1992/02/05 21:36:56 chip Exp $
***************
*** 11,15 ****
To use the administrator alias approach, log in as `mmdf' and edit the
! file `table/alias.list'. For each user, add a line like
user "user|/usr/bin/deliver user"
--- 11,15 ----
To use the administrator alias approach, log in as `mmdf' and edit the
! file `table/alias.user'. For each user, add a line like
user "user|/usr/bin/deliver user"
Index: Makefile
Prereq: 1.12
***************
*** 1,3 ****
! # $Id: Makefile,v 1.12 1991/12/25 22:03:19 chip Exp $
#
# Makefile for deliver
--- 1,3 ----
! # $Id: Makefile,v 1.14 1992/05/12 21:03:03 chip Exp $
#
# Makefile for deliver
***************
*** 151,156 ****
install: deliver header uid
! @set -- `./uid -uU | fgrep '(root)' | wc -l`; \
! case "$$1" in \
2) ;; \
*) echo "Sorry! You must be root to install deliver."; exit 1 ;; \
--- 151,156 ----
install: deliver header uid
! @set X `./uid -uU | fgrep '(root)' | wc -l`; \
! case "$$2" in \
2) ;; \
*) echo "Sorry! You must be root to install deliver."; exit 1 ;; \
***************
*** 167,170 ****
--- 167,172 ----
done ;; \
esac
+ rm -f $(BIN)/deliver.O
+ -mv $(BIN)/deliver $(BIN)/deliver.O
$(COPY) deliver $(BIN)/deliver
chgrp $(GROUP) $(BIN)/deliver
***************
*** 171,174 ****
--- 173,178 ----
chown root $(BIN)/deliver
chmod 4711 $(BIN)/deliver
+ rm -f $(BIN)/header.O
+ -mv $(BIN)/header $(BIN)/header.O
$(COPY) header $(BIN)/header
chmod 755 $(BIN)/header
Index: README
Prereq: 1.10
***************
*** 1,4 ****
! $Id: README,v 1.10 1991/11/21 15:34:13 chip Exp $
! This is the README file for Deliver 2.1.09.
--- 1,4 ----
! $Id: README,v 1.11 1992/07/02 17:57:59 chip Exp $
! This is the README file for Deliver 2.1.10.
Index: deliver.8
Prereq: 1.7
***************
*** 1,7 ****
! .\" $Id: deliver.8,v 1.7 1991/11/21 15:34:45 chip Exp $
.\"
.\" Man page for deliver.
.\"
! .TH DELIVER 8 "Deliver 2.1.09"
.SH NAME
deliver \- deliver mail
--- 1,7 ----
! .\" $Id: deliver.8,v 1.8 1992/07/02 17:58:44 chip Exp $
.\"
.\" Man page for deliver.
.\"
! .TH DELIVER 8 "Deliver 2.1.10"
.SH NAME
deliver \- deliver mail
Index: main.c
Prereq: 1.8
***************
*** 1,3 ****
! /* $Id: main.c,v 1.8 1992/01/20 20:35:14 chip Exp $
*
* A program to deliver local mail with some flexibility.
--- 1,3 ----
! /* $Id: main.c,v 1.9 1992/05/12 21:02:17 chip Exp $
*
* A program to deliver local mail with some flexibility.
***************
*** 4,7 ****
--- 4,11 ----
*
* $Log: main.c,v $
+ * Revision 1.9 1992/05/12 21:02:17 chip
+ * No diagnostic message when sender address is unsafe;
+ * it's not the local system's fault, and delivery proceeds.
+ *
* Revision 1.8 1992/01/20 20:35:14 chip
* Eliminate GCC2 warnings about unparenthesized || and &&.
***************
*** 513,521 ****
if (!addr_clean(orig_sender))
- {
- error("sender address \"%s\" unsafe; using \"%s\"",
- orig_sender, local_sender);
orig_sender = local_sender;
- }
/*
--- 517,521 ----
Index: conf/os-next2.h
Prereq: 1.2
***************
*** 1,3 ****
! /* $Id: os-next2.h,v 1.2 1991/08/05 18:18:05 chip Exp $
*
* Deliver configuration for NextOS 2.x.
--- 1,3 ----
! /* $Id: os-next2.h,v 1.3 1992/07/15 14:01:30 chip Exp $
*
* Deliver configuration for NextOS 2.x.
***************
*** 4,7 ****
--- 4,10 ----
*
* $Log: os-next2.h,v $
+ * Revision 1.3 1992/07/15 14:01:30 chip
+ * Next OS has vprintf().
+ *
* Revision 1.2 1991/08/05 18:18:05 chip
* As per experience of c.s.r reviewer.
***************
*** 17,20 ****
--- 20,24 ----
#define ML_DOTLOCK /* Create <mailbox>.lock */
+ #define HAS_VPRINTF /* Has vprintf() */
#define HAS_GETOPT /* Has getopt() */
#define HAS_VOIDSIG /* Signal handlers return void */
Index: conf/os-risc-b.h
***************
*** 0 ****
--- 1,29 ----
+ /* $Id: os-risc-b.h,v 1.1 1992/07/15 13:59:22 chip Exp $
+ *
+ * Deliver configuration for MIPS risc/os 4.x (bsd universe)
+ *
+ * $Log: os-risc-b.h,v $
+ * Revision 1.1 1992/07/15 13:59:22 chip
+ * Initial revision
+ *
+ */
+
+ /* Mostly it's BSD. */
+
+ #include <os-bsd.h>
+
+ /* Then again... */
+
+ #define HH_STDARG /* Has <stdarg.h> */
+ #define HH_STRING /* Has <string.h> */
+
+ #undef SAFEPATH
+ #define SAFEPATH "/bsd43/bin:/usr/ucb:/bin:/usr/bin" /* Safe dirs for PATH */
+
+ #define ML_DOTLOCK /* Create <mailbox>.lock */
+ #undef ML_KERNEL /* Use kernel locking as defined above */
+
+ #define HAS_STRCHR /* Has strchr() and strrchr() */
+ #define HAS_MEMFUNCS /* Has memcpy() and memset() */
+ #define HAS_VPRINTF /* Has vprintf() */
+ #define HAS_GETOPT /* Has getopt() */
Index: conf/os-risc-v.h
***************
*** 0 ****
--- 1,22 ----
+ /* $Id: os-risc-v.h,v 1.1 1992/07/15 13:59:22 chip Exp $
+ *
+ * Deliver configuration for MIPS risc/os 4.x (sysv universe)
+ *
+ * $Log: os-risc-v.h,v $
+ * Revision 1.1 1992/07/15 13:59:22 chip
+ * Initial revision
+ *
+ */
+
+ /* Mostly it's System V. */
+
+ #include <os-sysv.h>
+
+ /* Then again... */
+
+ #define HH_UNISTD /* Has <unistd.h> */
+ #define HH_STDARG /* Has <stdarg.h> */
+
+ #undef ML_KERNEL /* Use kernel locking as defined above */
+
+ #define HAS_LONGNAMES /* Long filenames (>14) supported */
--
Chip Salzenberg at Teltronics/TCT <chip@tct.com>, <73717.366@compuserve.com>
exit 0 # Just in case...
--
Andrew Patrick acting as Comp.Sources.Reviewed Moderator
Department of Communications, Ottawa, CANADA
csr@calvin.dgbt.doc.CA
Technical Details
Message-ID:
<1992Jul20.154238.10007@rick.dgbt.doc.ca>Path:
arc1-ca.pugleaf.net!sparky!uunet!cs.utexas.edu!torn!cunews!nrcnet0!dgbt!rick.dgbt.doc.ca!calvin.dgbt.doc.ca!csrShow Full Headers
Complete Article Headers
Newsgroups: comp.sources.reviewed Path: arc1-ca.pugleaf.net!sparky!uunet!cs.utexas.edu!torn!cunews!nrcnet0!dgbt!rick.dgbt.doc.ca!calvin.dgbt.doc.ca!csr From: Chip Salzenberg <chip@tct.com> Subject: v02i020: deliver - (Ver. 2.1) flexible E-Mail delivery, Patch10 Message-ID: <1992Jul20.154238.10007@rick.dgbt.doc.ca> Originator: csr@calvin.dgbt.doc.ca Sender: news@rick.dgbt.doc.ca Nntp-Posting-Host: calvin.dgbt.doc.ca Organization: Communications Research Centre, Ottawa Date: Mon, 20 Jul 1992 15:42:38 GMT Approved: csr@calvin.dgbt.doc.ca Lines: 292