home *** CD-ROM | disk | FTP | other *** search
- Path: seismo!uunet!rs
- From: rs@uunet.UU.NET (Rich Salz)
- Newsgroups: comp.sources.unix
- Subject: v10i012: The IDA Sendmail Kit, Part01/07
- Message-ID: <424@uunet.UU.NET>
- Date: 23 Jun 87 04:40:23 GMT
- Organization: UUNET Communications Services, Arlington, VA
- Lines: 2391
- Approved: rs@uunet.uu.net
-
- Mod.sources: Volume 10, Number 12
- Submitted by: Lennart Lovstrand <mcvax!ida.liu.se!lel>
- Archive-name: ida/Part01
-
- [ After talking with a couple of people, I decided to mix backlogged sources
- with recent submissions in order to get stuff that people are currently
- interested in out in a reasonable amount of time. Also, please remember
- that I am not able to provide mail-based retrieval service at this time;
- this is a guest account on UUNET that I am using. --r$ ]
-
- This is the first part of the IDA Sendmail Enhancement Kit.
-
- The Kit includes a set of source code modifications to the BSD 4.3
- sendmail program (version 5.11). The changes will enable sendmail to
- have direct access to dbm(3) files, separate envelope/header rewriting
- rulesets, and multi-token class matches among other things.
-
- As a separate part of the Kit is the IDA Sendmail Master Configuration
- file and a sample setup used at the CIS Dept, U of Linkoping. The
- configuration file together with the supplied data files and utility
- programs, implement such nice features as pathalias based systems
- routing within sendmail, fully !-/@-translating rulesets, and generic
- local user addresses.
-
- Finally, there is an accompanying paper on mail addressing issues in
- general and hybrid addresses in particular. Included in the paper is a
- description of the changes to sendmail and the configuration setup.
-
- Unpack the Kit by (preferably) cd'ing to the sendmail home directory and
- sending the part after the "--cut--here--" line to /bin/sh or unshar.
- This should create a new "ida" subdirectory with all the Kit's files.
- Then see ida/README and ida/INSTALL for further instructions.
-
- --cut--here--cut--here--cut--here--cut--here--cut--here--cut--here-->8--
- #! /bin/sh
- # This is a shell archive. Remove anything before this line, then unpack
- # it by saving it into a file and typing "sh file". To overwrite existing
- # files, type "sh file -c". You can also feed this as standard input via
- # unshar, or by typing "sh <file", e.g.. If this archive is complete, you
- # will see the following message at the end:
- # "End of archive 1 (of 7)."
- # Contents: ida ida/MANIFEST ida/Makefile ida/aux ida/aux/Makefile
- # ida/aux/header.c ida/aux/mkdomext.c ida/aux/scanf.c ida/cf
- # ida/cf/Makefile ida/cf/asterix.m4 ida/cf/client.m4
- # ida/cf/majestix.m4 ida/cf/newaliases.m4 ida/cf/obelix.m4 ida/doc
- # ida/doc/Makefile ida/doc/mkdomext.1 ida/doc/xalparse.8 ida/lib
- # ida/lib/Makefile ida/lib/decnet ida/lib/decnet/nodes
- # ida/lib/decnet/xtable ida/lib/mailertable ida/lib/restart_clients
- # ida/lib/sendmail.hf ida/lib/sendmail.st ida/lib/stop_clients
- # ida/lib/uucp ida/lib/uucp/relays ida/lib/uucp/xtable ida/patches
- # ida/patches/BSD29.edit ida/patches/BSD42.diff
- # ida/patches/MDBM.edit ida/patches/Makefile
- # ida/patches/Version.c.diff ida/patches/conf.c.diff
- # ida/patches/err.c.diff ida/patches/headers.c.diff
- # ida/patches/macro.c.diff ida/patches/mdbm_compat.h
- # ida/patches/queue.c.diff ida/patches/readcf.c.diff
- # ida/patches/savemail.c.diff ida/patches/usersmtp.c.diff
- # ida/patches/util.c.diff
- # Wrapped by lenlo@prefix on Wed Jun 10 15:39:47 1987
- PATH=/bin:/usr/bin:/usr/ucb ; export PATH
- if test ! -d ida ; then
- echo shar: Creating directory \"ida\"
- mkdir ida
- fi
- if test -f ida/MANIFEST -a "${1}" != "-c" ; then
- echo shar: Will not over-write existing file \"ida/MANIFEST\"
- else
- echo shar: Extracting \"ida/MANIFEST\" \(1726 characters\)
- sed "s/^X//" >ida/MANIFEST <<'END_OF_ida/MANIFEST'
- X File Name Archive #
- X----------------------------------
- X ida 1
- X ida/INSTALL 2
- X ida/MANIFEST 1
- X ida/Makefile 1
- X ida/README 1
- X ida/aux 1
- X ida/aux/Makefile 1
- X ida/aux/dbm.c 3
- X ida/aux/header.c 1
- X ida/aux/mkdomext.c 1
- X ida/aux/rmail.c 3
- X ida/aux/scanf.c 1
- X ida/aux/xalparse.c 3
- X ida/cf 1
- X ida/cf/Makefile 1
- X ida/cf/Sendmail.mc 5
- X ida/cf/asterix.m4 1
- X ida/cf/client.m4 1
- X ida/cf/majestix.m4 1
- X ida/cf/newaliases.m4 1
- X ida/cf/obelix.m4 1
- X ida/doc 1
- X ida/doc/Makefile 1
- X ida/doc/dbm.1 2
- X ida/doc/mkdomext.1 1
- X ida/doc/part1.ms 6
- X ida/doc/part2.ms 7
- X ida/doc/xalparse.8 1
- X ida/lib 1
- X ida/lib/Makefile 1
- X ida/lib/decnet 1
- X ida/lib/decnet/nodes 1
- X ida/lib/decnet/xtable 1
- X ida/lib/domaintable 2
- X ida/lib/mailertable 1
- X ida/lib/pathtable 2
- X ida/lib/restart_clients 1
- X ida/lib/sendmail.hf 1
- X ida/lib/sendmail.st 1
- X ida/lib/stop_clients 1
- X ida/lib/uucp 1
- X ida/lib/uucp/relays 1
- X ida/lib/uucp/xtable 1
- X ida/lib/xaliases 4
- X ida/patches 1
- X ida/patches/BSD29.diff 2
- X ida/patches/BSD29.edit 1
- X ida/patches/BSD42.diff 1
- X ida/patches/MDBM.diff 2
- X ida/patches/MDBM.edit 1
- X ida/patches/Makefile 1
- X ida/patches/Version.c.diff 1
- X ida/patches/alias.c.diff 3
- X ida/patches/conf.c.diff 1
- X ida/patches/daemon.c.diff 2
- X ida/patches/deliver.c.diff 2
- X ida/patches/err.c.diff 1
- X ida/patches/headers.c.diff 1
- X ida/patches/macro.c.diff 1
- X ida/patches/main.c.diff 2
- X ida/patches/mdbm_compat.h 1
- X ida/patches/op.me.diff 3
- X ida/patches/parseaddr.c.diff 4
- X ida/patches/queue.c.diff 1
- X ida/patches/readcf.c.diff 1
- X ida/patches/recipient.c.diff 2
- X ida/patches/savemail.c.diff 1
- X ida/patches/sendmail.h.diff 3
- X ida/patches/srvrsmtp.c.diff 2
- X ida/patches/usersmtp.c.diff 1
- X ida/patches/util.c.diff 1
- END_OF_ida/MANIFEST
- if test 1726 -ne `wc -c <ida/MANIFEST`; then
- echo shar: \"ida/MANIFEST\" unpacked with wrong size!
- fi
- # end of overwriting check
- fi
- if test -f ida/Makefile -a "${1}" != "-c" ; then
- echo shar: Will not over-write existing file \"ida/Makefile\"
- else
- echo shar: Extracting \"ida/Makefile\" \(1378 characters\)
- sed "s/^X//" >ida/Makefile <<'END_OF_ida/Makefile'
- X#
- X# MAKEFILE -- The IDA Sendmail Enhancement Kit.
- X# Copyright (c) 1987 Lennart Lovstrand
- X# CIS Dept, Univ of Linkoping, Sweden
- X#
- X# Use it, abuse it, but don't sell it.
- X#
- X
- X# Global definitions; will be exported to all Makefiles
- XMAN8DIR= /usr/man/manl # Place for the section 8 manuals
- XMAN8EXT= .l # Extension for section 8 manuals
- XMAN1DIR= /usr/man/manl # Place for the section 1 manuals
- XMAN1EXT= .l # Extension for section 1 manuals
- XBINDIR= /usr/local/bin # Where the binary aux files sh
- ould go
- XLIBDIR= /usr/lib/mail # Where the data files should b
- e
- XSRCDIR= ../../src # The sendmail src subdirectory
- XINCLUDEDIR= ../../include # The sendmail include subdirectory
- XDOCDIR= ../../doc # The sendmail doc subdirctory
- XMDBM= #-DMDBM -I$(SRCDIR) # Only defined if you want to use mdbm
- XDBMLIB= -ldbm # Change to -lmdbm if you use m
- dbm
- XDBMEXT= .dir # Change to .map for mdbm
- XTROFF= pstroff # The [nt]roff program of your choice
- X
- Xconfigure: config.ed
- X @echo ">>> Propagating changes to subdirectories."
- X for M in */Makefile; do \
- X ed $$M <config.ed; \
- X done
- X
- Xconfig.ed: Makefile
- X egrep '^[^# ].*=' Makefile | \
- X sed -e 's/[ ]*#.*$$//' -e 's/#.*$$//' \
- X -e 's/^\(.*=\).*$$/g\/^\1\/c\\;&\\;./' | \
- X tr ';' '\012' >$@
- X echo w >>$@
- X echo q >>$@
- X
- Xclean:
- X -rm -f \#* *~ config.ed
- X
- Xspotless: clean
- X for d in */.; do \
- X (cd $$d; make clean); \
- X done
- END_OF_ida/Makefile
- if test 1378 -ne `wc -c <ida/Makefile`; then
- echo shar: \"ida/Makefile\" unpacked with wrong size!
- fi
- # end of overwriting check
- fi
- if test ! -d ida/aux ; then
- echo shar: Creating directory \"ida/aux\"
- mkdir ida/aux
- fi
- if test -f ida/aux/Makefile -a "${1}" != "-c" ; then
- echo shar: Will not over-write existing file \"ida/aux/Makefile\"
- else
- echo shar: Extracting \"ida/aux/Makefile\" \(877 characters\)
- sed "s/^X//" >ida/aux/Makefile <<'END_OF_ida/aux/Makefile'
- X#
- X# MAKEFILE -- Auxiliary Files.
- X# Copyright (c) 1987 Lennart Lovstrand
- X# CIS Dept, Univ of Linkoping, Sweden
- X#
- X# Use it, abuse it, but don't sell it.
- X#
- X
- XBINS= dbm mkdomext scanf xalparse
- XCFLAGS= -O -DVMUNIX -I$(INCLUDEDIR)
- X
- X# The following definitions are inserted by ../Makefile
- X# Change them there--not here!
- XBINDIR= /usr/local/bin
- XLIBDIR= /usr/lib/mail
- XSRCDIR= ../../src
- XINCLUDEDIR= ../../include
- XDBMLIB= -ldbm
- X
- Xall: $(BINS) rmail
- X
- Xdbm: dbm.c
- X $(CC) $(CFLAGS) $(MDBM) -o dbm dbm.c $(DBMLIB)
- X
- Xrmail: rmail.c
- X $(CC) $(CFLAGS) $(MDBM) -o rmail rmail.c $(DBMLIB)
- X
- Xinstall: $(BINS)
- X cp $(BINS) $(BINDIR)
- X cd $(BINDIR); strip $(BINS)
- X @echo '>>> Do "make install-rmail" to explitly install rmail.'
- X
- Xinstall-rmail: rmail
- X install -m 4755 -o root -s rmail /bin
- X
- Xclean:
- X -rm -f \#* *~ *.o $(BINS)
- X
- X.c.o:
- X $(CC) $(CFLAGS) -c $<
- X
- X.c:
- X $(CC) $(CFLAGS) -o $@ $<
- END_OF_ida/aux/Makefile
- if test 877 -ne `wc -c <ida/aux/Makefile`; then
- echo shar: \"ida/aux/Makefile\" unpacked with wrong size!
- fi
- # end of overwriting check
- fi
- if test -f ida/aux/header.c -a "${1}" != "-c" ; then
- echo shar: Will not over-write existing file \"ida/aux/header.c\"
- else
- echo shar: Extracting \"ida/aux/header.c\" \(1683 characters\)
- sed "s/^X//" >ida/aux/header.c <<'END_OF_ida/aux/header.c'
- X/*
- X** HEADER -- Header line parser.
- X** Copyright (c) 1985 Lennart Lovstrand
- X** CIS Dept, Univ of Linkoping, Sweden
- X**
- X** Use it, abuse it, but don't sell it.
- X**
- X** Version of 14-Apr-85.
- X*/
- X
- X#include <stdio.h>
- X#include <strings.h>
- X#include <ctype.h>
- X#include "useful.h"
- X
- X#define H_CC "cc"
- X#define H_FROM "from"
- X#define H_MESSAGE_ID "message_id"
- X#define H_RETURN_PATH "return-path"
- X#define H_TO "to"
- X#define H_VIA "via"
- X
- X#define COMMA ','
- X
- X#define MAKELC(C) (isupper(C) ? tolower(C) : C)
- X
- X/*
- X * iskey: checks if the line is prefixed by
- X * the supplied keyword (immediately followed by
- X * a colon)
- X */
- Xiskey(key, line)
- Xchar *key, *line;
- X{
- X for (; *key != NULL && *line != NULL; key++, line++)
- X if (MAKELC(*key) != MAKELC(*line))
- X break;
- X
- X return *key == NULL && *line == ':';
- X}
- X
- Xchar *eat(str, ch)
- Xchar *str, ch;
- X{
- X for(; *str == ch; str++);
- X return str;
- X}
- X
- X/*
- X * extract_address:
- X * finds and extracts the machine address part of an address field
- X */
- X
- Xchar *extract_address(field, address)
- Xchar *field, *address;
- X{
- X char *address_start = address;
- X
- X while(*field && *field != COMMA && *field != '>')
- X switch (*field) {
- X case '<':
- X return extract_address(field, address_start);
- X case '(':
- X while (*field && *field != ')');
- X field++;
- X break;
- X case '"':
- X do
- X *address++ = *field++;
- X while (*field && *field != '"');
- X if (*field)
- X *address++ = *field++;
- X break;
- X case ' ':
- X *address++ = *field++;
- X field = eat(field, ' ');
- X break;
- X case '\\':
- X *address++ = *field++;
- X /* fall through */
- X default:
- X *address++ = *field++;
- X }
- X *address = NULL;
- X if (*field)
- X return index(field, COMMA)+1;
- X else
- X return field;
- X}
- X
- X
- END_OF_ida/aux/header.c
- if test 1683 -ne `wc -c <ida/aux/header.c`; then
- echo shar: \"ida/aux/header.c\" unpacked with wrong size!
- fi
- # end of overwriting check
- fi
- if test -f ida/aux/mkdomext.c -a "${1}" != "-c" ; then
- echo shar: Will not over-write existing file \"ida/aux/mkdomext.c\"
- else
- echo shar: Extracting \"ida/aux/mkdomext.c\" \(2248 characters\)
- sed "s/^X//" >ida/aux/mkdomext.c <<'END_OF_ida/aux/mkdomext.c'
- X/*
- X** MKDOMEXT -- Extend domain names
- X** Copyright (c) 1987 Lennart Lovstrand
- X** CIS Dept, Univ of Linkoping, Sweden
- X**
- X** Use it, abuse it, but don't sell it.
- X*/
- X
- X#include "useful.h"
- X#include <stdio.h>
- X#include <ctype.h>
- X
- X#ifndef lint
- Xstatic char SccsId[] = "@(#)mkdomext.c 1.5 (lel@ida.liu.se) 4/24/87";
- X#endif !lint
- X
- Xvoid printf(), fprintf();
- X
- Xchar *Progname;
- X
- Xmain(argc, argv)
- X int argc;
- X char **argv;
- X{
- X char buf[BUFSIZ];
- X char domains[BUFSIZ];
- X char *tab, *p, *index();
- X
- X Progname = argv[0];
- X
- X if (argc == 1) {
- X fprintf(stderr, "%s: no domains?\n", Progname);
- X exit(1);
- X }
- X
- X /* collect the argument domain names */
- X domains[0] = '\0';
- X for (argc--, argv++; argc > 0; argc--, argv++) {
- X if (strlen(*argv) + 3 > sizeof(domains)) {
- X fprintf(stderr, "%s: too many domain arguments--\n %s %s %s\n",
- X Progname,
- X "chain two instances of", Progname,
- X "together or recompile with larger ``domains'' array");
- X exit(1);
- X }
- X (void) strcat(domains, " .");
- X (void) strcat(domains, *argv);
- X }
- X
- X while (gets(buf) != NULL) {
- X tab = index(buf, '\t');
- X if (tab != NULL)
- X *tab = '\0';
- X
- X for (p = index(buf, '.'); p != NULL; p = index(p + 1, '.')) {
- X if (instring(domains, p)) {
- X for (; p != NULL; p = index(p + 1, '.')) {
- X *p = '\0';
- X if (tab != NULL)
- X printf("%s\t%s\n", buf, tab + 1);
- X else
- X printf("%s\n", buf);
- X *p = '.';
- X }
- X break;
- X }
- X }
- X if (tab != NULL)
- X *tab = '\t';
- X puts(buf);
- X }
- X}
- X
- X/*
- X** INSTRING -- Returns TRUE if the source string ``s'' can be found
- X** as a substring in target string ``t''.
- X*/
- X
- Xinstring(t, s)
- X char *t, *s;
- X{
- X extern char *index();
- X register char *p;
- X register int len = strlen(s);
- X
- X for (p = index(t, *s); p != NULL; p = index(p + 1, *s))
- X if (ispart(p, s, len))
- X return TRUE;
- X return FALSE;
- X}
- X
- X/*
- X** ISPART -- Compare at most the first n chars of two strings
- X** without respect to upper/lower case.
- X*/
- X
- Xispart(s, t, n)
- X register char *s, *t;
- X register int n;
- X{
- X for (; n > 0 && *s != '\0' && *t != '\0'; s++, t++, n--)
- X if ((isupper(*s) ? tolower(*s) : *s) !=
- X (isupper(*t) ? tolower(*t) : *t))
- X break;
- X return (n == 0 || *s == *t); /* really *s == 0 && *t == 0 */
- X}
- END_OF_ida/aux/mkdomext.c
- if test 2248 -ne `wc -c <ida/aux/mkdomext.c`; then
- echo shar: \"ida/aux/mkdomext.c\" unpacked with wrong size!
- fi
- # end of overwriting check
- fi
- if test -f ida/aux/scanf.c -a "${1}" != "-c" ; then
- echo shar: Will not over-write existing file \"ida/aux/scanf.c\"
- else
- echo shar: Extracting \"ida/aux/scanf.c\" \(1068 characters\)
- sed "s/^X//" >ida/aux/scanf.c <<'END_OF_ida/aux/scanf.c'
- X/*
- X** SCANF -- Program to scan & extract input lines.
- X** Copyright (c) 1987 Lennart Lovstrand
- X** CIS Dept, Univ of Linkoping, Sweden
- X**
- X** Use it, abuse it, but don't sell it.
- X**
- X** Very simple version 0.1 of Apr 19, 1987 1:18am
- X*/
- X
- X#include "useful.h"
- X#include <stdio.h>
- X#include <ctype.h>
- X
- Xmain(argc, argv)
- X int argc;
- X char **argv;
- X{
- X char buf[BUFSIZ], val[BUFSIZ];
- X FILE *input;
- X bool ignore_case = FALSE;
- X
- X if (argc > 1 && strcmp(argv[1], "-i") == 0) {
- X ignore_case = TRUE;
- X argc--; argv++;
- X }
- X
- X if (argc < 2 || argc > 3) {
- X fprintf(stderr, "usage: %s [-i] scanf_pattern [file]");
- X exit(1);
- X }
- X
- X if (ignore_case)
- X lower(argv[1]);
- X
- X if (argc == 2)
- X input = stdin;
- X else {
- X input = fopen(argv[2], "r");
- X if (input == NULL) {
- X perror(argv[2]);
- X exit(1);
- X }
- X }
- X
- X while (fgets(buf, sizeof(buf), input) != NULL) {
- X if (ignore_case)
- X lower(buf);
- X if (sscanf(buf, argv[1], val) == 1)
- X puts(val);
- X }
- X}
- X
- Xlower(p)
- X register char *p;
- X{
- X for (; *p != '\0'; p++)
- X if (isupper(*p))
- X *p = tolower(*p);
- X}
- END_OF_ida/aux/scanf.c
- if test 1068 -ne `wc -c <ida/aux/scanf.c`; then
- echo shar: \"ida/aux/scanf.c\" unpacked with wrong size!
- fi
- # end of overwriting check
- fi
- if test ! -d ida/cf ; then
- echo shar: Creating directory \"ida/cf\"
- mkdir ida/cf
- fi
- if test -f ida/cf/Makefile -a "${1}" != "-c" ; then
- echo shar: Will not over-write existing file \"ida/cf/Makefile\"
- else
- echo shar: Extracting \"ida/cf/Makefile\" \(1153 characters\)
- sed "s/^X//" >ida/cf/Makefile <<'END_OF_ida/cf/Makefile'
- X#
- X# MAKEFILE -- Configuration Files.
- X# Copyright (c) 1987 Lennart Lovstrand
- X# CIS Dept, Univ of Linkoping, Sweden
- X#
- X# Use it, abuse it, but don't sell it.
- X#
- X
- X# Linkoping specific defintions
- XCONFIGS= asterix.cf client.cf majestix.cf newaliases.cf obelix.cf
- X
- XCLIENTS= crabbofix lillefix miraculix portofix prefix senilix \
- X smidefix tragicomix
- X
- X# The following definitions are inserted by ../Makefile
- X# Change them there--not here!
- XLIBDIR= /usr/lib/mail
- X
- Xall: $(CONFIGS)
- X
- Xinstall: $(CONFIGS)
- X cp majestix.cf client.cf newaliases.cf $(LIBDIR)
- X rcp asterix.cf asterix:/usr/lib/sendmail.cf
- X mail -s sendmail.cf real_lel@obelix <obelix.cf
- X
- Xclients: $(CLIENTS)
- X
- X$(CLIENTS):
- X -rsh $@ rm /private$(LIBDIR)/sendmail.fc
- X -rcp client.cf $@:/private$(LIBDIR)/sendmail.cf
- X
- Xdiff:
- X -diff $(LIBDIR)/majestix.cf majestix.cf
- X -diff $(LIBDIR)/client.cf client.cf
- X
- Xclean:
- X -rm -f \#* *~ $(CONFIGS)
- X
- Xbackup:
- X cp *.m4 *.mc BACKUP
- X
- X$(CONFIGS): Sendmail.mc
- X
- Xsendmail.cf Sendmail.cf:
- X @echo 'Based on what host? Do make <host>.cf instead.'
- X
- Xstop:
- X -skill sendmail
- X
- Xrestart: stop
- X /usr/lib/sendmail -bd -q30m
- X
- X.SUFFIXES: .cf .m4
- X
- X.m4.cf:
- X m4 $*.m4 >$*.cf
- END_OF_ida/cf/Makefile
- if test 1153 -ne `wc -c <ida/cf/Makefile`; then
- echo shar: \"ida/cf/Makefile\" unpacked with wrong size!
- fi
- # end of overwriting check
- fi
- if test -f ida/cf/asterix.m4 -a "${1}" != "-c" ; then
- echo shar: Will not over-write existing file \"ida/cf/asterix.m4\"
- else
- echo shar: Extracting \"ida/cf/asterix.m4\" \(448 characters\)
- sed "s/^X//" >ida/cf/asterix.m4 <<'END_OF_ida/cf/asterix.m4'
- X# Sendmail configuration file for asterix.liu.se
- Xdefine(ALIASES, LIBDIR/aliases)
- Xdefine(DECNETXTABLE, LIBDIR/decnet/xtable)
- Xdefine(DECNETNODES, LIBDIR/decnet/nodes)
- Xdefine(DEFAULT_DOMAIN, liu.se)
- Xdefine(DOMAINTABLE, LIBDIR/domaintable)
- Xdefine(GENERICFROM, LIBDIR/generics)
- Xdefine(MAILERTABLE, LIBDIR/mailertable)
- Xdefine(PATHTABLE, LIBDIR/pathtable)
- Xdefine(UUCPNODES, /usr/lib/uucp/L.sys)
- Xdefine(UUCPXTABLE, LIBDIR/uucp/xtable)
- Xinclude(Sendmail.mc)
- END_OF_ida/cf/asterix.m4
- if test 448 -ne `wc -c <ida/cf/asterix.m4`; then
- echo shar: \"ida/cf/asterix.m4\" unpacked with wrong size!
- fi
- # end of overwriting check
- fi
- if test -f ida/cf/client.m4 -a "${1}" != "-c" ; then
- echo shar: Will not over-write existing file \"ida/cf/client.m4\"
- else
- echo shar: Extracting \"ida/cf/client.m4\" \(412 characters\)
- sed "s/^X//" >ida/cf/client.m4 <<'END_OF_ida/cf/client.m4'
- X# Sendmail configuration file for Sun-3 clients (*.liu.se)
- Xdefine(ALIASES, LIBDIR/aliases)
- Xdefine(DECNETXTABLE, LIBDIR/decnet/xtable)
- Xdefine(DECNETNODES, LIBDIR/decnet/nodes)
- Xdefine(DEFAULT_DOMAIN, liu.se)
- Xdefine(DOMAINTABLE, LIBDIR/domaintable)
- Xdefine(GENERICFROM, LIBDIR/generics)
- Xdefine(PSEUDONYMS, all)
- Xdefine(RELAY_HOST, majestix)
- Xdefine(RELAY_MAILER, TCP)
- Xdefine(RSH_SERVER, majestix)
- Xinclude(Sendmail.mc)
- END_OF_ida/cf/client.m4
- if test 412 -ne `wc -c <ida/cf/client.m4`; then
- echo shar: \"ida/cf/client.m4\" unpacked with wrong size!
- fi
- # end of overwriting check
- fi
- if test -f ida/cf/majestix.m4 -a "${1}" != "-c" ; then
- echo shar: Will not over-write existing file \"ida/cf/majestix.m4\"
- else
- echo shar: Extracting \"ida/cf/majestix.m4\" \(560 characters\)
- sed "s/^X//" >ida/cf/majestix.m4 <<'END_OF_ida/cf/majestix.m4'
- X# Sendmail configuration file for host majestix.liu.se
- Xdefine(ALIASES, LIBDIR/aliases)
- Xdefine(DECNETXTABLE, LIBDIR/decnet/xtable)
- Xdefine(DECNETNODES, LIBDIR/decnet/nodes)
- Xdefine(DEFAULT_DOMAIN, liu.se)
- Xdefine(DOMAINTABLE, LIBDIR/domaintable)
- Xdefine(GENERICFROM, LIBDIR/generics)
- Xdefine(MAILERTABLE, LIBDIR/mailertable)
- Xdefine(PATHTABLE, LIBDIR/pathtable)
- Xdefine(PSEUDONYMS, ida.liu.se liuida all)
- Xdefine(UUCPNAME, liuida)
- Xdefine(UUCPNODES, /usr/lib/uucp/L.sys)
- Xdefine(UUCPRELAYS, LIBDIR/uucp/relays)
- Xdefine(UUCPXTABLE, LIBDIR/uucp/xtable)
- Xinclude(Sendmail.mc)
- END_OF_ida/cf/majestix.m4
- if test 560 -ne `wc -c <ida/cf/majestix.m4`; then
- echo shar: \"ida/cf/majestix.m4\" unpacked with wrong size!
- fi
- # end of overwriting check
- fi
- if test -f ida/cf/newaliases.m4 -a "${1}" != "-c" ; then
- echo shar: Will not over-write existing file \"ida/cf/newaliases.m4\"
- else
- echo shar: Extracting \"ida/cf/newaliases.m4\" \(199 characters\)
- sed "s/^X//" >ida/cf/newaliases.m4 <<'END_OF_ida/cf/newaliases.m4'
- X# Automatically generated config file for newaliases program
- Xdefine(ALIASES, LIBDIR/aliases)
- Xdefine(DEFAULT_HOST, all)
- Xdefine(DOMAINTABLE, LIBDIR/domaintable)
- Xdefine(NEWALIASES)
- Xinclude(Sendmail.mc)
- END_OF_ida/cf/newaliases.m4
- if test 199 -ne `wc -c <ida/cf/newaliases.m4`; then
- echo shar: \"ida/cf/newaliases.m4\" unpacked with wrong size!
- fi
- # end of overwriting check
- fi
- if test -f ida/cf/obelix.m4 -a "${1}" != "-c" ; then
- echo shar: Will not over-write existing file \"ida/cf/obelix.m4\"
- else
- echo shar: Extracting \"ida/cf/obelix.m4\" \(320 characters\)
- sed "s/^X//" >ida/cf/obelix.m4 <<'END_OF_ida/cf/obelix.m4'
- X# Sendmail configuration file for host obelix.UUCP
- Xdefine(ALIASES, LIBDIR/aliases)
- Xdefine(BSD29)
- Xdefine(DEFAULT_DOMAIN, liu.se)
- Xdefine(RELAY_HOST, asterix)
- Xdefine(RELAY_MAILER, UUCP-B)
- Xdefine(PSEUDONYMS, obelix.UUCP obelix.liu.se obelix.liu obelix.ida.liu.se)
- Xdefine(UUCPNODES, /usr/lib/uucp/L.sys)
- Xinclude(Sendmail.mc)
- END_OF_ida/cf/obelix.m4
- if test 320 -ne `wc -c <ida/cf/obelix.m4`; then
- echo shar: \"ida/cf/obelix.m4\" unpacked with wrong size!
- fi
- # end of overwriting check
- fi
- if test ! -d ida/doc ; then
- echo shar: Creating directory \"ida/doc\"
- mkdir ida/doc
- fi
- if test -f ida/doc/Makefile -a "${1}" != "-c" ; then
- echo shar: Will not over-write existing file \"ida/doc/Makefile\"
- else
- echo shar: Extracting \"ida/doc/Makefile\" \(996 characters\)
- sed "s/^X//" >ida/doc/Makefile <<'END_OF_ida/doc/Makefile'
- X#
- X# MAKEFILE -- The Documentation Files.
- X# Copyright (c) 1987 Lennart Lovstrand
- X# CIS Dept, Univ of Linkoping, Sweden
- X#
- X# Use it, abuse it, but don't sell it.
- X#
- X
- XMAN1S= dbm.1 mkdomext.1
- XMAN8S= xalparse.8
- XMANS= $(MAN1S) $(MAN8S)
- XDOC= paper.ms
- XDOCS= part1.ms part2.ms
- X
- X# The following definitions are inserted by ../Makefile
- X# Change them there--not here!
- XMAN8DIR= /usr/man/manl
- XMAN8EXT= .l
- XMAN1DIR= /usr/man/manl
- XMAN1EXT= .l
- XTROFF= pstroff
- X
- Xdoc: $(DOC)
- X refer -e -l,2 -s $(DOC) | tbl | $(TROFF) -ms
- X
- Xdoc.lpr: $(DOC)
- X refer -e -l,2 -s $(DOC) | tbl | nroff -ms > $@
- X
- Xman: $(MANS)
- X for m in $(MANS); do \
- X $(TROFF) -man $$m; \
- X done
- X
- Xman.lpr: $(MANS)
- X for m in $(MANS); do \
- X nroff -man $$m > $$m.lpr; \
- X done
- X
- X$(DOC):
- X cat $(DOCS) >$(DOC)
- X -rm -f $(DOCS)
- X
- Xinstall: $(MANS)
- X for m in $(MAN1S); do \
- X cp $$m $(MAN1DIR)/`basename $$m .1`$(MAN1EXT); \
- X done
- X for m in $(MAN8S); do \
- X cp $$m $(MAN8DIR)/`basename $$m .8`$(MAN8EXT); \
- X done
- X
- Xclean:
- X -rm -f \#* *~ *.lpr
- END_OF_ida/doc/Makefile
- if test 996 -ne `wc -c <ida/doc/Makefile`; then
- echo shar: \"ida/doc/Makefile\" unpacked with wrong size!
- fi
- # end of overwriting check
- fi
- if test -f ida/doc/mkdomext.1 -a "${1}" != "-c" ; then
- echo shar: Will not over-write existing file \"ida/doc/mkdomext.1\"
- else
- echo shar: Extracting \"ida/doc/mkdomext.1\" \(1613 characters\)
- sed "s/^X//" >ida/doc/mkdomext.1 <<'END_OF_ida/doc/mkdomext.1'
- X.TH MKDOMEXT 1 "24 April 1987" \" -*- nroff -*-
- X.SH NAME
- Xmkdomext \- make the exteneded set of domain names
- X.SH SYNOPSIS
- X.B mkdomext
- X.IR domain " [\|.\|.\|.\|]"
- X.SH DESCRIPTION
- XThis program acts as a filter that, when supplied with fully qualified
- Xdomain names on stdin, will generate all legal abbreviations of these on
- Xstdout with respect to the parent domains given on the command line. It
- Xis used to be able to recognize unqualified local subdomains and sibling
- Xdomains from one or more positions in the domain hierarchy.
- X.PP
- XThe fully qualified domains on stdin should be given one on a line, each
- Xterminated by a newline or tab. Any text after the tab will go through
- Xuntouched. This makes it especially useful for filtering the output of
- Xthe
- X.IR dbm (1)
- X.B parse
- Xfunction when producing a domain name server table.
- X.SH EXAMPLE
- X.nf
- X.ta \w'majestix.liu.se'u+5n
- X% cat >foo
- Xmajestix.liu.se majestix.liu.se
- Xobelix.liu.se obelix.liu.se
- Xobelix.\s-1UUCP\s+1 obelix.liu.se
- Xaida.uu.se aida.uu.se
- Xmc.lcs.mit.edu mc.lcs.mit.edu
- Xmit-mc mc.lcs.mit.edu
- X^D
- X% mkdomext liu.se \s-1UUCP\s+1 <foo >bar
- X% cat bar
- Xmajestix majestix.liu.se
- Xmajestix.liu majestix.liu.se
- Xmajestix.liu.se majestix.liu.se
- Xobelix obelix.liu.se
- Xobelix.liu obelix.liu.se
- Xobelix.liu.se obelix.liu.se
- Xobelix obelix.liu.se
- Xobelix.\s-1UUCP\s+1 obelix.liu.se
- Xaida.uu aida.uu.se
- Xaida.uu.se aida.uu.se
- Xmc.lcs.mit.edu mc.lcs.mit.edu
- Xmit-mc mc.lcs.mit.edu
- X.SH AUTHOR
- X.nf
- XLennart Lovstrand <lel@ida.liu.se>
- XCIS Dept, Univ of Linkoping, Sweden
- X.fi
- X.SH "SEE ALSO"
- X.IR dbm (1)
- X.br
- XRFC822\-Standard for the Format of ARPA Internet Text Messages
- X(section 6.2.2)
- END_OF_ida/doc/mkdomext.1
- if test 1613 -ne `wc -c <ida/doc/mkdomext.1`; then
- echo shar: \"ida/doc/mkdomext.1\" unpacked with wrong size!
- fi
- # end of overwriting check
- fi
- if test -f ida/doc/xalparse.8 -a "${1}" != "-c" ; then
- echo shar: Will not over-write existing file \"ida/doc/xalparse.8\"
- else
- echo shar: Extracting \"ida/doc/xalparse.8\" \(1604 characters\)
- sed "s/^X//" >ida/doc/xalparse.8 <<'END_OF_ida/doc/xalparse.8'
- X.TH XALPARSE 8 "24 April 1987" \" -*- nroff -*-
- X.SH NAME
- Xxalparse \- parse an extended aliases file
- X.SH SYNOPSIS
- X.B xalparse
- X.I xaliases aliases generics
- X.SH DESCRIPTION
- XThe
- X.I xalparse
- Xprogram parses an extended aliases file and produceces an ordinary
- Xaliases file together with a file with generic address translations.
- X.PP
- XThe format of the xaliases file is a superset of
- X.IR aliases (5):
- X.RS
- Xalias, alias, \|.\|.\|.\|: prefix address, prefix address, \|.\|.\|.\|
- X.RE
- XIt differes by allowing more than one LHS alias and by adding an
- Xoptional
- X.I prefix
- Xin front of each RHS address. The
- X.I prefix
- Xmarks the address as either inbound or outbound according to the
- Xfollowing table:
- X.RS
- X.nf
- X.ta \w'(\fIno mark\fP)'u+5n
- X(\fIno mark\fP) Inbound
- X< Outbound
- X> Inbound
- X<> Both Inbound and Outbound
- X.fi
- X.RE
- X.PP
- XInbound aliasing is the normal function implemented by
- X.IR aliases (5).
- XAll inbound entries are therefore simply copied to the
- X.I aliases
- Xoutput file. Outbound addresses are written to the
- X.I generics
- Xfile in a format suitable for parsing by
- X.I dbm (1).
- XEach line will consist of the first LHS
- X.I alias
- Xof the entry followed by the outbound addresses separated with spaces.
- XThe
- X.I generics
- Xfile is then normally loaded into a
- X.IR dbm (3)
- Xdatabase that is read by
- X.IR sendmail (8)
- Xand used to substitute header sender addresses with the aliased name.
- X.SH AUTHOR
- X.nf
- XLennart Lovstrand <lel@ida.liu.se>
- XCIS Dept, Univ of Linkoping, Sweden
- X.fi
- X.SH "SEE ALSO"
- X.IR dbm (1),
- X.IR aliases (5),
- X.IR sendmail (8)
- X.br
- XElectronic Mail Addressing in Theory and Practice with The IDA Sendmail
- XEnchancement Kit.
- END_OF_ida/doc/xalparse.8
- if test 1604 -ne `wc -c <ida/doc/xalparse.8`; then
- echo shar: \"ida/doc/xalparse.8\" unpacked with wrong size!
- fi
- # end of overwriting check
- fi
- if test ! -d ida/lib ; then
- echo shar: Creating directory \"ida/lib\"
- mkdir ida/lib
- fi
- if test -f ida/lib/Makefile -a "${1}" != "-c" ; then
- echo shar: Will not over-write existing file \"ida/lib/Makefile\"
- else
- echo shar: Extracting \"ida/lib/Makefile\" \(2394 characters\)
- sed "s/^X//" >ida/lib/Makefile <<'END_OF_ida/lib/Makefile'
- X#
- X# MAKEFILE -- Library Files.
- X# Copyright (c) 1987 Lennart Lovstrand
- X# CIS Dept, Univ of Linkoping, Sweden
- X#
- X# Use it, abuse it, but don't sell it.
- X#
- X
- XSENDMAIL= /usr/lib/sendmail
- XTABLES= domaintable$(DBMEXT) generics$(DBMEXT) \
- X pathtable$(DBMEXT) aliases$(DBMEXT) mailertable$(DBMEXT) \
- X decnet/nodes decnet/xtable$(DBMEXT) uucp/xtable$(DBMEXT)
- XPATHFLAGS= -C25 -i -l`hostname`$(DOMAIN)
- XUUCPNODES= /usr/lib/uucp/L.sys
- X
- X# Linkoping specific definitions
- XDEPENDENTS= asterix
- XDOMAIN= .liu.se
- XNODE_DATA= /usr/lisbet/ps/system/node-data.cmd
- X
- X# The following definitions are inserted by ../Makefile
- X# Change them there--not here!
- XLIBDIR= /usr/lib/mail
- XDBMEXT= .dir
- X
- X
- X# Update all dbm tables
- Xall: $(TABLES)
- X
- X# Fetch vital files from file server
- Xpropagate:
- X @for d in $(DEPENDENTS); do \
- X echo ">>> Propagating changes to $$d"; \
- X rcp domaintable pathtable $${d}:$(LIBDIR); \
- X rcp decnet/nodes decnet/xtable $${d}:$(LIBDIR)/decnet; \
- X rcp uucp/xtable $${d}:$(LIBDIR)/uucp; \
- X rsh $$d "cd $(LIBDIR); make"; \
- X done
- X
- Xpathtable$(DBMEXT): pathtable
- X pathalias $(PATHFLAGS) pathtable | dbm load pathtable
- X
- Xaliases generics: xaliases
- X xalparse xaliases aliases generics
- X
- Xaliases$(DBMEXT): aliases
- X $(SENDMAIL) -Cnewaliases.cf -bi
- X
- Xgenerics$(DBMEXT): generics
- X dbm -L make generics generics
- X
- X# Note: Local fix here for making all DECnet nodes belong in .SUNET.SE
- Xdomaintable$(DBMEXT): domaintable decnet/nodes
- X (dbm parse domaintable; \
- X awk '{printf "%s.sunet.se\t%s.sunet.se\n", $$1, $$1}' decnet/nodes) |\
- X mkdomext liu.se ida.liu.se sunet.se UUCP | dbm -IL load domaintable
- X
- Xmailertable$(DBMEXT): mailertable
- X dbm -L make mailertable mailertable
- X
- X# Note: Local fix here for making all DECnet nodes belong in .SUNET.SE
- Xdecnet/xtable$(DBMEXT): decnet/xtable decnet/nodes
- X (dbm parse decnet/xtable; \
- X awk '{printf "%s.sunet.se\t%s\n", $$1, $$1}' decnet/nodes) | \
- X dbm -IL load decnet/xtable
- X
- Xdecnet/nodes: $(NODE_DATA)
- X cp decnet/nodes decnet/nodes.old
- X scanf -i " set node %*s name %s" $(NODE_DATA) >$@
- X
- Xuucp/xtable$(DBMEXT): uucp/xtable $(UUCPNODES)
- X (dbm parse uucp/xtable; \
- X awk '{printf "%s.UUCP\t%s\n", $$1, $$1}' $(UUCPNODES)) | \
- X dbm -IL load uucp/xtable
- X
- Xstop:
- X -/usr/local/bin/skill sendmail
- X
- Xrestart: stop
- X $(SENDMAIL) -bd -q30m
- X
- Xasterix:
- X rsh asterix "cd /usr/lib/mail; make fetch all"
- X
- Xclean:
- X -rm -f \#* *~ *.dir *.pag *.map *.dat */*.dir */*.pag */*.map */*.dat
- END_OF_ida/lib/Makefile
- if test 2394 -ne `wc -c <ida/lib/Makefile`; then
- echo shar: \"ida/lib/Makefile\" unpacked with wrong size!
- fi
- # end of overwriting check
- fi
- if test ! -d ida/lib/decnet ; then
- echo shar: Creating directory \"ida/lib/decnet\"
- mkdir ida/lib/decnet
- fi
- if test -f ida/lib/decnet/nodes -a "${1}" != "-c" ; then
- echo shar: Will not over-write existing file \"ida/lib/decnet/nodes\"
- else
- echo shar: Extracting \"ida/lib/decnet/nodes\" \(1248 characters\)
- sed "s/^X//" >ida/lib/decnet/nodes <<'END_OF_ida/lib/decnet/nodes'
- Xliuida
- Xlisbet
- Xlaura
- Xbill
- Xbull
- Xtrisse
- Xfrasse
- Xmurre
- Xfille
- Xbilbo
- Xfrodo
- Xelrond
- Xgollum
- Xolds
- Xchevy
- Xkafka
- Xrolls
- Xniva
- Xvaz
- Xlinnea
- Xlinus
- Xlina
- Xelinor
- Xp13l00
- Xviktor
- Xludvig
- Xhazel
- Xbigwig
- Xkloker
- Xtoker
- Xclover
- Xfiver
- Xdaisy
- Xaladin
- Xturtle
- Xminmin
- Xjinjin
- Xweiwei
- Xfelix
- Xflinta
- Xflisa
- Xfrida
- Xfilip
- Xfilipb
- Xfenix
- Xfrank
- Xdec
- Xrtr13a
- Xmoll
- Xdur
- Xnfr
- Xelin
- Xelsy
- Xelmer
- Xromeo
- Xvaxkab
- Xkleo
- Xklas
- Xkicki
- Xvera
- Xkaron
- Xpallas
- Xfreja
- Xelvira
- Xsi
- Xrtr08a
- Xidun
- Xbrage
- Xbackus
- Xnoatun
- Xnjord
- Xskade
- Xgotl
- Xmeta
- Xpara
- Xthermo
- Xhelios
- Xoseen
- Xksab
- Xkthttt
- Xevild
- Xelinda
- Xelise
- Xella
- Xelton
- Xelena
- Xelke
- Xelsa
- Xeliza
- Xornen
- Xknoen
- Xffacom
- Xafivax
- Xa08001
- Xplasma
- Xplasm1
- Xvanb
- Xvana
- Xmcg
- Xvanc
- Xbasun
- Xpsypdp
- Xpsyvax
- Xutb1
- Xutb2
- Xbiovax
- Xostvax
- Xtpsyk
- Xargus
- Xrtm
- Xostpdp
- Xlvax
- Xmanwe
- Xskogis
- Xfjarr
- Xrtr09a
- Xmalin
- Xtekla
- Xcartus
- Xpelle
- Xpictor
- Xtlu
- Xmax
- Xkvax1
- Xkvax2
- Xsigurd
- Xescil
- Xgwax1
- Xgwax2
- Xkemist
- Xcell
- Xminc
- Xsilver
- Xlapse
- Xmaja
- Xrtr18a
- Ximunis
- Xxray
- Xgraph
- Ximmuna
- Xbmc1
- Xfarfar
- Xeva
- Xnimbus
- Xlaban
- Xpax
- Xtersx
- Xapele1
- Xtekn01
- Xinfth1
- Xtherm1
- Xorgch1
- Xfyvax1
- Xfyvax2
- Xelsys
- Xcontrl
- Xmeddat
- Xsostel
- Xfyvax3
- Xcthmga
- Xrtr31a
- Xinfth2
- Xinfth3
- Xinfth4
- Xkstad
- Xlnkarl
- Xedbild
- Xsmtgbg
- Xgotmed
- Xvega
- Xkcvax
- Xsirius
- Xgemini
- Xadam
- Xcastor
- Xpollux
- Xrigel
- Xpandor
- Xikaros
- Xjanus
- Xperdix
- Xpan
- Xshanno
- Xbutter
- Xerlang
- Xpluto
- Xagaton
- Xbode
- Xemma
- Xshiva
- Xegino
- Xsamson
- Xtyche
- Xgarbo
- Xalice
- Xmira
- Xp46xje
- Xp46ldc
- Xrtr46a
- Xp46ibm
- Xp46vm1
- Xvaxi
- Xvaxii
- END_OF_ida/lib/decnet/nodes
- if test 1248 -ne `wc -c <ida/lib/decnet/nodes`; then
- echo shar: \"ida/lib/decnet/nodes\" unpacked with wrong size!
- fi
- # end of overwriting check
- fi
- if test -f ida/lib/decnet/xtable -a "${1}" != "-c" ; then
- echo shar: Will not over-write existing file \"ida/lib/decnet/xtable\"
- else
- echo shar: Extracting \"ida/lib/decnet/xtable\" \(1613 characters\)
- sed "s/^X//" >ida/lib/decnet/xtable <<'END_OF_ida/lib/decnet/xtable'
- X#
- X# DECnet domain translation table v1.0
- X# Last edited by lel@ida.liu.se Mon Apr 20 21:42:58 MET DST 1987
- X#
- X# This file contiains the official domain name for nodes
- X# either on the locally connected DECnet or on the national
- X# SUNET.
- X#
- X# Each line should contain the node's name within the DECnet
- X# followed by it's full official domain name. The domain name
- X# may be followed by other names by which the node should be
- X# recognized, eg. when nodes are present in multiple domains.
- X#
- X# Nodes not represented here but present in the decnet/nodes file
- X# are assumed to be contained in the SUNET.SE domain.
- X#
- X
- Xagaton agaton.lu.se
- Xaida aida.uu.se
- Xaladin aladin.liu.se
- Xbmc1 bmc1.uu.se
- Xcarmen carmen.uu.se
- Xcartus cartus.uu.se
- Xcell cell.uu.se
- Xclover clover.liu.se
- Xdaisy daisy.liu.se
- Xelinor elinor.liu.se
- Xescil escil.uu.se
- Xeva eva.uu.se
- Xfarfar farfar.uu.se
- Xfreja freja.qz.se
- Xgraph graph.uu.se
- Xgwax1 gwax1.uu.se
- Xgwax2 gwax2.uu.se
- Xhazel hazel.liu.se
- Ximmuna immuna.uu.se
- Ximunis imunis.uu.se
- Xjinjin jinjin.liu.se
- Xkemist kemist.uu.se
- Xkvax1 kvax1.uu.se
- Xkvax2 kvax2.uu.se
- Xlaban laban.uu.se
- Xlapse lapse.uu.se
- Xlina lina.liu.se
- Xlinnea linnea.liu.se
- Xlinus linus.liu.se
- Xlisbet lisbet.liu.se
- Xludvig ludvig.liu.se
- Xmaja maja.uu.se
- Xmalin malin.uu.se
- Xmax max.uu.se
- Xminc minc.uu.se
- Xminmin minmin.liu.se
- Xnimbus nimbus.uu.se
- Xp13l00 p13l00.liu.se
- Xpandor pandor.lu.se
- Xpax pax.uu.se
- Xpelle pelle.uu.se
- Xpictor pictor.uu.se
- Xrtr18a rtr18a.uu.se
- Xsigurd sigurd.uu.se
- Xsilver silver.uu.se
- Xtekla tekla.uu.se
- Xtlu tlu.uu.se
- Xturtle turtle.liu.se
- Xviktor viktor.liu.se
- Xweiwei weiwei.liu.se
- Xxray xray.uu.se
- END_OF_ida/lib/decnet/xtable
- if test 1613 -ne `wc -c <ida/lib/decnet/xtable`; then
- echo shar: \"ida/lib/decnet/xtable\" unpacked with wrong size!
- fi
- # end of overwriting check
- fi
- if test -f ida/lib/mailertable -a "${1}" != "-c" ; then
- echo shar: Will not over-write existing file \"ida/lib/mailertable\"
- else
- echo shar: Extracting \"ida/lib/mailertable\" \(374 characters\)
- sed "s/^X//" >ida/lib/mailertable <<'END_OF_ida/lib/mailertable'
- X#
- X# Mailer table for physical node majestix.liu.se
- X# (aka the UUCP node liuida)
- X#
- X
- XUUCP:alp alp.UUCP alp.se
- XUUCP:liutde liutde.UUCP liutde.se tde.liu.se
- XUUCP:prosys prosys.UUCP prosys.se
- XUUCP-A:enea enea.UUCP enea.se
- XUUCP-A:erilin erilin.UUCP erilin.se erilin.ericsson.se
- XUUCP-A:erix erix.UUCP erix.se erix.ericsson.se
- XUUCP-A:rainier rainier.UUCP rainier.se rainier.liu.se
- END_OF_ida/lib/mailertable
- if test 374 -ne `wc -c <ida/lib/mailertable`; then
- echo shar: \"ida/lib/mailertable\" unpacked with wrong size!
- fi
- # end of overwriting check
- fi
- if test -f ida/lib/restart_clients -a "${1}" != "-c" ; then
- echo shar: Will not over-write existing file \"ida/lib/restart_clients\"
- else
- echo shar: Extracting \"ida/lib/restart_clients\" \(202 characters\)
- sed "s/^X//" >ida/lib/restart_clients <<'END_OF_ida/lib/restart_clients'
- X#!/bin/sh
- X# restart sendmail on all clients
- X#
- X
- Xfor h in crabbofix lillefix miraculix portofix prefix senilix smidefix tragico
- mix; do
- X echo -n "$h "
- X rsh $h -n "(cd /usr/lib/mail; make restart)"
- Xdone
- END_OF_ida/lib/restart_clients
- if test 202 -ne `wc -c <ida/lib/restart_clients`; then
- echo shar: \"ida/lib/restart_clients\" unpacked with wrong size!
- fi
- chmod +x ida/lib/restart_clients
- # end of overwriting check
- fi
- if test -f ida/lib/sendmail.hf -a "${1}" != "-c" ; then
- echo shar: Will not over-write existing file \"ida/lib/sendmail.hf\"
- else
- echo shar: Extracting \"ida/lib/sendmail.hf\" \(1858 characters\)
- sed "s/^X//" >ida/lib/sendmail.hf <<'END_OF_ida/lib/sendmail.hf'
- X@(#) sendmail.hf 4.2 6/7/85
- Xcpyr
- Xcpyr Sendmail
- Xcpyr Copyright (c) 1983 Eric P. Allman
- Xcpyr Berkeley, California
- Xcpyr
- Xcpyr Copyright (c) 1983 Regents of the University of California.
- Xcpyr All rights reserved. The Berkeley software License Agreement
- Xcpyr specifies the terms and conditions for redistribution.
- Xcpyr
- Xcpyr @(#)sendmail.hf 4.2 (Berkeley) 6/7/85
- Xcpyr
- Xsmtp Commands:
- Xsmtp HELO MAIL RCPT DATA RSET
- Xsmtp NOOP QUIT HELP VRFY EXPN
- Xsmtp For more info use "HELP <topic>".
- Xsmtp To report bugs in the implementation contact eric@Berkeley.ARPA
- Xsmtp or eric@UCB-ARPA.ARPA.
- Xsmtp For local information contact postmaster at this site.
- Xhelp HELP [ <topic> ]
- Xhelp The HELP command gives help info.
- Xhelo HELO <hostname>
- Xhelo Introduce yourself. I am a boor, so I really don't
- Xhelo care if you do.
- Xmail MAIL FROM: <sender>
- Xmail Specifies the sender.
- Xrcpt RCPT TO: <recipient>
- Xrcpt Specifies the recipient. Can be used any number of times.
- Xdata DATA
- Xdata Following text is collected as the message.
- Xdata End with a single dot.
- Xrset RSET
- Xrset Resets the system.
- Xquit QUIT
- Xquit Exit sendmail (SMTP).
- Xvrfy VRFY <recipient>
- Xvrfy Not implemented to protocol. Gives some sexy
- Xvrfy information.
- Xexpn EXPN <recipient>
- Xexpn Same as VRFY in this implementation.
- Xnoop NOOP
- Xnoop Do nothing.
- Xsend SEND FROM: <sender>
- Xsend replaces the MAIL command, and can be used to send
- Xsend directly to a users terminal. Not supported in this
- Xsend implementation.
- Xsoml SOML FROM: <sender>
- Xsoml Send or mail. If the user is logged in, send directly,
- Xsoml otherwise mail. Not supported in this implementation.
- Xsaml SAML FROM: <sender>
- Xsaml Send and mail. Send directly to the user's terminal,
- Xsaml and also mail a letter. Not supported in this
- Xsaml implementation.
- Xturn TURN
- Xturn Reverses the direction of the connection. Not currently
- Xturn implemented.
- END_OF_ida/lib/sendmail.hf
- if test 1858 -ne `wc -c <ida/lib/sendmail.hf`; then
- echo shar: \"ida/lib/sendmail.hf\" unpacked with wrong size!
- fi
- # end of overwriting check
- fi
- if test -f ida/lib/sendmail.st -a "${1}" != "-c" ; then
- echo shar: Will not over-write existing file \"ida/lib/sendmail.st\"
- else
- echo shar: Extracting \"ida/lib/sendmail.st\" \(0 character\)
- sed "s/^X//" >ida/lib/sendmail.st <<'END_OF_ida/lib/sendmail.st'
- END_OF_ida/lib/sendmail.st
- if test 0 -ne `wc -c <ida/lib/sendmail.st`; then
- echo shar: \"ida/lib/sendmail.st\" unpacked with wrong size!
- fi
- # end of overwriting check
- fi
- if test -f ida/lib/stop_clients -a "${1}" != "-c" ; then
- echo shar: Will not over-write existing file \"ida/lib/stop_clients\"
- else
- echo shar: Extracting \"ida/lib/stop_clients\" \(196 characters\)
- sed "s/^X//" >ida/lib/stop_clients <<'END_OF_ida/lib/stop_clients'
- X#!/bin/sh
- X# stop sendmail on all clients
- X#
- X
- Xfor h in crabbofix lillefix miraculix portofix prefix senilix smidefix tragico
- mix; do
- X echo -n "$h "
- X rsh $h -n "(cd /usr/lib/mail; make stop)"
- Xdone
- END_OF_ida/lib/stop_clients
- if test 196 -ne `wc -c <ida/lib/stop_clients`; then
- echo shar: \"ida/lib/stop_clients\" unpacked with wrong size!
- fi
- chmod +x ida/lib/stop_clients
- # end of overwriting check
- fi
- if test ! -d ida/lib/uucp ; then
- echo shar: Creating directory \"ida/lib/uucp\"
- mkdir ida/lib/uucp
- fi
- if test -f ida/lib/uucp/relays -a "${1}" != "-c" ; then
- echo shar: Will not over-write existing file \"ida/lib/uucp/relays\"
- else
- echo shar: Extracting \"ida/lib/uucp/relays\" \(548 characters\)
- sed "s/^X//" >ida/lib/uucp/relays <<'END_OF_ida/lib/uucp/relays'
- Xakgua.UUCP
- Xalberta.UUCP
- Xbellcore.UUCP
- Xburl.UUCP
- Xcbosgd.UUCP
- Xcernvax.UUCP
- Xclyde.UUCP
- Xcmcl2.UUCP
- Xcuae2.UUCP
- Xdecvax.UUCP
- Xdecwrl.UUCP
- Xdiku.UUCP
- Xdrillsys.UUCP
- Xenea.UUCP
- Xenea.se
- Xgatech.UUCP
- Xglacier.UUCP
- Xhao.UUCP
- Xhplabs.UUCP
- Xi2unix.UUCP
- Xihnp4.UUCP
- Xinria.UUCP
- Xkddlab.UUCP
- Xlll-crg.UUCP
- Xlll-lcc.UUCP
- Xmcnc.UUCP
- Xmcvax.UUCP
- Xmcvax.cwi.nl
- Xmunnari.UUCP
- Xoliveb.UUCP
- Xpenet.UUCP
- Xphilabs.UUCP
- Xprlb2.UUCP
- Xqantel.UUCP
- Xsdcrdcf.UUCP
- Xsdcsvax.UUCP
- Xseismo.UUCP
- Xtektronix.UUCP
- Xubc-vision.UUCP
- Xukc.UUCP
- Xulysses.UUCP
- Xunido.UUCP
- Xutzoo.UUCP
- Xuw-beaver.UUCP
- Xvmars.UUCP
- Xwatmath.UUCP
- END_OF_ida/lib/uucp/relays
- if test 548 -ne `wc -c <ida/lib/uucp/relays`; then
- echo shar: \"ida/lib/uucp/relays\" unpacked with wrong size!
- fi
- # end of overwriting check
- fi
- if test -f ida/lib/uucp/xtable -a "${1}" != "-c" ; then
- echo shar: Will not over-write existing file \"ida/lib/uucp/xtable\"
- else
- echo shar: Extracting \"ida/lib/uucp/xtable\" \(672 characters\)
- sed "s/^X//" >ida/lib/uucp/xtable <<'END_OF_ida/lib/uucp/xtable'
- X#
- X# Translation table between domain addresses and
- X# flat-spaced UUCP node names.
- X#
- X# This table is used when formatting addresses for
- X# delivery overold-fashioned UUCP links. Batched SMTP
- X# over UUCP does not use this table, since it is assumed
- X# that (B)SMTP nodes already know about domain names.
- X#
- X# It is never necessary to enter a translation from "foo.UUCP"
- X# to "foo", since that already (automatically) is done by
- X# ruleset 14.
- X#
- X
- Xalp alp.se
- Xemil emil.uu.se
- Xenea enea.se
- Xerilin erilin.ericsson.se
- Xerix erix.ericsson.se
- Xkuling kuling.uu.se
- Xliuida ida.liu.se
- Xliutde tde.liu.se
- Xmcvax mcvax.cwi.nl
- Xnumax numax.uu.se
- Xobelix obelix.liu.se
- Xprosys prosys.se
- END_OF_ida/lib/uucp/xtable
- if test 672 -ne `wc -c <ida/lib/uucp/xtable`; then
- echo shar: \"ida/lib/uucp/xtable\" unpacked with wrong size!
- fi
- # end of overwriting check
- fi
- if test ! -d ida/patches ; then
- echo shar: Creating directory \"ida/patches\"
- mkdir ida/patches
- fi
- if test -f ida/patches/BSD29.edit -a "${1}" != "-c" ; then
- echo shar: Will not over-write existing file \"ida/patches/BSD29.edit\"
- else
- echo shar: Extracting \"ida/patches/BSD29.edit\" \(263 characters\)
- sed "s/^X//" >ida/patches/BSD29.edit <<'END_OF_ida/patches/BSD29.edit'
- X: BSD29.edit SRCDIR
- Xcd $1
- Xchmod u+w Makefile
- Xecho ">>> Editing $1/Makefile for use with BSD 2.9..."
- X/bin/ed Makefile <<EOF
- Xg/^LIBS=/s/$/ -ljobs -lndir/
- Xg/^OBJS2=/s/$/ bcopy.o/
- Xg/^SRCS2=/s/$/ bcopy.c/
- Xg/^CCONFIG=/s/$/ -DBSD29 -DUCB_NET/
- Xw
- Xq
- XEOF
- Xchmod u-w Makefile
- END_OF_ida/patches/BSD29.edit
- if test 263 -ne `wc -c <ida/patches/BSD29.edit`; then
- echo shar: \"ida/patches/BSD29.edit\" unpacked with wrong size!
- fi
- # end of overwriting check
- fi
- if test -f ida/patches/BSD42.diff -a "${1}" != "-c" ; then
- echo shar: Will not over-write existing file \"ida/patches/BSD42.diff\"
- else
- echo shar: Extracting \"ida/patches/BSD42.diff\" \(523 characters\)
- sed "s/^X//" >ida/patches/BSD42.diff <<'END_OF_ida/patches/BSD42.diff'
- X*** sendmail.h.old Wed May 27 01:59:12 1987
- X--- sendmail.h Wed May 27 02:26:37 1987
- X***************
- X*** 652,654 ****
- X--- 652,673 ----
- X };
- X
- X extern struct metamac MetaMacros[];
- X+
- X+ /*
- X+ ** BSD4.2 Compatibility Code
- X+ */
- X+
- X+ #ifndef sigmask
- X+ # define sigmask(m) (1 << ((m)-1))
- X+ #endif sigmask
- X+
- X+ #ifndef TRY_AGAIN
- X+ # define TRY_AGAIN 2
- X+ # ifdef EXTERN
- X+ EXTERN int h_errno; /* ought to be initialized too */
- X+ # endif EXTERN
- X+ #endif TRY_AGAIN
- X+
- X+ #ifndef LOG_MAIL
- X+ # define LOG_MAIL (2<<3)
- X+ #endif LOG_MAIL
- END_OF_ida/patches/BSD42.diff
- if test 523 -ne `wc -c <ida/patches/BSD42.diff`; then
- echo shar: \"ida/patches/BSD42.diff\" unpacked with wrong size!
- fi
- # end of overwriting check
- fi
- if test -f ida/patches/MDBM.edit -a "${1}" != "-c" ; then
- echo shar: Will not over-write existing file \"ida/patches/MDBM.edit\"
- else
- echo shar: Extracting \"ida/patches/MDBM.edit\" \(171 characters\)
- sed "s/^X//" >ida/patches/MDBM.edit <<'END_OF_ida/patches/MDBM.edit'
- X: MDBM.edit SRCDIR DBMLIB
- Xcd $1
- Xchmod u+w Makefile
- Xecho ">>> Editing $1/Makefile to enable MDBM..."
- X/bin/ed Makefile <<EOF
- Xg/^LIBS=/s/-ldbm/$2/
- Xw
- Xq
- XEOF
- Xchmod u-w Makefile
- END_OF_ida/patches/MDBM.edit
- if test 171 -ne `wc -c <ida/patches/MDBM.edit`; then
- echo shar: \"ida/patches/MDBM.edit\" unpacked with wrong size!
- fi
- # end of overwriting check
- fi
- if test -f ida/patches/Makefile -a "${1}" != "-c" ; then
- echo shar: Will not over-write existing file \"ida/patches/Makefile\"
- else
- echo shar: Extracting \"ida/patches/Makefile\" \(1231 characters\)
- sed "s/^X//" >ida/patches/Makefile <<'END_OF_ida/patches/Makefile'
- X#
- X# MAKEFILE -- Sendmail Patches.
- X# Copyright (c) 1987 Lennart Lovstrand
- X# CIS Dept, Univ of Linkoping, Sweden
- X#
- X# Use it, abuse it, but don't sell it.
- X#
- X
- XSRCDIFFS= Version.c.diff alias.c.diff conf.c.diff daemon.c.diff \
- X deliver.c.diff err.c.diff headers.c.diff macro.c.diff \
- X main.c.diff parseaddr.c.diff queue.c.diff readcf.c.diff \
- X recipient.c.diff savemail.c.diff sendmail.h.diff \
- X srvrsmtp.c.diff usersmtp.c.diff util.c.diff
- XDOCDIFFS= op.me.diff
- X
- X
- X# The following definitions are inserted by ../Makefile
- X# Change them there--not here!
- XMDBM=
- XDBMLIB= -ldbm
- XSRCDIR= ../../src
- XDOCDIR= ../../doc
- X
- XBSD43 bsd43 patch:
- X for f in $(SRCDIFFS); do \
- X patch $(SRCDIR)/`basename $$f .diff` $$f; \
- X done
- X for f in $(DOCDIFFS); do \
- X patch $(DOCDIR)/`basename $$f .diff` $$f; \
- X done
- X -if [ -n "$(MDBM)" ]; then \
- X cp mdbm_compat.h $(SRCDIR); \
- X patch -d $(SRCDIR) -b .old < MDBM.diff; \
- X sh MDBM.edit $(SRCDIR) $(DBMLIB); \
- X fi
- X
- XBSD42 bsd42: BSD43
- X patch -d $(SRCDIR) -b .old < BSD42.diff
- X
- XBSD29 bsd29: BSD42
- X patch -d $(SRCDIR) -b .old < BSD29.diff
- X sh BSD29.edit $(SRCDIR)
- X
- Xbackup:
- X tar cvf Backup.tar $(SRCDIR)/*.[hc] $(DOCDIR)/op.me
- X
- Xrestore:
- X tar xvf Backup.tar
- X
- Xclean:
- X -rm -f \#* *~ Backup.tar
- END_OF_ida/patches/Makefile
- if test 1231 -ne `wc -c <ida/patches/Makefile`; then
- echo shar: \"ida/patches/Makefile\" unpacked with wrong size!
- fi
- # end of overwriting check
- fi
- if test -f ida/patches/Version.c.diff -a "${1}" != "-c" ; then
- echo shar: Will not over-write existing file \"ida/patches/Version.c.diff\"
- else
- echo shar: Extracting \"ida/patches/Version.c.diff\" \(405 characters\)
- sed "s/^X//" >ida/patches/Version.c.diff <<'END_OF_ida/patches/Version.c.diff'
- X*** Version.c.orig Fri Mar 13 18:51:11 1987
- X--- Version.c Mon May 25 15:51:13 1987
- X***************
- X*** 12,18 ****
- X static char SccsId[] = "@(#)version.c 5.51 (Berkeley) 5/2/86";
- X #endif not lint
- X
- X! char Version[] = "5.51";
- X
- X # ifdef COMMENT
- X
- X--- 12,18 ----
- X static char SccsId[] = "@(#)version.c 5.51 (Berkeley) 5/2/86";
- X #endif not lint
- X
- X! char Version[] = "5.51++";
- X
- X # ifdef COMMENT
- X
- END_OF_ida/patches/Version.c.diff
- if test 405 -ne `wc -c <ida/patches/Version.c.diff`; then
- echo shar: \"ida/patches/Version.c.diff\" unpacked with wrong size!
- fi
- # end of overwriting check
- fi
- if test -f ida/patches/conf.c.diff -a "${1}" != "-c" ; then
- echo shar: Will not over-write existing file \"ida/patches/conf.c.diff\"
- else
- echo shar: Extracting \"ida/patches/conf.c.diff\" \(720 characters\)
- sed "s/^X//" >ida/patches/conf.c.diff <<'END_OF_ida/patches/conf.c.diff'
- X*** conf.c.orig Fri Mar 13 18:51:01 1987
- X--- conf.c Mon May 25 15:54:51 1987
- X***************
- X*** 80,85 ****
- X--- 80,86 ----
- X "resent-cc", H_RCPT|H_RESENT,
- X "bcc", H_RCPT|H_ACHECK,
- X "resent-bcc", H_RCPT|H_ACHECK|H_RESENT,
- X+ "apparently-to", H_RCPT,
- X /* message identification and control */
- X "message-id", 0,
- X "resent-message-id", H_RESENT,
- X***************
- X*** 141,146 ****
- X--- 142,149 ----
- X
- X setdefaults()
- X {
- X+ int c;
- X+
- X QueueLA = 8;
- X QueueFactor = 10000;
- X RefuseLA = 12;
- X***************
- X*** 151,156 ****
- X--- 154,164 ----
- X FileMode = 0644;
- X DefUid = 1;
- X DefGid = 1;
- X+
- X+ # ifdef NDBM
- X+ for (c = 0; c < 128; c++)
- X+ DbmTab[c].dbm = DB_NOTYETOPEN;
- X+ # endif NDBM
- X }
- X
- X # ifdef V6
- END_OF_ida/patches/conf.c.diff
- if test 720 -ne `wc -c <ida/patches/conf.c.diff`; then
- echo shar: \"ida/patches/conf.c.diff\" unpacked with wrong size!
- fi
- # end of overwriting check
- fi
- if test -f ida/patches/err.c.diff -a "${1}" != "-c" ; then
- echo shar: Will not over-write existing file \"ida/patches/err.c.diff\"
- else
- echo shar: Extracting \"ida/patches/err.c.diff\" \(518 characters\)
- sed "s/^X//" >ida/patches/err.c.diff <<'END_OF_ida/patches/err.c.diff'
- X*** err.c.orig Fri Mar 13 18:51:05 1987
- X--- err.c Mon May 25 15:55:17 1987
- X***************
- X*** 354,360 ****
- X (void) sprintf(buf, "Connection refused by %s", CurHostName);
- X return (buf);
- X
- X! case (TRY_AGAIN+MAX_ERRNO):
- X (void) sprintf(buf, "Host Name Lookup Failure");
- X return (buf);
- X }
- X--- 354,360 ----
- X (void) sprintf(buf, "Connection refused by %s", CurHostName);
- X return (buf);
- X
- X! case (TRY_AGAIN+MAX_ERRNO):
- X (void) sprintf(buf, "Host Name Lookup Failure");
- X return (buf);
- X }
- END_OF_ida/patches/err.c.diff
- if test 518 -ne `wc -c <ida/patches/err.c.diff`; then
- echo shar: \"ida/patches/err.c.diff\" unpacked with wrong size!
- fi
- # end of overwriting check
- fi
- if test -f ida/patches/headers.c.diff -a "${1}" != "-c" ; then
- echo shar: Will not over-write existing file \"ida/patches/headers.c.diff\"
- else
- echo shar: Extracting \"ida/patches/headers.c.diff\" \(503 characters\)
- sed "s/^X//" >ida/patches/headers.c.diff <<'END_OF_ida/patches/headers.c.diff'
- X*** headers.c.orig Fri Mar 13 18:51:06 1987
- X--- headers.c Mon May 25 15:51:27 1987
- X***************
- X*** 777,783 ****
- X *p = '\0';
- X
- X /* translate the name to be relative */
- X! name = remotename(name, m, bitset(H_FROM, h->h_flags), FALSE);
- X if (*name == '\0')
- X {
- X *p = savechar;
- X--- 777,784 ----
- X *p = '\0';
- X
- X /* translate the name to be relative */
- X! name = remotename(name, m, bitset(H_FROM, h->h_flags), FALSE,
- X! TRUE);
- X if (*name == '\0')
- X {
- X *p = savechar;
- END_OF_ida/patches/headers.c.diff
- if test 503 -ne `wc -c <ida/patches/headers.c.diff`; then
- echo shar: \"ida/patches/headers.c.diff\" unpacked with wrong size!
- fi
- # end of overwriting check
- fi
- if test -f ida/patches/macro.c.diff -a "${1}" != "-c" ; then
- echo shar: Will not over-write existing file \"ida/patches/macro.c.diff\"
- else
- echo shar: Extracting \"ida/patches/macro.c.diff\" \(387 characters\)
- sed "s/^X//" >ida/patches/macro.c.diff <<'END_OF_ida/patches/macro.c.diff'
- X*** macro.c.orig Fri Mar 13 18:51:06 1987
- X--- macro.c Mon May 25 15:51:29 1987
- X***************
- X*** 168,173 ****
- X--- 168,174 ----
- X ** $h to host
- X ** $i queue id
- X ** $j official SMTP hostname, used in messages+
- X+ ** $k our UUCP host name, if different from $w
- X ** $l UNIX-style from line+
- X ** $n name of sendmail ("MAILER-DAEMON" on local
- X ** net typically)+
- END_OF_ida/patches/macro.c.diff
- if test 387 -ne `wc -c <ida/patches/macro.c.diff`; then
- echo shar: \"ida/patches/macro.c.diff\" unpacked with wrong size!
- fi
- # end of overwriting check
- fi
- if test -f ida/patches/mdbm_compat.h -a "${1}" != "-c" ; then
- echo shar: Will not over-write existing file \"ida/patches/mdbm_compat.h\"
- else
- echo shar: Extracting \"ida/patches/mdbm_compat.h\" \(762 characters\)
- sed "s/^X//" >ida/patches/mdbm_compat.h <<'END_OF_ida/patches/mdbm_compat.h'
- X/**
- X ** MDBM Compatibility File
- X **
- X ** These definitions will make sendmail use Maryland's mdbm
- X ** library package instead of the new multifile database
- X ** routines of 4.3.
- X **
- X ** Note: Don't use this if you already have ndbm.
- X **/
- X
- X#include <mdbm.h>
- X
- Xtypedef struct mdbm DBMFILE;
- X
- X#ifndef NDBM
- X# define NDBM
- X#endif NDBM
- X#ifndef MDBM
- X# define MDBM
- X#endif MDBM
- X
- X/*
- X * Mdbm equivalents for ndbm functions
- X */
- X
- X#define DBM_REPLACE MDBM_REPLACE
- X#define DBM_INSERT MDBM_INSERT
- X
- X#define dbm_open(file, flags, mode) \
- X mdbm_open(file, flags, mode, NULL, NULL, NULL)
- X#define dbm_close mdbm_close
- X#define dbm_fetch mdbm_fetch
- X#define dbm_store mdbm_store
- X#define dbm_firstkey mdbm_firstkey
- X#define dbm_nextkey mdbm_nextkey /* don't forget to fill in 2nd param! */
- END_OF_ida/patches/mdbm_compat.h
- if test 762 -ne `wc -c <ida/patches/mdbm_compat.h`; then
- echo shar: \"ida/patches/mdbm_compat.h\" unpacked with wrong size!
- fi
- # end of overwriting check
- fi
- if test -f ida/patches/queue.c.diff -a "${1}" != "-c" ; then
- echo shar: Will not over-write existing file \"ida/patches/queue.c.diff\"
- else
- echo shar: Extracting \"ida/patches/queue.c.diff\" \(744 characters\)
- sed "s/^X//" >ida/patches/queue.c.diff <<'END_OF_ida/patches/queue.c.diff'
- X*** queue.c.orig Fri Mar 13 18:51:03 1987
- X--- queue.c Mon May 25 15:51:38 1987
- X***************
- X*** 175,181 ****
- X */
- X
- X bzero((char *) &nullmailer, sizeof nullmailer);
- X! nullmailer.m_r_rwset = nullmailer.m_s_rwset = -1;
- X nullmailer.m_eol = "\n";
- X
- X define('g', "\001f", e);
- X--- 175,182 ----
- X */
- X
- X bzero((char *) &nullmailer, sizeof nullmailer);
- X! nullmailer.m_re_rwset = nullmailer.m_se_rwset = -1;
- X! nullmailer.m_rh_rwset = nullmailer.m_sh_rwset = -1;
- X nullmailer.m_eol = "\n";
- X
- X define('g', "\001f", e);
- X***************
- X*** 352,357 ****
- X--- 353,362 ----
- X free(w->w_name);
- X free((char *) w);
- X }
- X+ /*
- X+ * Don't let dropenvelope() trash locked queue files!
- X+ */
- X+ CurEnv->e_id = NULL;
- X finis();
- X }
- X /*
- END_OF_ida/patches/queue.c.diff
- if test 744 -ne `wc -c <ida/patches/queue.c.diff`; then
- echo shar: \"ida/patches/queue.c.diff\" unpacked with wrong size!
- fi
- # end of overwriting check
- fi
- if test -f ida/patches/readcf.c.diff -a "${1}" != "-c" ; then
- echo shar: Will not over-write existing file \"ida/patches/readcf.c.diff\"
- else
- echo shar: Extracting \"ida/patches/readcf.c.diff\" \(2154 characters\)
- sed "s/^X//" >ida/patches/readcf.c.diff <<'END_OF_ida/patches/readcf.c.diff'
- X*** readcf.c.orig Fri Mar 13 18:51:07 1987
- X--- readcf.c Mon May 25 15:51:41 1987
- X***************
- X*** 434,441 ****
- X setbitn(*p, m->m_flags);
- X break;
- X
- X! case 'S': /* sender rewriting ruleset */
- X! case 'R': /* recipient rewriting ruleset */
- X i = atoi(p);
- X if (i < 0 || i >= MAXRWSETS)
- X {
- X--- 434,441 ----
- X setbitn(*p, m->m_flags);
- X break;
- X
- X! case 'S': /* sender rewriting ruleset(s) */
- X! case 'R': /* recipient rewriting ruleset(s) */
- X i = atoi(p);
- X if (i < 0 || i >= MAXRWSETS)
- X {
- X***************
- X*** 442,451 ****
- X syserr("invalid rewrite set, %d max", MAXRWSETS
- );
- X return;
- X }
- X! if (fcode == 'S')
- X! m->m_s_rwset = i;
- X! else
- X! m->m_r_rwset = i;
- X break;
- X
- X case 'E': /* end of line string */
- X--- 442,464 ----
- X syserr("invalid rewrite set, %d max", MAXRWSETS
- );
- X return;
- X }
- X! /* default envelope ruleset for header ruleset */
- X! if (fcode == 'S') {
- X! m->m_se_rwset = i;
- X! m->m_sh_rwset = i;
- X! } else {
- X! m->m_re_rwset = i;
- X! m->m_rh_rwset = i;
- X! }
- X! /* look for specific header rewriting ruleset */
- X! while (*p != '\0' && *p != ',' && *p != '/') p++;
- X! if (*p++ == '/') {
- X! i = atoi(p);
- X! if (fcode == 'S')
- X! m->m_sh_rwset = i;
- X! else
- X! m->m_rh_rwset = i;
- X! }
- X break;
- X
- X case 'E': /* end of line string */
- X***************
- X*** 797,803 ****
- X case 'i': /* ignore dot lines in message */
- X IgnrDot = atobool(val);
- X break;
- X!
- X case 'L': /* log level */
- X LogLevel = atoi(val);
- X break;
- X--- 810,821 ----
- X case 'i': /* ignore dot lines in message */
- X IgnrDot = atobool(val);
- X break;
- X! # ifdef NDBM
- X! case 'K': /* keyed database file */
- X! if (*val != '\0')
- X! DbmTab[*val].name = newstr(&val[1]);
- X! break;
- X! # endif NDBM
- X case 'L': /* log level */
- X LogLevel = atoi(val);
- X break;
- X***************
- X*** 911,916 ****
- X--- 929,938 ----
- X
- X case 'Z': /* work time factor */
- X WkTimeFact = atoi(val);
- X+ break;
- X+
- X+ case '/': /* use split envelope/header rewriting */
- X+ SplitRewriting = TRUE;
- X break;
- X
- X default:
- END_OF_ida/patches/readcf.c.diff
- if test 2154 -ne `wc -c <ida/patches/readcf.c.diff`; then
- echo shar: \"ida/patches/readcf.c.diff\" unpacked with wrong size!
- fi
- # end of overwriting check
- fi
- if test -f ida/patches/savemail.c.diff -a "${1}" != "-c" ; then
- echo shar: Will not over-write existing file \"ida/patches/savemail.c.diff\"
- else
- echo shar: Extracting \"ida/patches/savemail.c.diff\" \(1282 characters\)
- sed "s/^X//" >ida/patches/savemail.c.diff <<'END_OF_ida/patches/savemail.c.diff
- '
- X*** savemail.c.orig Fri Mar 13 18:51:08 1987
- X--- savemail.c Mon May 25 15:51:45 1987
- X***************
- X*** 366,371 ****
- X--- 366,372 ----
- X ENVELOPE errenvelope;
- X static int returndepth;
- X register ADDRESS *q;
- X+ char *to, *cc;
- X
- X # ifdef DEBUG
- X if (tTd(6, 1))
- X***************
- X*** 395,405 ****
- X ee->e_flags |= EF_RESPONSE;
- X ee->e_sendqueue = returnq;
- X openxscript(ee);
- X! for (q = returnq; q != NULL; q = q->q_next)
- X! {
- X! if (q->q_alias == NULL)
- X! addheader("to", q->q_paddr, ee);
- X }
- X
- X (void) sprintf(buf, "Returned mail: %s", msg);
- X addheader("subject", buf, ee);
- X--- 396,422 ----
- X ee->e_flags |= EF_RESPONSE;
- X ee->e_sendqueue = returnq;
- X openxscript(ee);
- X!
- X! /* put the recipients in the to: header (cc: for PostMasterCopy) */
- X! cc = NULL;
- X! to = buf;
- X! for (q = returnq; q != NULL; q = q->q_next) {
- X! if (q->q_alias == NULL)
- X! if (strcmp(q->q_paddr, PostMasterCopy) == 0)
- X! cc = q->q_paddr;
- X! else {
- X! int len = strlen(q->q_paddr);
- X!
- X! *to++ = ',';
- X! strncpy(to, q->q_paddr, len);
- X! to += len;
- X! }
- X }
- X+ *to = '\0';
- X+ if (to != buf)
- X+ addheader("to", buf+1, ee);
- X+ if (cc)
- X+ addheader("cc", cc, ee);
- X
- X (void) sprintf(buf, "Returned mail: %s", msg);
- X addheader("subject", buf, ee);
- END_OF_ida/patches/savemail.c.diff
- if test 1282 -ne `wc -c <ida/patches/savemail.c.diff`; then
- echo shar: \"ida/patches/savemail.c.diff\" unpacked with wrong size!
- fi
- # end of overwriting check
- fi
- if test -f ida/patches/usersmtp.c.diff -a "${1}" != "-c" ; then
- echo shar: Will not over-write existing file \"ida/patches/usersmtp.c.diff\"
- else
- echo shar: Extracting \"ida/patches/usersmtp.c.diff\" \(1852 characters\)
- sed "s/^X//" >ida/patches/usersmtp.c.diff <<'END_OF_ida/patches/usersmtp.c.diff
- '
- X*** usersmtp.c.orig Fri Mar 13 18:51:09 1987
- X--- usersmtp.c Mon May 25 15:51:50 1987
- X***************
- X*** 34,39 ****
- X--- 34,40 ----
- X
- X #define REPLYTYPE(r) ((r) / 100) /* first digit of reply code */
- X #define REPLYCLASS(r) (((r) / 10) % 10) /* second digit of repl
- y code */
- X+ #define SMTPGOODREPLY 250 /* positive SMTP respon
- se */
- X #define SMTPCLOSING 421 /* "Service Shutting Down" */
- X
- X char SmtpMsgBuffer[MAXLINE]; /* buffer for commands */
- X***************
- X*** 241,247 ****
- X register int r;
- X extern char *remotename();
- X
- X! smtpmessage("RCPT To:<%s>", m, remotename(to->q_user, m, FALSE, TRUE));
- X
- X SmtpPhase = "RCPT wait";
- X r = reply(m);
- X--- 242,257 ----
- X register int r;
- X extern char *remotename();
- X
- X! /* DISABLED since I didn't understand why further rewriting
- X! should be necessary. Since it doesn't go through ruleset 0
- X! on this second rewriting (which it should since it's a
- X! envelope recipient address) there is even the risk that it
- X! gets screwed up.
- X! -- lel@ida.liu.se
- X! smtpmessage("RCPT To:<%s>", m, remotename(to->q_user, m, FALSE, TRUE,
- X! FALSE));
- X! */
- X! smtpmessage("RCPT To:<%s>", m, to->q_user);
- X
- X SmtpPhase = "RCPT wait";
- X r = reply(m);
- X***************
- X*** 291,297 ****
- X return (EX_TEMPFAIL);
- X else if (r == 554)
- X return (EX_UNAVAILABLE);
- X! else if (r != 354)
- X return (EX_PROTOCOL);
- X
- X /* now output the actual message */
- X--- 301,307 ----
- X return (EX_TEMPFAIL);
- X else if (r == 554)
- X return (EX_UNAVAILABLE);
- X! else if (r != 354 && r != 250)
- X return (EX_PROTOCOL);
- X
- X /* now output the actual message */
- X***************
- X*** 377,382 ****
- X--- 387,395 ----
- X
- X if (tTd(18, 1))
- X printf("reply\n");
- X+
- X+ if (bitnset(M_BSMTP, m->m_flags))
- X+ return (SMTPGOODREPLY);
- X
- X /*
- X ** Read the input line, being careful not to hang.
- END_OF_ida/patches/usersmtp.c.diff
- if test 1852 -ne `wc -c <ida/patches/usersmtp.c.diff`; then
- echo shar: \"ida/patches/usersmtp.c.diff\" unpacked with wrong size!
- fi
- # end of overwriting check
- fi
- if test -f ida/patches/util.c.diff -a "${1}" != "-c" ; then
- echo shar: Will not over-write existing file \"ida/patches/util.c.diff\"
- else
- echo shar: Extracting \"ida/patches/util.c.diff\" \(2288 characters\)
- sed "s/^X//" >ida/patches/util.c.diff <<'END_OF_ida/patches/util.c.diff'
- X*** util.c.orig Fri Mar 13 18:51:10 1987
- X--- util.c Mon May 25 15:51:52 1987
- X***************
- X*** 20,25 ****
- X--- 20,27 ----
- X # include <ctype.h>
- X # include "sendmail.h"
- X
- X+ bool catPrint = FALSE; /* xputs: print strings for catenation
- */
- X+
- X /*
- X ** STRIPQUOTES -- Strip quotes & quote bits from a string.
- X **
- X***************
- X*** 261,266 ****
- X--- 263,269 ----
- X register char *s;
- X {
- X register char c;
- X+ register struct metamac *m;
- X
- X if (s == NULL)
- X {
- X***************
- X*** 267,273 ****
- X printf("<null>");
- X return;
- X }
- X! (void) putchar('"');
- X while ((c = *s++) != '\0')
- X {
- X if (!isascii(c))
- X--- 270,288 ----
- X printf("<null>");
- X return;
- X }
- X!
- X! if (s[0] == MATCHREPL && isdigit(s[1]) && s[2] == '\0') {
- X! printf("$%c", s[1]);
- X! return;
- X! } else
- X! for (m = MetaMacros; m->metaname != '\0'; m++)
- X! if (m->metaval == *s) {
- X! printf("$%c%s", m->metaname, &s[1]);
- X! return;
- X! }
- X!
- X! if (!catPrint)
- X! (void) putchar('"');
- X while ((c = *s++) != '\0')
- X {
- X if (!isascii(c))
- X***************
- X*** 282,288 ****
- X }
- X (void) putchar(c);
- X }
- X! (void) putchar('"');
- X (void) fflush(stdout);
- X }
- X /*
- X--- 297,304 ----
- X }
- X (void) putchar(c);
- X }
- X! if (!catPrint)
- X! (void) putchar('"');
- X (void) fflush(stdout);
- X }
- X /*
- X***************
- X*** 306,316 ****
- X register char *p;
- X {
- X register char c;
- X
- X if (p == NULL)
- X return;
- X for (; (c = *p) != '\0'; p++)
- X! if (isascii(c) && isupper(c))
- X *p = c - 'A' + 'a';
- X }
- X /*
- X--- 322,335 ----
- X register char *p;
- X {
- X register char c;
- X+ register bool quoted_string = FALSE;
- X
- X if (p == NULL)
- X return;
- X for (; (c = *p) != '\0'; p++)
- X! if (c == '"')
- X! quoted_string = !quoted_string;
- X! else if (!quoted_string && isascii(c) && isupper(c))
- X *p = c - 'A' + 'a';
- X }
- X /*
- X***************
- X*** 862,865 ****
- X--- 881,907 ----
- X if (map[i] != 0)
- X return (FALSE);
- X return (TRUE);
- X+ }
- X+
- X+ /*
- X+ ** PRINTCAV -- Print concatenated argument vector
- X+ **
- X+ ** Parameters:
- X+ ** av -- argument vector.
- X+ **
- X+ ** Returns:
- X+ ** none.
- X+ **
- X+ ** Side Effects:
- X+ ** prints av.
- X+ */
- X+
- X+ printcav(av)
- X+ register char **av;
- X+ {
- X+ bool oldCatPrint = catPrint;
- X+
- X+ catPrint = TRUE;
- X+ printav(av);
- X+ catPrint = oldCatPrint;
- X }
- END_OF_ida/patches/util.c.diff
- if test 2288 -ne `wc -c <ida/patches/util.c.diff`; then
- echo shar: \"ida/patches/util.c.diff\" unpacked with wrong size!
- fi
- # end of overwriting check
- fi
- echo shar: End of archive 1 \(of 7\).
- cp /dev/null ark1isdone
- MISSING=""
- for I in 1 2 3 4 5 6 7 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked all 7 archives.
- echo "See ida/README and ida/INSTALL for further instructions."
- rm -f ark[1-9]isdone
- else
- echo You still need to unpack the following archives:
- echo " " ${MISSING}
- fi
- ## End of shell archive.
- exit 0
-