+++ /dev/null
---- sendmail-8.10.0/makemap/makemap.8.makemapn Fri Jul 30 02:15:31 1999
-+++ sendmail-8.10.0/makemap/makemap.8 Thu Mar 9 13:16:58 2000
-@@ -40,12 +40,6 @@
- parameter.
- They may be
- .TP
--dbm
--DBM format maps.
--This requires the
--ndbm(3)
--library.
--.TP
- btree
- B-Tree format maps.
- This requires the new Berkeley DB
+++ /dev/null
---- sendmail-8.10.0/devtools/OS/Linux.redhat Mon Dec 27 16:54:08 1999
-+++ sendmail-8.10.0/devtools/OS/Linux Thu Mar 9 15:37:12 2000
-@@ -1,9 +1,13 @@
- # $Id$
-+
- define(`confDEPEND_TYPE', `CC-M')
- define(`confMANROOT', `/usr/man/man')
- define(`confLIBS', `-ldl')
- define(`confEBINDIR', `/usr/sbin')
-+define(`confSTDIR', `/var/log')
- APPENDDEF(`confLIBSEARCH', `crypt nsl')
-
- define(`confMTLDOPTS', `-lpthread')
- define(`confLDOPTS_SO', `-shared')
-+define('confSBINGRP', 'mail')
-+define('confSBINMODE', '6755')
---- sendmail-8.10.0/sendmail/daemon.c.redhat Thu Mar 2 01:58:02 2000
-+++ sendmail-8.10.0/sendmail/daemon.c Thu Mar 9 15:08:16 2000
-@@ -2499,7 +2499,7 @@
-
- /* get result */
- p = &ibuf[0];
-- nleft = sizeof ibuf - 1;
-+ nleft = sizeof(ibuf) - 1;
- while ((i = read(s, p, nleft)) > 0)
- {
- p += i;
+++ /dev/null
---- sendmail-8.10.0/smrsh/README.smrsh Tue Apr 27 22:26:10 1999
-+++ sendmail-8.10.0/smrsh/README Thu Mar 9 13:21:10 2000
-@@ -6,7 +6,7 @@
- intended as a supplement to the CERT advisory CA-93:16.sendmail.vulnerability,
- and to the software, smrsh.c, written by Eric Allman.
-
--
-+* Modified by Red Hat Software to reflect different paths. *
-
- The smrsh(8) program is intended as a replacement for /bin/sh in the
- program mailer definition of sendmail(8). This README file describes
-@@ -46,15 +46,15 @@
-
-
-
--As root, install smrsh in /usr/libexec. Using the Build script:
-+As root, install smrsh in /usr/sbin. Using the Build script:
-
- host.domain# sh Build install
-
--For manual installation: install smrsh in the /usr/libexec
-+For manual installation: install smrsh in the /usr/sbin
- directory, with mode 511.
-
-- host.domain# mv smrsh /usr/libexec
-- host.domain# chmod 511 /usr/libexec/smrsh
-+ host.domain# mv smrsh /usr/sbin
-+ host.domain# chmod 511 /usr/sbin/smrsh
-
-
-
-@@ -76,7 +76,7 @@
- acceptable commands.
-
-
--You will next need to create the directory /usr/adm/sm.bin and populate
-+You will next need to create the directory /etc/smrsh and populate
- it with the programs that your site feels are allowable for sendmail
- to execute. This directory is explicitly specified in the source
- code for smrsh, so changing this directory must be accompanied with
-@@ -85,22 +85,22 @@
-
- You will have to be root to make these modifications.
-
--After creating the /usr/adm/sm.bin directory, either copy the programs
-+After creating the /etc/smrsh directory, either copy the programs
- to the directory, or establish links to the allowable programs from
--/usr/adm/sm.bin. Change the file permissions, so that these programs
-+/etc/smrsh. Change the file permissions, so that these programs
- can not be modified by non-root users. If you use links, you should
- ensure that the target programs are not modifiable.
-
- To allow the popular vacation(1) program by creating a link in the
--/usr/adm/sm.bin directory, you should:
-+/etc/smrsh directory, you should:
-
-- host.domain# cd /usr/adm/sm.bin
-+ host.domain# cd /etc/smrsh
- host.domain# ln -s /usr/ucb/vacation vacation
-
-
-
-
--After populating the /usr/adm/sm.bin directory, you can now configure
-+After populating the /etc/smrsh directory, you can now configure
- sendmail to use the restricted shell. Save the current sendmail.cf
- file prior to modifying it, as a prudent precaution.
-
-@@ -115,7 +115,7 @@
-
- In order to configure sendmail to use smrsh, you must modify the Mprog
- definition in the sendmail.cf file, by replacing the /bin/sh specification
--with /usr/libexec/smrsh.
-+with /usr/sbin/smrsh.
-
- As an example:
-
-@@ -123,14 +123,14 @@
- Mprog, P=/bin/sh, F=lsDFMeuP, S=10, R=20, A=sh -c $u
-
- which should be changed to:
--Mprog, P=/usr/libexec/smrsh, F=lsDFMeuP, S=10, R=20, A=sh -c $u
-+Mprog, P=/usr/sbin/smrsh, F=lsDFMeuP, S=10, R=20, A=sh -c $u
- ^^^^^^^^^^^^^^^^^^
-
- A more generic line may be:
- Mprog, P=/bin/sh, F=lsDFM, A=sh -c $u
-
- and should be changed to;
--Mprog, P=/usr/libexec/smrsh, F=lsDFM, A=sh -c $u
-+Mprog, P=/usr/sbin/smrsh, F=lsDFM, A=sh -c $u
-
-
- After modifying the Mprog definition in the sendmail.cf file, if a frozen
-@@ -141,7 +141,7 @@
- a search of the strings(1) output of the sendmail binary.
-
- In order to create a new frozen configuration, if it is required:
-- host.domain# /usr/lib/sendmail -bz
-+ host.domain# /usr/sbin/sendmail -bz
-
- Now re-start the sendmail process. An example of how to do this on
- a typical system follows:
---- sendmail-8.10.0/smrsh/smrsh.8.smrsh Tue Jun 15 00:50:19 1999
-+++ sendmail-8.10.0/smrsh/smrsh.8 Thu Mar 9 13:21:40 2000
-@@ -38,7 +38,7 @@
- Briefly,
- .I smrsh
- limits programs to be in the directory
--/usr/adm/sm.bin,
-+/etc/smrsh,
- allowing the system administrator to choose the set of acceptable commands,
- and to the shell builtin commands ``exec'', ``exit'', and ``echo''.
- It also rejects any commands with the characters
-@@ -55,10 +55,10 @@
- and
- ``vacation''
- all actually forward to
--``/usr/adm/sm.bin/vacation''.
-+``/etc/smrsh/vacation''.
- .PP
- System administrators should be conservative about populating
--/usr/adm/sm.bin.
-+/etc/smrsh
- Reasonable additions are
- .IR vacation (1),
- .IR procmail (1),
-@@ -68,20 +68,12 @@
- (such as
- .IR perl (1))
- in the
--sm.bin
-+/etc/smrsh
- directory.
- Note that this does not restrict the use of shell or perl scripts
--in the sm.bin directory (using the ``#!'' syntax);
-+in the /etc/smrsh directory (using the ``#!'' syntax);
- it simply disallows execution of arbitrary programs.
--.SH COMPILATION
--Compilation should be trivial on most systems.
--You may need to use \-DPATH=\e"\fIpath\fP\e"
--to adjust the default search path
--(defaults to ``/bin:/usr/bin:/usr/ucb'')
--and/or \-DCMDBIN=\e"\fIdir\fP\e"
--to change the default program directory
--(defaults to ``/usr/adm/sm.bin'').
- .SH FILES
--/usr/adm/sm.bin \- directory for restricted programs
-+/etc/smrsh \- directory for restricted programs
- .SH SEE ALSO
- sendmail(8)
---- sendmail-8.10.0/smrsh/smrsh.c.smrsh2 Tue Oct 26 22:49:51 1999
-+++ sendmail-8.10.0/smrsh/smrsh.c Thu Mar 9 13:28:37 2000
-@@ -76,7 +76,7 @@
-
- /* directory in which all commands must reside */
- #ifndef CMDDIR
--# define CMDDIR "/usr/adm/sm.bin"
-+# define CMDDIR "/etc/smrsh"
- #endif /* ! CMDDIR */
-
- /* characters disallowed in the shell "-c" argument */
-@@ -84,7 +84,7 @@
-
- /* default search path */
- #ifndef PATH
--# define PATH "/bin:/usr/bin:/usr/ucb"
-+# define PATH "/bin:/usr/bin:"
- #endif /* ! PATH */
-
- #ifndef __P
+++ /dev/null
---- sendmail-8.8.7/rmail/rmail.c.rmail Mon Feb 9 14:30:13 1998
-+++ sendmail-8.8.7/rmail/rmail.c Mon Feb 9 14:30:42 1998
-@@ -232,7 +232,6 @@
- i = 0;
- args[i++] = _PATH_SENDMAIL; /* Build sendmail's argument list. */
- args[i++] = "-oee"; /* No errors, just status. */
-- args[i++] = "-odq"; /* Queue it, don't try to deliver. */
- args[i++] = "-oi"; /* Ignore '.' on a line by itself. */
-
- /* set from system and protocol used */
+++ /dev/null
-# /etc/mail/access
-# Copyright (c) 1998, Richard Nelson <cowboy@debian.org>.
-# Time-stamp: <1998/10/27 10:00:00 cowboy>
-# GPL'd config file, please feed any gripes, suggestions, etc. to me
-#
-# Function:
-# Access Control for this smtp server - determines:
-# * Who we accept mail from
-# * Who we accept relaying from
-# * Who we will not send to
-#
-# Usage:
-# FEATURE(access_db[, type [-o] /etc/mail/access])dnl
-# makemap hash access < access
-#
-# Format:
-# lhs:
-# email addr <user@[host.domain]>
-# domain name unless FEATURE(relay_hosts_only) is used,
-# then this is a fqdn - and relay-domains ($=R)
-# must also be fqdns.
-# network number must end on an octet boundary, or
-# you're stuck going the longwinded way ;-{
-# rhs:
-# OK accept mail even if other rules in the
-# running ruleset would reject it.
-# RELAY Allow domain to relay through your SMTP
-# server. RELAY also serves an implicit
-# OK for the other checks.
-# REJECT reject the sender/recipient with a general
-# purpose message that can be customized.
-# confREJECT_MSG [550 Access denied] will be issued
-# DISCARD discard the message completely using
-# the $#discard mailer.
-# ### any text where ### is an RFC 821 compliant error code
-# and "any text" is a message to return for
-# the command
-# Examples:
-# spammer@aol.com REJECT
-# FREE.STEALTH.MAILER@ 550 Spam not accepted
-#
-# Notes:
-# With FEATURE(blacklist_recipients) this is also possible:
-# badlocaluser 550 Mailbox disabled for this username
-# host.mydomain.com 550 That host does not accept mail
-# user@otherhost.mydomain.com 550 Mailbox disabled for this recipient
-#
-# Related:
-# define(`confREJECT_MSG', `550 Access denied')dnl
-# define(`confCR_FILE', `-o /etc/mail/relay-domains')dnl <<- $=R
-# FEATURE(relay_hosts_only)dnl
-# FEATURE(relay_entire_domain)dnl <<- relays any host in the $=m class
-# FEATURE(relay_based_on_MX)dnl <<- relaying for boxes MX'd to you
-# FEATURE(blacklist_recipients)dnl
-# FEATURE(rbl[,alternate server])dnl
-# FEATURE(orbs[,alternate server])dnl <<- Debian addition
-# FEATURE(orca[,alternate server])dnl <<- Debian addition
-# FEATURE(accept_unqualified_senders)dnl
-# FEATURE(accept_unresolvable_domains)dnl
-#
-# Local addresses 10.x.x.x, 127.x.x.x, 172.16-31.x.x 192.168.x.x can relay
-# Note Well! You *must* make sure these address can't be spoofed externally
-10 RELAY
-127 RELAY
-172.16 RELAY
-172.17 RELAY
-172.18 RELAY
-172.19 RELAY
-172.20 RELAY
-172.21 RELAY
-172.22 RELAY
-172.23 RELAY
-172.24 RELAY
-172.25 RELAY
-172.26 RELAY
-172.27 RELAY
-172.28 RELAY
-172.29 RELAY
-172.30 RELAY
-172.31 RELAY
-192.168 RELAY
-#
-# Hosts that are allowed to talk to me
-#
-#
-# Blacklisted users
-#
-reject@ REJECT
+++ /dev/null
-# /etc/mail/domaintable
-# Copyright (c) 1998, Richard Nelson <cowboy@debian.org>.
-# Time-stamp: <1998/10/27 10:00:00 cowboy>
-# GPL'd config file, please feed any gripes, suggestions, etc. to me
-#
-# Function:
-# Specify a mapping from old host name to new host name.
-# Commonly used to support old (or merged) domain names.
-# The host name in the lhs will be rewritten to that in the rhs
-#
-# Usage:
-# FEATURE(domaintable[, type [-o] /etc/mail/domaintable])dnl
-# makemap hash domaintable < domaintable
-#
-# Format:
-# old fqdn new fqdn
-#
-# Examples:
-# debian.com debian.org
-# .debian.com %0.debian.org
-#
-# Notes:
-#
-# Related:
-#
-#.cv.lexington.ibm.com %0.lexington.ibm.com
+++ /dev/null
-diff -Nur sendmail-8.9.3/cf/m4/proto.m4 sendmail-8.9.3.pld/cf/m4/proto.m4
---- sendmail-8.9.3/cf/m4/proto.m4 Wed Feb 3 00:21:30 1999
-+++ sendmail-8.9.3.pld/cf/m4/proto.m4 Wed Feb 10 18:11:17 1999
-@@ -1111,6 +1111,7 @@
- ifdef(`_RBL_', `dnl
- # DNS based IP address spam lists
- R$* $: $&{client_addr}
-+R::ffff:$-.$-.$-.$- $: $(host $4.$3.$2.$1._RBL_. $: OK $)
- R$-.$-.$-.$- $: $(host $4.$3.$2.$1._RBL_. $: OK $)
- ROK $@ OK
- R$+ $#error $@ 5.7.1 $: "Mail from " $&{client_addr} " refused by blackhole site _RBL_"',
-diff -Nur sendmail-8.9.3/src/conf.c sendmail-8.9.3.pld/src/conf.c
---- sendmail-8.9.3/src/conf.c Wed Jan 27 01:15:52 1999
-+++ sendmail-8.9.3.pld/src/conf.c Wed Feb 10 18:11:17 1999
-@@ -4085,6 +4085,33 @@
- }
-
- #endif
-+/*
-+** SM_GETHOSTBYNAME2 -- Wrapper for gethostbyname() with IPv6 support
-+**
-+** Most modern resolver libraries (BIND 8.1.x, glibc 2.1.x) will already
-+** return an AF_INET6 hostent if RES_USE_INET6 is set in _res.options.
-+** They usually try something like gethostbyname2(name, AF_INET6) and,
-+** if that fails, return the result of gethostbyname2(name, AF_INET).
-+**
-+** IPv6 code elsewhere should have set RES_USE_INET6 if it is defined.
-+** If it isn't defined, we simulate that behavior ourself.
-+**
-+** You can *not* assume that the hostent returned will only be AF_INET.
-+*/
-+struct hostent *
-+sm_gethostbyname2(name)
-+ char *name;
-+{
-+#if NETINET6 && !defined(RES_USE_INET6)
-+ struct hostent *h;
-+
-+ h = gethostbyname2(name, AF_INET6);
-+ if (h)
-+ return h;
-+#endif
-+ return gethostbyname(name);
-+}
-+
- \f/*
- ** SM_GETHOSTBY{NAME,ADDR} -- compatibility routines for gethostbyXXX
- **
-@@ -4123,7 +4150,7 @@
-
- if (tTd(61, 10))
- printf("gethostbyname(%s)... ", name);
-- h = gethostbyname(name);
-+ h = sm_gethostbyname2(name);
- if (h == NULL)
- {
- if (tTd(61, 10))
-@@ -4147,7 +4174,7 @@
- {
- if (tTd(61, 10))
- printf("gethostbyname(%s)... ", hbuf);
-- h = gethostbyname(hbuf);
-+ h = sm_gethostbyname2(hbuf);
- }
- }
- }
-@@ -4301,7 +4328,12 @@
- hp = sm_gethostbyaddr((char *) &sa->sin.sin_addr,
- sizeof(sa->sin.sin_addr), sa->sa.sa_family);
- break;
--
-+#if INET6
-+ case AF_INET6:
-+ hp = sm_gethostbyaddr((char *) &sa->sin6.sin6_addr,
-+ sizeof(sa->sin6.sin6_addr), sa->sa.sa_family);
-+ break;
-+#endif
- default:
- #if _FFR_LOG_UNSUPPORTED_FAMILIES
- /* XXX: Give warning about unsupported family */
-@@ -4378,6 +4410,104 @@
- # include <net/if.h>
- #endif
-
-+#if defined(__linux__) && NETINET6
-+
-+/*
-+ * This is a terrible, linux-specific kludge. In linux-2.1.105 at least,
-+ * there is no way to get IPv6 addresses via SIOCGIFCONF. You can
-+ * set them, but not retrieve them. I haven't seen a standard way
-+ * to retrieve the list yet. If you use the /proc/net/if_inet6 file,
-+ * you can get a list of them in a format like this:
-+ *
-+ * 00000000000000000000000000000001 01 80 10 80 lo
-+ * fe800000000000000000006097df4915 02 0a 20 80 eth0
-+ * fe80000000000000026097fffedf4915 02 0a 20 80 eth0
-+ */
-+void
-+load_if_names6()
-+{
-+ static FILE *fp = NULL;
-+ char ip_addr[256];
-+ static int s = -1;
-+
-+ if (tTd(0, 40))
-+ printf( "linux load_if_names6() kludge...\n" );
-+
-+ if (s != -1)
-+ close(s);
-+ s = socket(AF_INET6, SOCK_DGRAM, 0);
-+ if (s == -1)
-+ return;
-+
-+ if (fp)
-+ (void) fclose( fp );
-+ fp = fopen( "/proc/net/if_inet6", "r" );
-+ if (fp)
-+ {
-+ SOCKADDR sa;
-+ struct in6_addr *in6 = &sa.sin6.sin6_addr;
-+ char devname[10];
-+ int plen, scope, dad_status, if_idx;
-+
-+ while( fscanf( fp,
-+ "%4x%4x%4x%4x%4x%4x%4x%4x %02x %02x %02x %02x %s\n",
-+ &in6->s6_addr16[0], &in6->s6_addr16[1],
-+ &in6->s6_addr16[2], &in6->s6_addr16[3],
-+ &in6->s6_addr16[4], &in6->s6_addr16[5],
-+ &in6->s6_addr16[6], &in6->s6_addr16[7],
-+ &if_idx, &plen, &scope, &dad_status, devname) != EOF)
-+ {
-+ struct hostent *hp;
-+ int i;
-+ struct ifreq ifrf;
-+
-+ for (i = 0; i < 8; i++)
-+ in6->s6_addr16[i] = ntohs( in6->s6_addr16[i] );
-+ sa.sa.sa_family = AF_INET6;
-+
-+ /* save IP address in text from */
-+ (void) snprintf(ip_addr, sizeof ip_addr, "[%.*s]",
-+ sizeof ip_addr - 3, anynet_ntoa( &sa ) );
-+
-+ if (tTd(0, 40))
-+ printf("%s\n\ta.k.a.: %s\n", devname, ip_addr );
-+
-+ if (!wordinclass(ip_addr, 'w'))
-+ setclass('w', ip_addr);
-+
-+ bzero(&ifrf, sizeof( ifrf ));
-+ strncpy(ifrf.ifr_name, devname, sizeof(ifrf.ifr_name));
-+ ioctl(s, SIOCGIFFLAGS, (char *) &ifrf);
-+ if (tTd(0, 41))
-+ printf("\tflags: %x\n", ifrf.ifr_flags);
-+
-+ /* skip "loopback" interface "lo" */
-+ if (bitset(IFF_LOOPBACK, ifrf.ifr_flags))
-+ continue;
-+
-+ /*
-+ * If we skip the loopback interfaces, then
-+ * <draft-ietf-ngtrans-6bone-routing-01.txt>
-+ * would tend to indicate that we should skip
-+ * the link-local prefix (FE80::/10) as well.
-+ */
-+ if ((ntohs(*(in6->s6_addr16)) & 0xFFC0) == 0xFE80)
-+ continue;
-+
-+ (void) add_hostnames( &sa );
-+ }
-+
-+ (void) fclose(fp);
-+ fp = NULL;
-+ }
-+
-+ close(s);
-+
-+ return;
-+}
-+
-+#endif
-+
- void
- load_if_names()
- {
-@@ -4386,7 +4516,9 @@
- int i;
- struct ifconf ifc;
- int numifs;
--
-+#if NETINET6
-+ load_if_names6();
-+#endif
- s = socket(AF_INET, SOCK_DGRAM, 0);
- if (s == -1)
- return;
-@@ -4768,6 +4900,9 @@
- #if NETINET
- "NETINET",
- #endif
-+#if NETINET6
-+ "NETINET6",
-+#endif
- #if NETINFO
- "NETINFO",
- #endif
-diff -Nur sendmail-8.9.3/src/conf.h sendmail-8.9.3.pld/src/conf.h
---- sendmail-8.9.3/src/conf.h Fri Jan 29 00:28:34 1999
-+++ sendmail-8.9.3.pld/src/conf.h Wed Feb 10 18:11:17 1999
-@@ -84,6 +84,10 @@
- # define NETINET 1 /* include internet support */
- # endif
-
-+# ifndef NETINET6
-+# define NETINET6 0 /* dont include IPv6 support */
-+# endif
-+
- # ifndef NETISO
- # define NETISO 0 /* do not include ISO socket support */
- # endif
-@@ -1307,6 +1311,14 @@
- # endif
- # include <sys/sysmacros.h>
- # undef atol /* wounded in <stdlib.h> */
-+# if NETINET6
-+# if !((__GLIBC__ == 2) && (__GLIBC_MINOR__ == 1)) /* Native in 2.2.x */
-+# include <linux/in6.h> /* IPv6 support */
-+# endif
-+# ifdef __GLIBC__
-+# undef IPPROTO_ICMPV6 /* linux #defines, glibc enums */
-+# endif
-+# endif
- #endif
-
-
-diff -Nur sendmail-8.9.3/src/daemon.c sendmail-8.9.3.pld/src/daemon.c
---- sendmail-8.9.3/src/daemon.c Tue Jan 26 05:00:16 1999
-+++ sendmail-8.9.3.pld/src/daemon.c Wed Feb 10 18:11:17 1999
-@@ -135,7 +135,17 @@
- DaemonAddr.sin.sin_addr.s_addr = INADDR_ANY;
- port = DaemonAddr.sin.sin_port;
- break;
--
-+#if NETINET6
-+ case AF_INET6:
-+ /*
-+ * We should look up and handle the INADDR_ANY situation
-+ * for IPv6, but since it is usually all-zeros and
-+ * that is what we're checking for, it doesn't have
-+ * a high priority.
-+ */
-+ port = DaemonAddr.sin6.sin6_port;
-+ break;
-+#endif
- default:
- /* unknown protocol */
- port = 0;
-@@ -160,7 +170,11 @@
- case AF_INET:
- DaemonAddr.sin.sin_port = port;
- break;
--
-+#if NETINET6
-+ case AF_INET6:
-+ DaemonAddr.sin6.sin6_port = port;
-+ break;
-+#endif
- default:
- /* unknown protocol */
- break;
-@@ -603,6 +617,12 @@
- break;
- # endif
-
-+# if NETINET6
-+ case AF_INET6:
-+ socksize = sizeof DaemonAddr.sin6;
-+ break;
-+# endif
-+
- # if NETISO
- case AF_ISO:
- socksize = sizeof DaemonAddr.siso;
-@@ -703,6 +723,10 @@
- else if (strcasecmp(v, "inet") == 0)
- DaemonAddr.sa.sa_family = AF_INET;
- #endif
-+#if NETINET6
-+ else if (strcasecmp(v, "inet6") == 0)
-+ DaemonAddr.sa.sa_family = AF_INET6;
-+#endif
- #if NETISO
- else if (strcasecmp(v, "iso") == 0)
- DaemonAddr.sa.sa_family = AF_ISO;
-@@ -739,6 +763,27 @@
- break;
- #endif
-
-+#if NETINET6
-+ case AF_INET6:
-+ if (isascii(*v) && isdigit(*v))
-+ (void) inet_pton(
-+ DaemonAddr.sa.sa_family, v,
-+ &DaemonAddr.sin6.sin6_addr);
-+ else
-+ {
-+ register struct hostent *hp;
-+
-+ hp = sm_gethostbyname(v);
-+ if (hp == NULL)
-+ syserr("554 host \"%s\" unknown", v);
-+ else
-+ bcopy(hp->h_addr,
-+ &DaemonAddr.sin6.sin6_addr,
-+ IN6ADDRSZ);
-+ }
-+ break;
-+#endif
-+
- default:
- syserr("554 Address= option unsupported for family %d",
- DaemonAddr.sa.sa_family);
-@@ -770,6 +815,22 @@
- break;
- #endif
-
-+#if NETINET6
-+ case AF_INET6:
-+ if (isascii(*v) && isdigit(*v))
-+ DaemonAddr.sin6.sin6_port = htons(atoi(v));
-+ else
-+ {
-+ register struct servent *sp;
-+
-+ sp = getservbyname(v, "tcp");
-+ if (sp == NULL)
-+ syserr("554 service \"%s\" unknown", v);
-+ else
-+ DaemonAddr.sin6.sin6_port = sp->s_port;
-+ }
-+ break;
-+#endif
- #if NETISO
- case AF_ISO:
- /* assume two byte transport selector */
-@@ -968,6 +1029,35 @@
- break;
- #endif
-
-+#if NETINET6
-+ case AF_INET6:
-+ {
-+ /*
-+ * IPv4-mapped IPv6 prefix -- ::ffff:0
-+ */
-+ static u_char mapbuf[ IN6ADDRSZ ] =
-+ { 0,0,0,0, 0,0,0,0, 0,0,0xFF,0xFF, 0,0,0,0 };
-+ u_char *a = (u_char *) hp->h_addr;
-+
-+ /*
-+ * Some platforms may try to connect to IPv4-mapped
-+ * IPv6 addresses via IPv6 connections, which
-+ * won't work in many cases. If we detect that,
-+ * avoid it by changing the address family.
-+ */
-+ if (bcmp( mapbuf, a, IN6ADDRSZ - INADDRSZ ))
-+ bcopy(a, &addr.sin6.sin6_addr, IN6ADDRSZ);
-+ else
-+ {
-+ bcopy(a + IN6ADDRSZ - INADDRSZ,
-+ &addr.sin.sin_addr,
-+ INADDRSZ);
-+ addr.sa.sa_family = AF_INET;
-+ }
-+ break;
-+ }
-+#endif
-+
- default:
- if (hp->h_length > sizeof addr.sa.sa_data)
- {
-@@ -1012,6 +1102,13 @@
- break;
- #endif
-
-+#if NETINET6
-+ case AF_INET6:
-+ addr.sin6.sin6_port = port;
-+ addrlen = sizeof (struct sockaddr_in6);
-+ break;
-+#endif
-+
- #if NETISO
- case AF_ISO:
- /* assume two byte transport selector */
-@@ -1157,6 +1254,14 @@
- break;
- #endif
-
-+#if NETINET6
-+ case AF_INET6:
-+ bcopy(hp->h_addr_list[addrno++],
-+ &addr.sin6.sin6_addr,
-+ IN6ADDRSZ);
-+ break;
-+#endif
-+
- default:
- bcopy(hp->h_addr_list[addrno++],
- addr.sa.sa_data,
-@@ -1295,6 +1400,34 @@
- if (hp->h_addrtype == AF_INET)
- return bcmp(ha, (char *) &sa->sin.sin_addr, hp->h_length);
- break;
-+#if NETINET6
-+ case AF_INET6:
-+ {
-+ u_char *a = (u_char *) &sa->sin6.sin6_addr;
-+ /*
-+ * Straight binary comparison
-+ */
-+ if (hp->h_addrtype == AF_INET6)
-+ return bcmp( ha, a, hp->h_length);
-+
-+ /*
-+ * If IPv4-mapped IPv6 address, compare the IPv4 section
-+ */
-+ if (hp->h_addrtype == AF_INET)
-+ {
-+ /*
-+ * IPv4-mapped IPv6 prefix -- ::ffff:0
-+ */
-+ static u_char mapbuf[ IN6ADDRSZ ] =
-+ { 0,0,0,0, 0,0,0,0, 0,0,0xFF,0xFF, 0,0,0,0 };
-+
-+ if (!bcmp( mapbuf, a, IN6ADDRSZ - INADDRSZ ))
-+ return bcmp(a + IN6ADDRSZ - INADDRSZ, ha, INADDRSZ);
-+ return -1;
-+ }
-+ break;
-+ }
-+#endif
-
- }
- return -1;
-@@ -2049,6 +2182,12 @@
- return inet_ntoa(sap->sin.sin_addr);
- #endif
-
-+#if NETINET6
-+ case AF_INET6:
-+ return (char *) inet_ntop( sap->sa.sa_family,
-+ &sap->sin6.sin6_addr, buf, sizeof( buf ));
-+#endif
-+
- #if NETLINK
- case AF_LINK:
- snprintf(buf, sizeof buf, "[LINK: %s]",
-@@ -2106,6 +2245,14 @@
- hp = sm_gethostbyaddr((char *) &sap->sin.sin_addr,
- INADDRSZ,
- AF_INET);
-+ break;
-+#endif
-+
-+#if NETINET6
-+ case AF_INET6:
-+ hp = sm_gethostbyaddr((char *) &sap->sin6.sin6_addr,
-+ IN6ADDRSZ,
-+ AF_INET6);
- break;
- #endif
-
-diff -Nur sendmail-8.9.3/src/main.c sendmail-8.9.3.pld/src/main.c
---- sendmail-8.9.3/src/main.c Sun Jan 10 00:31:13 1999
-+++ sendmail-8.9.3.pld/src/main.c Wed Feb 10 18:11:17 1999
-@@ -457,6 +457,9 @@
- # ifdef RES_NOALIASES
- _res.options |= RES_NOALIASES;
- # endif
-+# if NETINET6 && defined(RES_USE_INET6)
-+ _res.options |= RES_USE_INET6;
-+# endif
- #endif
-
- errno = 0;
-@@ -1513,10 +1516,20 @@
- define(macid("{client_name}", NULL), RealHostName, &BlankEnvelope);
- define(macid("{client_addr}", NULL),
- newstr(anynet_ntoa(&RealHostAddr)), &BlankEnvelope);
-- if (RealHostAddr.sa.sa_family == AF_INET)
-+ switch( RealHostAddr.sa.sa_family )
-+ {
-+ case AF_INET:
- snprintf(pbuf, sizeof pbuf, "%d", RealHostAddr.sin.sin_port);
-- else
-+ break;
-+#if NETINET6
-+ case AF_INET6:
-+ snprintf(pbuf, sizeof pbuf, "%d", RealHostAddr.sin6.sin6_port);
-+ break;
-+#endif
-+ default:
- snprintf(pbuf, sizeof pbuf, "0");
-+ break;
-+ }
- define(macid("{client_port}", NULL), newstr(pbuf), &BlankEnvelope);
-
- /* initialize maps now for check_relay ruleset */
-diff -Nur sendmail-8.9.3/src/sendmail.h sendmail-8.9.3.pld/src/sendmail.h
---- sendmail-8.9.3/src/sendmail.h Wed Jan 27 01:15:52 1999
-+++ sendmail-8.9.3.pld/src/sendmail.h Wed Feb 10 18:11:17 1999
-@@ -55,6 +55,10 @@
- # if NETINET
- # include <netinet/in.h>
- # endif
-+# if NETINET6
-+/* There is no host-independet location (yet). See conf.h */
-+# endif
-+
- # if NETISO
- # include <netiso/iso.h>
- # endif
-@@ -1035,6 +1039,9 @@
- #endif
- #if NETINET
- struct sockaddr_in sin; /* INET family */
-+#endif
-+#if NETINET6
-+ struct sockaddr_in6 sin6; /* INET/IPv6 */
- #endif
- #if NETISO
- struct sockaddr_iso siso; /* ISO family */
+++ /dev/null
-# /etc/mail/mailertable
-# Copyright (c) 1998, Richard Nelson <cowboy@debian.org>.
-# Time-stamp: <1998/10/27 10:00:00 cowboy>
-# GPL'd config file, please feed any gripes, suggestions, etc. to me
-#
-# Function:
-# Specify a mapping from old host name to new host name.
-# Commonly used to support old (or merged) domain names.
-# The host name in the lhs will be rewritten to that in the rhs
-#
-# Usage:
-# FEATURE(mailertable[, type [-o] /etc/mail/mailertable])dnl
-# makemap hash mailertable < mailertable
-#
-# Format:
-# Local recipients:
-# <address> local:user
-# <address> local: <<- will use same user
-# Error messages:
-# badhost error:nohost mail to %0 is prohibited
-# .baddomain error:nohost mail to %1%0 is prohibited
-#
-# Examples:
-# Local recipients:
-# <address> local:user
-# <address> local: <<- will use same user
-# Error messages:
-# badhost error:nohost mail to %0 is prohibited
-# .baddomain error:nohost mail to %1%0 is prohibited
-#
-# Notes:
-#
-# Related:
-#
-# Address rewrites for hosts *NOT IN* class $w
-# Direct delivery, %0 is left side
-# friend.dom smtp:[%0]:[some.smart.host]
-# Direct deliver of domain, smarthost as second choice
-# .friend.dom smtp:[%1%0]:[some.smart.host]
-# Default route, via smarthost
-# . smtp:[some.smart.host]
-#
-badhost error:nohost mail to %0 is prohibited
-.baddomain error:nohost mail to %1%0 is prohibited
-#
-# Sites we deliver directly to, bypassing SMARTHOST:
-#
-# Sites that use DUL: Dialup User Lists (or equivalent)
-#aol.com esmtp:[relay]
-#primenet.com esmtp:[relay]
+++ /dev/null
-diff -Nur sendmail-8.12.0.orig/cf/cf/Makefile sendmail-8.12.0/cf/cf/Makefile
---- sendmail-8.12.0.orig/cf/cf/Makefile Mon Aug 20 17:16:48 2001
-+++ sendmail-8.12.0/cf/cf/Makefile Wed Sep 26 01:33:48 2001
-@@ -76,10 +76,10 @@
- install-cf: install-sendmail-cf install-submit-cf
-
- install-sendmail-cf: $(CF).cf
-- $(INSTALL) -c -o $(CFOWN) -g $(CFGRP) -m $(CFMODE) $(CF).cf ${DESTDIR}$(MAILDIR)/sendmail.cf
-+ $(INSTALL) -c -m $(CFMODE) $(CF).cf ${DESTDIR}$(MAILDIR)/sendmail.cf
-
- install-submit-cf: $(SUBMIT).cf
-- $(INSTALL) -c -o $(CFOWN) -g $(CFGRP) -m $(CFMODE) $(SUBMIT).cf ${DESTDIR}$(MAILDIR)/submit.cf
-+ $(INSTALL) -c -m $(CFMODE) $(SUBMIT).cf ${DESTDIR}$(MAILDIR)/submit.cf
-
- depend:
-
-diff -Nur sendmail-8.12.0.orig/sendmail/Makefile.m4 sendmail-8.12.0/sendmail/Makefile.m4
---- sendmail-8.12.0.orig/sendmail/Makefile.m4 Sat Jun 16 18:54:49 2001
-+++ sendmail-8.12.0/sendmail/Makefile.m4 Wed Sep 26 01:35:09 2001
-@@ -11,7 +11,7 @@
-
- dnl hack: /etc/mail is not defined as "location of .cf" in the build system
- define(`bldTARGET_INST_DEP', ifdef(`confINST_DEP', `confINST_DEP',
--`/etc/mail/submit.cf ${MSPQ}'))dnl
-+`${DESTDIR}/etc/mail/submit.cf ${DESTDIR}${MSPQ}'))dnl
- define(`bldTARGET_LINKS', ifdef(`confLINKS', `confLINKS',
- `${DESTDIR}${UBINDIR}/newaliases ${DESTDIR}${UBINDIR}/mailq ${DESTDIR}${UBINDIR}/hoststat ${DESTDIR}${UBINDIR}/purgestat')
- )dnl
-@@ -36,14 +36,14 @@
- statistics:
- ${CP} /dev/null statistics
-
--/etc/mail/submit.cf:
-+${DESTDIR}/etc/mail/submit.cf:
- @echo "Please read INSTALL if anything fails while installing the binary."
- @echo "/etc/mail/submit.cf will be installed now."
- cd ${SRCDIR}/cf/cf && make install-submit-cf
-
- MSPQ=ifdef(`confMSP_QUEUE_DIR', `confMSP_QUEUE_DIR', `/var/spool/clientmqueue')
-
--${MSPQ}:
-+${DESTDIR}${MSPQ}:
- @echo "Please read INSTALL if anything fails while installing the binary."
- @echo "You must have setup a new user ${MSPQOWN} and a new group ${GBINGRP}"
- @echo "as explained in sendmail/SECURITY."
-@@ -61,7 +61,7 @@
- divert(bldTARGETS_SECTION)
-
- install-set-user-id: bldCURRENT_PRODUCT ifdef(`confNO_HELPFILE_INSTALL',, `install-hf') ifdef(`confNO_STATISTICS_INSTALL',, `install-st') ifdef(`confNO_MAN_BUILD',, `install-docs')
-- ${INSTALL} -c -o ${S`'BINOWN} -g ${S`'BINGRP} -m ${S`'BINMODE} bldCURRENT_PRODUCT ${DESTDIR}${M`'BINDIR}
-+ ${INSTALL} -c -m ${S`'BINMODE} bldCURRENT_PRODUCT ${DESTDIR}${M`'BINDIR}
- for i in ${sendmailTARGET_LINKS}; do \
- rm -f $$i; \
- ln -s ${M`'BINDIR}/sendmail $$i; \
-@@ -69,7 +69,7 @@
-
- define(`confMTA_LINKS', `${DESTDIR}${UBINDIR}/newaliases ${DESTDIR}${UBINDIR}/mailq ${DESTDIR}${UBINDIR}/hoststat ${DESTDIR}${UBINDIR}/purgestat')
- install-sm-mta: bldCURRENT_PRODUCT
-- ${INSTALL} -c -o ${M`'BINOWN} -g ${M`'BINGRP} -m ${M`'BINMODE} bldCURRENT_PRODUCT ${DESTDIR}${M`'BINDIR}/sm-mta
-+ ${INSTALL} -c -m ${M`'BINMODE} bldCURRENT_PRODUCT ${DESTDIR}${M`'BINDIR}/sm-mta
- for i in confMTA_LINKS; do \
- rm -f $$i; \
- ln -s ${M`'BINDIR}/sm-mta $$i; \
+++ /dev/null
-diff -Nur sendmail-8.9.1/src/pathnames.h sendmail-8.9.1.orig/src/pathnames.h
---- sendmail-8.9.1/src/pathnames.h Wed May 20 01:36:02 1998
-+++ sendmail-8.9.1.orig/src/pathnames.h Sat Sep 12 14:49:03 1998
-@@ -15,7 +15,7 @@
- # if defined(USE_VENDOR_CF_PATH) && defined(_PATH_VENDOR_CF)
- # define _PATH_SENDMAILCF _PATH_VENDOR_CF
- # else
--# define _PATH_SENDMAILCF "/etc/sendmail.cf"
-+# define _PATH_SENDMAILCF "/etc/mail/sendmail.cf"
- # endif
- #endif
-
+++ /dev/null
-Index: proto.m4
-===================================================================
-RCS file: /cvs/cf/m4/proto.m4,v
-retrieving revision 8.649.2.12
-retrieving revision 8.649.2.13
-diff -u -r8.649.2.12 -r8.649.2.13
---- cf/m4/proto.m4 3 Dec 2002 16:48:37 -0000 8.649.2.12
-+++ cf/m4/proto.m4 4 Dec 2002 00:12:18 -0000 8.649.2.13
-@@ -1761,6 +1761,9 @@
- dnl workspace: {client_name} $| {client_addr}
- R$+ $| $+ $: $>D < $1 > <?> <+ Connect> < $2 >
- dnl workspace: <result-of-lookup> <{client_addr}>
-+dnl OR $| $+ if client_name is empty
-+R $| $+ $: $>A < $1 > <?> <+ Connect> <> empty client_name
-+dnl workspace: <result-of-lookup> <{client_addr}>
- R<?> <$+> $: $>A < $1 > <?> <+ Connect> <> no: another lookup
- dnl workspace: <result-of-lookup> (<>|<{client_addr}>)
- R<?> <$*> $: OK found nothing
+++ /dev/null
---- sendmail-8.10.0/sendmail/daemon.c.redhat Thu Mar 2 01:58:02 2000
-+++ sendmail-8.10.0/sendmail/daemon.c Thu Mar 9 15:08:16 2000
-@@ -2499,7 +2499,7 @@
-
- /* get result */
- p = &ibuf[0];
-- nleft = sizeof ibuf - 1;
-+ nleft = sizeof(ibuf) - 1;
- while ((i = read(s, p, nleft)) > 0)
- {
- p += i;
---- sendmail-8.10.0/redhat.config.m4.redhat Thu Mar 9 15:08:16 2000
-+++ sendmail-8.10.0/redhat.config.m4 Thu Mar 9 15:08:16 2000
-@@ -0,0 +1,10 @@
-+define(`confMAPDEF', `-DNEWDB -DNIS -DMAP_REGEX -DLDAPMAP')
-+define(`confENVDEF', `$(RPM_OPT_FLAGS) -DXDEBUG=0 -DTCP_WRAPPERS -DSASL')
-+define(`confLIBS', `-lnsl -lwrap -lldap -llber -lsasl -lcrypt -lgdbm')
-+define(`confLDOPTS', `-s')
-+define(`confMANOWN', `root')
-+define(`confMANGRP', `root')
-+define(`confMANMODE', `644')
-+define(`confMAN1SRC', `1')
-+define(`confMAN5SRC', `5')
-+define(`confMAN8SRC', `8')
---- sendmail-8.10.0/devtools/OS/Linux.redhat Tue Jul 18 04:24:46 2000
-+++ sendmail-8.10.0/devtools/OS/Linux Mon Jul 24 14:44:15 2000
-@@ -3,12 +3,16 @@
- define(`confMANROOT', `/usr/man/man')
- define(`confLIBS', `-ldl')
- define(`confEBINDIR', `/usr/sbin')
-+define(`confSTDIR', `/var/log')
- APPENDDEF(`confLIBSEARCH', `crypt nsl')
-
- define(`confLD', `ld')
- define(`confMTLDOPTS', `-lpthread')
- define(`confLDOPTS_SO', `-shared')
- define(`confSONAME',`-soname')
-+define('confSBINGRP', 'mail')
-+define('confSBINMODE', '6755')
-+
-
-
- ifelse(confBLDVARIANT, `DEBUG',
+++ /dev/null
-diff -Nur sendmail-8.9.3/src/version.c sendmail-8.9.3.pld/src/version.c
---- sendmail-8.9.3/src/version.c Fri Feb 5 01:38:46 1999
-+++ sendmail-8.9.3.pld/src/version.c Fri May 28 19:47:25 1999
-@@ -14,4 +14,4 @@
- static char sccsid[] = "@(#)version.c 8.9.3.1 (Berkeley) 2/4/1999";
- #endif /* not lint */
-
--char Version[] = "8.9.3";
-+char Version[] = "PLD";
+++ /dev/null
-diff -Nur sendmail-8.9.3/smrsh/Makefile.m4 sendmail-8.9.3.pld/smrsh/Makefile.m4
---- sendmail-8.9.3/smrsh/Makefile.m4 Tue Dec 29 18:42:52 1998
-+++ sendmail-8.9.3.pld/smrsh/Makefile.m4 Thu May 27 19:42:08 1999
-@@ -31,8 +31,8 @@
- # libraries required on your system
- LIBS= ifdef(`confLIBS', `confLIBS')
-
--# location of smrsh binary (usually /usr/libexec or /usr/etc)
--EBINDIR=${DESTDIR}ifdef(`confEBINDIR', `confEBINDIR', `/usr/libexec')
-+# location of smrsh binary (usually /usr/sbin or /usr/etc)
-+EBINDIR=${DESTDIR}ifdef(`confEBINDIR', `confEBINDIR', `/usr/sbin')
-
- # additional .o files needed
- OBJADD= ifdef(`confOBJADD', `confOBJADD')
---- sendmail-8.7.5/smrsh/README.marc Thu Aug 1 11:52:37 1996
-+++ sendmail-8.7.5/smrsh/README Thu Aug 1 11:54:51 1996
-@@ -11,7 +11,7 @@
- intended as a supplement to the CERT advisory CA-93:16.sendmail.vulnerability,
- and to the software, smrsh.c, written by Eric Allman.
-
--
-+* Modified by Red Hat Software to reflect different paths. *
-
- The smrsh(8) program is intended as a replacement for /bin/sh in the
- program mailer definition of sendmail(8). This README file describes
-@@ -41,12 +41,12 @@
-
-
- Choose a directory that smrsh will reside in. We will use the traditional
--/usr/local/etc directory for the remainder of this document.
-+/usr/sbin directory for the remainder of this document.
-
--As root, install smrsh in /usr/local/etc directory, with mode 511.
-+As root, install smrsh in /usr/sbin directory, with mode 511.
-
--host.domain# mv smrsh /usr/local/etc
--host.domain# chmod 511 /usr/local/etc/smrsh
-+host.domain# mv smrsh /usr/sbin
-+host.domain# chmod 511 /usr/sbin/smrsh
-
-
-
-@@ -68,7 +68,7 @@
- acceptable commands.
-
-
--You will next need to create the directory /usr/adm/sm.bin and populate
-+You will next need to create the directory /etc/smrsh and populate
- it with the programs that your site feels are allowable for sendmail
- to execute. This directory is explicitly specified in the source
- code for smrsh, so changing this directory must be accompanied with
-@@ -77,22 +77,22 @@
-
- You will have to be root to make these modifications.
-
--After creating the /usr/adm/sm.bin directory, either copy the programs
-+After creating the /etc/smrsh directory, either copy the programs
- to the directory, or establish links to the allowable programs from
--/usr/adm/sm.bin. Change the file permissions, so that these programs
-+/etc/smrsh. Change the file permissions, so that these programs
- can not be modified by non-root users. If you use links, you should
- ensure that the target programs are not modifiable.
-
- To allow the popular vacation(1) program by creating a link in the
--/usr/adm/sm.bin directory, you should:
-+/etc/smrsh directory, you should:
-
--host.domain# cd /usr/adm/sm.bin
-+host.domain# cd /etc/smrsh
- host.domain# ln -s /usr/ucb/vacation vacation
-
-
-
-
--After populating the /usr/adm/sm.bin directory, you can now configure
-+After populating the /etc/smrsh directory, you can now configure
- sendmail to use the restricted shell. Save the current sendmail.cf
- file prior to modifying it, as a prudent precaution.
-
-@@ -107,7 +107,7 @@
-
- In order to configure sendmail to use smrsh, you must modify the Mprog
- definition in the sendmail.cf file, by replacing the /bin/sh specification
--with /usr/local/etc/smrsh.
-+with /usr/sbin/smrsh.
-
- As an example:
-
-@@ -115,14 +115,14 @@
- Mprog, P=/bin/sh, F=lsDFMeuP, S=10, R=20, A=sh -c $u
-
- which should be changed to:
--Mprog, P=/usr/local/etc/smrsh, F=lsDFMeuP, S=10, R=20, A=sh -c $u
-- ^^^^^^^^^^^^^^^^^^^^
-+Mprog, P=/usr/sbin/smrsh, F=lsDFMeuP, S=10, R=20, A=sh -c $u
-+ ^^^^^^^^^^^^^^^
-
- A more generic line may be:
- Mprog, P=/bin/sh, F=lsDFM, A=sh -c $u
-
- and should be changed to;
--Mprog, P=/usr/local/etc/smrsh, F=lsDFM, A=sh -c $u
-+Mprog, P=/usr/sbin/smrsh, F=lsDFM, A=sh -c $u
-
-
- After modifying the Mprog definition in the sendmail.cf file, if a frozen
-@@ -133,12 +133,12 @@
- a search of the strings(1) output of the sendmail binary.
-
- In order to create a new frozen configuration, if it is required:
--host.domain# /usr/lib/sendmail -bz
-+host.domain# /usr/sbin/sendmail -bz
-
- Now re-start the sendmail process. An example of how to do this on
- a typical system follows:
-
- host.domain# /usr/bin/ps aux | /usr/bin/grep sendmail
--root 130 0.0 0.0 168 0 ? IW Oct 2 0:10 /usr/lib/sendmail -bd -q
-+root 130 0.0 0.0 168 0 ? IW Oct 2 0:10 /usr/sbin/sendmail -bd -q
- host.domain# /bin/kill -9 130
--host.domain# /usr/lib/sendmail -bd -q30m
-+host.domain# /usr/sbin/sendmail -bd -q30m
---- sendmail-8.7.5/smrsh/smrsh.8.marc Sun Nov 13 13:25:16 1994
-+++ sendmail-8.7.5/smrsh/smrsh.8 Thu Aug 1 11:48:07 1996
-@@ -59,7 +59,7 @@
- Briefly,
- .I smrsh
- limits programs to be in the directory
--/usr/adm/sm.bin,
-+/etc/smrsh,
- allowing the system administrator to choose the set of acceptable commands.
- It also rejects any commands with the characters
- `\`', `<', `>', `|', `;', `&', `$', `(', `)', `\r' (carriage return),
-@@ -73,10 +73,10 @@
- and
- ``vacation''
- all actually forward to
--``/usr/adm/sm.bin/vacation''.
-+``/etc/smrsh/vacation''.
- .PP
- System administrators should be conservative about populating
--/usr/adm/sm.bin.
-+/etc/smrsh
- Reasonable additions are
- .IR vacation (1),
- .IR procmail (1),
-@@ -86,20 +86,12 @@
- (such as
- .IR perl (1))
- in the
--sm.bin
-+/etc/smrsh
- directory.
- Note that this does not restrict the use of shell or perl scripts
--in the sm.bin directory (using the ``#!'' syntax);
-+in the /etc/smrsh directory (using the ``#!'' syntax);
- it simply disallows execution of arbitrary programs.
--.SH COMPILATION
--Compilation should be trivial on most systems.
--You may need to use \-DPATH=\e"\fIpath\fP\e"
--to adjust the default search path
--(defaults to ``/bin:/usr/bin:/usr/ucb'')
--and/or \-DCMDBIN=\e"\fIdir\fP\e"
--to change the default program directory
--(defaults to ``/usr/adm/sm.bin'').
- .SH FILES
--/usr/adm/sm.bin \- directory for restricted programs
-+/etc/smrsh \- directory for restricted programs
- .SH SEE ALSO
- sendmail(8)
---- sendmail-8.9.3/smrsh/smrsh.c~ Tue Dec 29 12:42:52 1998
-+++ sendmail-8.9.3/smrsh/smrsh.c Mon Apr 5 11:25:36 1999
-@@ -58,7 +58,7 @@
-
- /* directory in which all commands must reside */
- #ifndef CMDDIR
--# define CMDDIR "/usr/adm/sm.bin"
-+# define CMDDIR "/etc/smrsh"
- #endif
-
- /* characters disallowed in the shell "-c" argument */
-@@ -66,7 +66,7 @@
-
- /* default search path */
- #ifndef PATH
--# define PATH "/bin:/usr/bin:/usr/ucb"
-+# define PATH "/bin:/usr/bin"
- #endif
-
- int
+++ /dev/null
-# Address rewrites for incomming mail
-# user@realdomain (must be in $w) localuser (may be an alias)
-# info@foo.com foo-info
-# info@bar.com bar-info
-# @baz.org jane@elsewhere.net
-# @foo.org %1@elsewhere.com
-# @bar.org error:nouser User unknown
-#
# Conditional build:
# _without_ldap without LDAP support
# _without_tls without TLS (SSL) support
-# _with_db3 use db3 instead of db package
-# _with_pgsql without pgsql support (bluelabs)
+# _with_pgsql with PostgreSQL support (bluelabs)
#
Summary: A widely used Mail Transport Agent (MTA)
Summary(de): sendmail-Mail-Übertragungsagent
Summary(es): Sendmail - agente de transporte de mail
Summary(fr): Agent de transport de courrier sendmail
+Summary(ko): SMTP_AUTH¿Í TLS¸¦ Áö¿øÇÏ´Â Mail Àü¼Û ÇÁ·Î±×·¥(MTA)
Summary(pl): Sendmail - serwer poczty elektronicznej
Summary(pt_BR): Sendmail - agente de transporte de mail
Summary(ru): ðÏÞÔÏ×ÙÊ ÔÒÁÎÓÐÏÒÔÎÙÊ ÁÇÅÎÔ sendmail
Summary(tr): Elektronik posta hizmetleri sunucusu
Summary(uk): ðÏÛÔÏ×ÉÊ ÔÒÁÎÓÐÏÒÔÎÉÊ ÁÇÅÎÔ sendmail
Name: sendmail
-Version: 8.12.7
-Release: 2
+Version: 8.12.9
+Release: 1
License: BSD
Group: Networking/Daemons
Source0: ftp://ftp.sendmail.org/pub/sendmail/%{name}.%{version}.tar.gz
Patch6: %{name}-hprescan-dos.patch
Patch7: http://blue-labs.org/clue/bluelabs.patch-8.12.3
BuildRequires: cyrus-sasl-devel
-%{?_with_db3:BuildRequires: db3-devel}
-%{!?_with_db3:BuildRequires: db-devel >= 4.1.25}
+BuildRequires: db3-devel
%{!?_without_ldap:BuildRequires: openldap-devel}
-%{!?_without_tls:BuildRequires: openssl-devel}
-%{?_with_pgsql:BuildRequires: postgresql-devel}
+%{!?_without_tls:BuildRequires: openssl-devel >= 0.9.6i}
+%{?_with_pgsql:BuildRequires: postgresql-devel}
Requires(pre): /bin/id
Requires(pre): /usr/bin/getgid
Requires(pre): /usr/sbin/groupadd
Requires(post,preun):/sbin/chkconfig
Requires(postun): /usr/sbin/groupdel
Requires(postun): /usr/sbin/userdel
-%{!?_with_db3:Requires: db >= 4.1.25}
Requires: m4
Requires: procmail
Provides: smtpdaemon
l'\"aliasing\" et le \"forwarding\", un routage automatique sur les
passerelles du réseau, et une configuration flexible.
+%description -l ko
+SendamilÀº ¸Å¿ì ³Î¸® »ç¿ëµÇ´Â Mail Àü¼Û ÇÁ·Î±×·¥ÀÌ´Ù(MTA). Mail Àü¼Û
+ÇÁ·Î±×·¥µé(MTA)Àº ¾î¶°ÇÑ machine¿¡¼ ´Ù¸¥ machineÀ¸·Î ¸ÞÀÏÀ» º¸³»¸ç
+SendmailÀº e-mailÀ» ÀбâÀ§ÇØ »ç¿ëÇÏ´Â client programÀº ¾Æ´Ï´Ù.
+SendamilÀº ¿øÇÏ´Â °÷À¸·Î InternetÀ̳ª Network¸¦ ÅëÇØ e-mailÀ» º¸³»´Â
+¿ªÇÒÀ» ÇÏ´Â backgrond¿¡¼ ÀÛ¾÷À» ÇÏ´Â ÇÁ·Î±×·¥ÀÌ´Ù.
+
%description -l pl
Sendmail jest programem umo¿liwiaj±cym wymianê poczty elektronicznej
miêdzy komputerami w sieci (MTA). Zajmuje siê przekazywaniem poczty
%build
echo "define(\`confCC', \`%{__cc}')" >> config.m4
echo "define(\`confOPTIMIZE', \`%{rpmcflags} -DUSE_VENDOR_CF_PATH=1 -DNETINET6')" >> config.m4
-echo "APPENDDEF(\`confINCDIRS', \`-I/usr/include/sasl')" >> config.m4
echo "define(\`confLIBSEARCH', \`db')" >> config.m4
%if %{?debug:0}%{!?debug:1}
echo "define(\`confLDOPTS', \`-s')" >> config.m4
fi
%post
+umask 022
#
# Convert old format to new
#
+++ /dev/null
-# @(#)Linux 8.4 (Berkeley) 3/22/98
-define(`confSBINOWN',`id')
-define(`confSBINGRP',`gid')
-define(`confUBINOWN',`id')
-define(`confUBINGRP',`gid')
-define(`confMANOWN', `id')
-define(`confMANGRP',`gid')
-define(`confCC',`gcc')
-define(`confMAPDEF',`-DMAP_REGEX -DNIS -DNETINET6')
-define(`confSTDIR', `/var/run')
-define(`confHFDIR',`/etc/mail')
-define(`confDEPEND_TYPE', `CC-M')
-define(`confMANROOT', `/usr/share/man/man')
-define(`confOPTIMIZE', `opt')
-define(`confLDOPTS',`-s')
-APPENDDEF(`confLIBS', `-lresolv -lnsl')
-APPENDDEF(`confENVDEF', `-D_FFR_MAX_MIME_HEADER_LENGTH=1')
\ No newline at end of file
+++ /dev/null
-
-# Very much like site.Linux.m4, but:
-# Uses $(RPM_OPT_FLAGS) for OPTIMIZE
-# Uses the default cc
-# SBINGRP already defaults to mail
-# Adds -lnsl to LIBS for NIS support
-
-define(`confMAPDEF', `-DMAP_REGEX -DNIS')
-APPENDDEF(`confLIBS', `-lnsl')
-define(`confSTDIR', `/var/run')
-define(`confHFDIR',`/etc/mail')
-define(`confDEPEND_TYPE', `CC-M')
-define(`confMANROOT', `/usr/share/man/man')
-define(`confOPTIMIZE', `$(RPM_OPT_FLAGS)')
-define(`confLDOPTS', `-s')
-
+++ /dev/null
-diff -urN sendmail-8.12.6.orig/smrsh/smrsh.c sendmail-8.12.6/smrsh/smrsh.c
---- sendmail-8.12.6.orig/smrsh/smrsh.c Mon Oct 14 17:29:31 2002
-+++ sendmail-8.12.6/smrsh/smrsh.c Mon Oct 14 17:50:32 2002
-@@ -57,6 +57,8 @@
- #include <sm/limits.h>
- #include <sm/string.h>
- #include <sys/file.h>
-+#include <sys/types.h>
-+#include <sys/stat.h>
- #include <string.h>
- #include <ctype.h>
- #include <errno.h>
-@@ -145,6 +147,7 @@
- char *newenv[2];
- char pathbuf[1000];
- char specialbuf[32];
-+ struct stat st;
-
- #ifndef DEBUG
- # ifndef LOG_MAIL
-@@ -302,6 +305,38 @@
- (void) sm_io_fprintf(smioout, SM_TIME_DEFAULT,
- "Trying %s\n", cmdbuf);
- #endif /* DEBUG */
-+ if (stat(cmdbuf, &st) < 0)
-+ {
-+ /* can't stat it */
-+ (void) sm_io_fprintf(smioerr, SM_TIME_DEFAULT,
-+ "%s: %s not available for sendmail programs (stat failed)\n",
-+ prg, cmd);
-+ if (p != NULL)
-+ *p = ' ';
-+#ifndef DEBUG
-+ syslog(LOG_CRIT, "uid %d: attempt to use %s (stat failed)",
-+ (int) getuid(), cmd);
-+#endif /* ! DEBUG */
-+ exit(EX_UNAVAILABLE);
-+ }
-+ if (!S_ISREG(st.st_mode)
-+#ifdef S_ISLNK
-+ && !S_ISLNK(st.st_mode)
-+#endif /* S_ISLNK */
-+ )
-+ {
-+ /* can't stat it */
-+ (void) sm_io_fprintf(smioerr, SM_TIME_DEFAULT,
-+ "%s: %s not available for sendmail programs (not a file)\n",
-+ prg, cmd);
-+ if (p != NULL)
-+ *p = ' ';
-+#ifndef DEBUG
-+ syslog(LOG_CRIT, "uid %d: attempt to use %s (not a file)",
-+ (int) getuid(), cmd);
-+#endif /* ! DEBUG */
-+ exit(EX_UNAVAILABLE);
-+ }
- if (access(cmdbuf, X_OK) < 0)
- {
- /* oops.... crack attack possiblity */