From 997411ad57b403f0c5b08155c1f0cdc8da7f1950 Mon Sep 17 00:00:00 2001 From: Jaroslav Škarvada Date: Mar 28 2010 23:05:39 +0000 Subject: - fixed libresolv implicit DSO linking (#564647) - fixed initscript LSB compliance (#561040) --- diff --git a/.cvsignore b/.cvsignore index 8583ba8..7580918 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1,12 +1 @@ -sendmail.8.13.1.tar.gz -sendmail.8.13.2.tar.gz -sendmail.8.13.3.tar.gz -sendmail.8.13.4.tar.gz -sendmail.8.13.5.tar.gz -sendmail.8.13.6.tar.gz -sendmail.8.13.7.tar.gz -sendmail.8.13.8.tar.gz -sendmail.8.14.0.tar.gz -sendmail.8.14.1.tar.gz -sendmail.8.14.2.tar.gz -sendmail.8.14.3.tar.gz +sendmail.8.14.4.tar.gz diff --git a/Sendmail-sasl1.conf b/Sendmail-sasl1.conf deleted file mode 100644 index 44af343..0000000 --- a/Sendmail-sasl1.conf +++ /dev/null @@ -1 +0,0 @@ -pwcheck_method:pam diff --git a/sendmail-8.13.7-aliases_dir.patch b/sendmail-8.13.7-aliases_dir.patch deleted file mode 100644 index cc5dad3..0000000 --- a/sendmail-8.13.7-aliases_dir.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- sendmail-8.13.7/sendmail/aliases.5.aliases_dir 2006-07-14 15:41:59.000000000 +0200 -+++ sendmail-8.13.7/sendmail/aliases.5 2006-07-14 15:42:38.000000000 +0200 -@@ -23,7 +23,7 @@ - aliases used by - sendmail. - The file resides in --/etc/mail -+/etc - and - is formatted as a series of lines of the form - .IP -@@ -96,7 +96,7 @@ - .PP - This is only the raw data file; the actual aliasing information is - placed into a binary format in the file --/etc/mail/aliases.db -+/etc/aliases.db - using the program - newaliases(1). - A diff --git a/sendmail-8.14.0-dynamic.patch b/sendmail-8.14.0-dynamic.patch deleted file mode 100644 index bf7e668..0000000 --- a/sendmail-8.14.0-dynamic.patch +++ /dev/null @@ -1,46 +0,0 @@ ---- sendmail-8.14.0/devtools/OS/Linux.dynamic 2007-02-06 17:05:00.000000000 +0100 -+++ sendmail-8.14.0/devtools/OS/Linux 2007-02-06 17:05:00.000000000 +0100 -@@ -6,7 +6,7 @@ - define(`confDEPEND_TYPE', `CC-M') - define(`confSM_OS_HEADER', `sm_os_linux') - define(`confMANROOT', `/usr/share/man/man') --define(`confLIBS', `-ldl') -+define(`confLIBS', `-pie -ldl') - define(`confEBINDIR', `/usr/sbin') - APPENDDEF(`confLIBSEARCH', `crypt nsl') - -@@ -21,19 +21,19 @@ - ifelse(confBLDVARIANT, `DEBUG', - dnl Debug build - ` -- define(`confOPTIMIZE',`-g -Wall') -+ define(`confOPTIMIZE',`-g -Wall -fpie') - ', - dnl Optimized build - confBLDVARIANT, `OPTIMIZED', - ` -- define(`confOPTIMIZE',`-O2') -+ define(`confOPTIMIZE',`-O2 -fpie') - ', - dnl Purify build - confBLDVARIANT, `PURIFY', - ` -- define(`confOPTIMIZE',`-g') -+ define(`confOPTIMIZE',`-g -fpie') - ', - dnl default - ` -- define(`confOPTIMIZE',`-O2') -+ define(`confOPTIMIZE',`-O2 -fpie') - ') ---- sendmail-8.14.0/libsm/Makefile.m4.dynamic 2006-08-16 23:06:31.000000000 +0200 -+++ sendmail-8.14.0/libsm/Makefile.m4 2007-02-06 17:06:06.000000000 +0100 -@@ -6,7 +6,7 @@ - define(`confREQUIRE_SM_OS_H', `true') - PREPENDDEF(`confENVDEF', `confMAPDEF') - bldPRODUCT_START(`library', `libsm') --define(`bldSOURCES', ` assert.c debug.c errstring.c exc.c heap.c match.c rpool.c strdup.c strerror.c strl.c clrerr.c fclose.c feof.c ferror.c fflush.c fget.c fpos.c findfp.c flags.c fopen.c fprintf.c fpurge.c fput.c fread.c fscanf.c fseek.c fvwrite.c fwalk.c fwrite.c get.c makebuf.c put.c refill.c rewind.c setvbuf.c smstdio.c snprintf.c sscanf.c stdio.c strio.c ungetc.c vasprintf.c vfprintf.c vfscanf.c vprintf.c vsnprintf.c wbuf.c wsetup.c string.c stringf.c xtrap.c strto.c test.c path.c strcasecmp.c strrevcmp.c signal.c clock.c config.c shm.c sem.c mbdb.c strexit.c cf.c ldap.c niprop.c mpeix.c memstat.c util.c ') -+define(`bldSOURCES', ` assert.c debug.c errstring.c exc.c heap.c match.c rpool.c strdup.c strl.c clrerr.c fclose.c feof.c ferror.c fflush.c fget.c fpos.c findfp.c flags.c fopen.c fprintf.c fpurge.c fput.c fread.c fscanf.c fseek.c fvwrite.c fwalk.c fwrite.c get.c makebuf.c put.c refill.c rewind.c setvbuf.c smstdio.c snprintf.c sscanf.c stdio.c strio.c ungetc.c vasprintf.c vfprintf.c vfscanf.c vprintf.c vsnprintf.c wbuf.c wsetup.c string.c stringf.c xtrap.c strto.c test.c path.c strcasecmp.c strrevcmp.c signal.c clock.c config.c shm.c sem.c mbdb.c strexit.c cf.c ldap.c niprop.c mpeix.c memstat.c util.c ') - bldPRODUCT_END - dnl msg.c - dnl syslogio.c diff --git a/sendmail-8.14.3-ipv6-bad-helo.patch b/sendmail-8.14.3-ipv6-bad-helo.patch new file mode 100644 index 0000000..1e8b493 --- /dev/null +++ b/sendmail-8.14.3-ipv6-bad-helo.patch @@ -0,0 +1,8 @@ +--- sendmail-8.14.3/cf/feature/block_bad_helo.m4 2006-06-16 00:49:30.000000000 +0200 ++++ sendmail-8.14.3/cf/feature/block_bad_helo.m4.ipv6-bad-helo 2010-01-03 23:28:25.000000000 +0100 +@@ -16,3 +16,5 @@ + define(`_BLOCK_BAD_HELO_', `')dnl + RELAY_DOMAIN(`127.0.0.1')dnl + LOCAL_DOMAIN(`[127.0.0.1]')dnl ++RELAY_DOMAIN(`IPv6:::1')dnl ++LOCAL_DOMAIN(`[IPv6:::1]')dnl diff --git a/sendmail-8.14.3-makemapman.patch b/sendmail-8.14.3-makemapman.patch deleted file mode 100644 index b3cfa91..0000000 --- a/sendmail-8.14.3-makemapman.patch +++ /dev/null @@ -1,60 +0,0 @@ -diff -up sendmail-8.14.3/cf/cf/Build.makemapman sendmail-8.14.3/cf/cf/Build ---- sendmail-8.14.3/cf/cf/Build.makemapman 1999-03-02 03:37:12.000000000 +0100 -+++ sendmail-8.14.3/cf/cf/Build 2008-12-02 18:04:37.000000000 +0100 -@@ -18,7 +18,7 @@ - SMROOT=${SMROOT-../..} - BUILDTOOLS=${BUILDTOOLS-$SMROOT/devtools} - --M4=`sh $BUILDTOOLS/bin/find_m4.sh` -+M4=/usr/bin/m4 - ret=$? - if [ $ret -ne 0 ] - then -diff -up sendmail-8.14.3/devtools/OS/Linux.makemapman sendmail-8.14.3/devtools/OS/Linux ---- sendmail-8.14.3/devtools/OS/Linux.makemapman 2002-03-22 00:59:25.000000000 +0100 -+++ sendmail-8.14.3/devtools/OS/Linux 2008-12-02 18:06:18.000000000 +0100 -@@ -5,7 +5,7 @@ dnl Place personal settings in devtools/ - - define(`confDEPEND_TYPE', `CC-M') - define(`confSM_OS_HEADER', `sm_os_linux') --define(`confMANROOT', `/usr/man/man') -+define(`confMANROOT', `/usr/share/man/man') - define(`confLIBS', `-ldl') - define(`confEBINDIR', `/usr/sbin') - APPENDDEF(`confLIBSEARCH', `crypt nsl') -@@ -15,6 +15,8 @@ define(`confMTCCOPTS', `-D_REENTRANT') - define(`confMTLDOPTS', `-lpthread') - define(`confLDOPTS_SO', `-shared') - define(`confSONAME',`-soname') -+define('confSBINGRP', 'mail') -+define('confSBINMODE', '6755') - - ifelse(confBLDVARIANT, `DEBUG', - dnl Debug build -diff -up sendmail-8.14.3/makemap/makemap.8.makemapman sendmail-8.14.3/makemap/makemap.8 ---- sendmail-8.14.3/makemap/makemap.8.makemapman 2008-05-03 01:07:48.000000000 +0200 -+++ sendmail-8.14.3/makemap/makemap.8 2008-12-02 18:04:37.000000000 +0100 -@@ -52,12 +52,6 @@ selected using the - 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 -diff -up sendmail-8.14.3/rmail/rmail.c.makemapman sendmail-8.14.3/rmail/rmail.c ---- sendmail-8.14.3/rmail/rmail.c.makemapman 2001-09-18 23:45:29.000000000 +0200 -+++ sendmail-8.14.3/rmail/rmail.c 2008-12-02 18:04:37.000000000 +0100 -@@ -276,7 +276,6 @@ main(argc, argv) - args[i++] = _PATH_SENDMAIL; /* Build sendmail's argument list. */ - args[i++] = "-G"; /* relay submission */ - 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 */ diff --git a/sendmail-8.14.3-milterfdleaks.patch b/sendmail-8.14.3-milterfdleaks.patch new file mode 100644 index 0000000..7154394 --- /dev/null +++ b/sendmail-8.14.3-milterfdleaks.patch @@ -0,0 +1,75 @@ +Patches by Paul Howarth +https://bugzilla.redhat.com/show_bug.cgi?id=485426 + +--- sendmail-8.14.3/sendmail/milter.c 2008-09-19 15:51:03.000000000 +0100 ++++ sendmail-8.14.3/sendmail/milter.c 2008-09-19 16:37:57.000000000 +0100 +@@ -30,6 +30,9 @@ + + # include + ++# include ++# include ++ + static void milter_connect_timeout __P((int)); + static void milter_error __P((struct milter *, ENVELOPE *)); + static int milter_open __P((struct milter *, bool, ENVELOPE *)); +@@ -650,6 +653,7 @@ + SOCKADDR_LEN_T addrlen = 0; + int addrno = 0; + int save_errno; ++ int fdflags; + char *p; + char *colon; + char *at; +@@ -1186,6 +1190,21 @@ + (char *)&nodelay, sizeof(nodelay)); + } + # endif /* MILTER_NO_NAGLE && !defined(TCP_CORK) */ ++ ++ /* ++ ** Need to set close-on-exec for sock to prevent it ++ ** leaking to the local delivery process ++ */ ++ if ((fdflags = fcntl(sock, F_GETFD, 0)) == -1 || ++ fcntl(sock, F_SETFD, fdflags | FD_CLOEXEC) == -1) ++ { ++ save_errno = errno; ++ if (MilterLogLevel > 0) ++ sm_syslog(LOG_WARNING, e->e_id, ++ "Milter (%s): Unable to set close-on-exec on sock (%s)", ++ m->mf_name, sm_errstring(save_errno = errno)); ++ } ++ + return sock; + } + +--- sendmail-8.14.3/libmilter/listener.c 2007-04-23 23:22:50.000000000 +0100 ++++ sendmail-8.14.3/libmilter/listener.c 2008-06-18 16:36:38.000000000 +0100 +@@ -728,6 +728,7 @@ + int acnt = 0; /* error count for accept() failures */ + int scnt = 0; /* error count for select() failures */ + int save_errno = 0; ++ int fdflags; + #if !_FFR_WORKERS_POOL + sthread_t thread_id; + #endif /* !_FFR_WORKERS_POOL */ +@@ -807,6 +808,19 @@ + (void) smutex_unlock(&L_Mutex); + + /* ++ ** Need to set close-on-exec for connfd in case a user's ++ ** filter starts other applications ++ */ ++ if ((fdflags = fcntl(connfd, F_GETFD, 0)) == -1 || ++ fcntl(connfd, F_SETFD, fdflags | FD_CLOEXEC) == -1) ++ { ++ smi_log(SMI_LOG_WARN, ++ "%s: Unable to set close-on-exec on connfd (%s)", ++ smfi->xxfi_name, sm_errstring(errno)); ++ /* XXX: continue? */ ++ } ++ ++ /* + ** If remote side closes before accept() finishes, + ** sockaddr might not be fully filled in. + */ diff --git a/sendmail-8.14.3-movefiles.patch b/sendmail-8.14.3-movefiles.patch deleted file mode 100644 index dbd41be..0000000 --- a/sendmail-8.14.3-movefiles.patch +++ /dev/null @@ -1,82 +0,0 @@ -diff -up sendmail-8.14.3/cf/m4/cfhead.m4.movefiles sendmail-8.14.3/cf/m4/cfhead.m4 ---- sendmail-8.14.3/cf/m4/cfhead.m4.movefiles 2004-01-28 23:02:22.000000000 +0100 -+++ sendmail-8.14.3/cf/m4/cfhead.m4 2008-12-02 18:07:06.000000000 +0100 -@@ -259,7 +259,7 @@ ifdef(`MAIL_SETTINGS_DIR', , `define(`MA - define(`DATABASE_MAP_TYPE', `hash') - - # set up default values for options --define(`ALIAS_FILE', `MAIL_SETTINGS_DIR`'aliases') -+define(`ALIAS_FILE', `/etc/aliases') - define(`confMAILER_NAME', ``MAILER-DAEMON'') - define(`confFROM_LINE', `From $g $d') - define(`confOPERATORS', `.:%@!^/[]+') -diff -up sendmail-8.14.3/sendmail/newaliases.0.movefiles sendmail-8.14.3/sendmail/newaliases.0 ---- sendmail-8.14.3/sendmail/newaliases.0.movefiles 2008-05-03 05:38:22.000000000 +0200 -+++ sendmail-8.14.3/sendmail/newaliases.0 2008-12-02 18:07:06.000000000 +0100 -@@ -10,7 +10,7 @@ SSYYNNOOPPSSIISS - - DDEESSCCRRIIPPTTIIOONN - NNeewwaalliiaasseess rebuilds the random access data base for the mail aliases -- file /etc/mail/aliases. It must be run each time this file is changed -+ file /etc/aliases. It must be run each time this file is changed - in order for the change to take effect. - - NNeewwaalliiaasseess is identical to ``sendmail -bi''. -@@ -22,7 +22,7 @@ DDEESSCCRRIIPPTTIIOONN - sseennddmmaaiill.. - - FFIILLEESS -- /etc/mail/aliases The mail aliases file -+ /etc/aliases The mail aliases file - - SSEEEE AALLSSOO - aliases(5), sendmail(8) -diff -up sendmail-8.14.3/sendmail/newaliases.1.movefiles sendmail-8.14.3/sendmail/newaliases.1 ---- sendmail-8.14.3/sendmail/newaliases.1.movefiles 2001-10-10 05:23:17.000000000 +0200 -+++ sendmail-8.14.3/sendmail/newaliases.1 2008-12-02 18:07:06.000000000 +0100 -@@ -20,7 +20,7 @@ newaliases - .SH DESCRIPTION - .B Newaliases - rebuilds the random access data base for the mail aliases file --/etc/mail/aliases. It must be run each time this file is changed -+/etc/aliases. It must be run each time this file is changed - in order for the change to take effect. - .PP - .B Newaliases -@@ -40,7 +40,7 @@ puts a special token into the data base - .B sendmail. - .SH FILES - .TP 2i --/etc/mail/aliases -+/etc/aliases - The mail aliases file - .SH SEE ALSO - aliases(5), sendmail(8) -diff -up sendmail-8.14.3/sendmail/sendmail.0.movefiles sendmail-8.14.3/sendmail/sendmail.0 ---- sendmail-8.14.3/sendmail/sendmail.0.movefiles 2008-05-03 05:38:22.000000000 +0200 -+++ sendmail-8.14.3/sendmail/sendmail.0 2008-12-02 18:09:10.000000000 +0100 -@@ -430,10 +430,10 @@ FFIILLEESS - are only approximations. - - -- /etc/mail/aliases -+ /etc/aliases - raw data for alias names - -- /etc/mail/aliases.db -+ /etc/aliases.db - data base of alias names - - /etc/mail/sendmail.cf -diff -up sendmail-8.14.3/sendmail/sendmail.8.movefiles sendmail-8.14.3/sendmail/sendmail.8 ---- sendmail-8.14.3/sendmail/sendmail.8.movefiles 2007-08-02 07:42:33.000000000 +0200 -+++ sendmail-8.14.3/sendmail/sendmail.8 2008-12-02 18:07:06.000000000 +0100 -@@ -706,7 +706,7 @@ Thus, - these values are only approximations. - .PP - .TP -- /etc/mail/aliases -+ /etc/aliases - raw data for alias names - .TP - /etc/mail/aliases.db diff --git a/sendmail-8.14.4-aliases_dir.patch b/sendmail-8.14.4-aliases_dir.patch new file mode 100644 index 0000000..3dfb2aa --- /dev/null +++ b/sendmail-8.14.4-aliases_dir.patch @@ -0,0 +1,119 @@ +diff -up sendmail-8.14.3/cf/m4/cfhead.m4.movefiles sendmail-8.14.3/cf/m4/cfhead.m4 +--- sendmail-8.14.3/cf/m4/cfhead.m4.movefiles 2004-01-28 23:02:22.000000000 +0100 ++++ sendmail-8.14.3/cf/m4/cfhead.m4 2008-12-02 18:07:06.000000000 +0100 +@@ -259,7 +259,7 @@ ifdef(`MAIL_SETTINGS_DIR', , `define(`MA + define(`DATABASE_MAP_TYPE', `hash') + + # set up default values for options +-define(`ALIAS_FILE', `MAIL_SETTINGS_DIR`'aliases') ++define(`ALIAS_FILE', `/etc/aliases') + define(`confMAILER_NAME', ``MAILER-DAEMON'') + define(`confFROM_LINE', `From $g $d') + define(`confOPERATORS', `.:%@!^/[]+') +diff -up ./sendmail/aliases.0.orig ./sendmail/aliases.0 +--- ./sendmail/aliases.0.orig 2009-12-23 05:48:32.000000000 +0100 ++++ ./sendmail/aliases.0 2010-02-01 10:49:56.093920068 +0100 +@@ -63,7 +63,7 @@ DDEESSCCRRIIPPTTIIOONN + the list of users defined in that file. + + This is only the raw data file; the actual aliasing information is +- placed into a binary format in the file /etc/mail/aliases.db using the ++ placed into a binary format in the file /etc/aliases.db using the + program newaliases(1). A newaliases command should be executed each + time the aliases file is changed for the change to take effect. + +diff -up ./sendmail/aliases.5.orig ./sendmail/aliases.5 +--- ./sendmail/aliases.5.orig 2004-07-12 07:39:21.000000000 +0200 ++++ ./sendmail/aliases.5 2010-02-01 10:45:46.407921946 +0100 +@@ -23,7 +23,7 @@ ID + aliases used by + sendmail. + The file resides in +-/etc/mail ++/etc + and + is formatted as a series of lines of the form + .IP +@@ -96,7 +96,7 @@ list of users defined in that file. + .PP + This is only the raw data file; the actual aliasing information is + placed into a binary format in the file +-/etc/mail/aliases.db ++/etc/aliases.db + using the program + newaliases(1). + A +diff -up ./sendmail/newaliases.0.orig ./sendmail/newaliases.0 +--- ./sendmail/newaliases.0.orig 2009-12-23 05:48:32.000000000 +0100 ++++ ./sendmail/newaliases.0 2010-02-01 10:49:46.527918883 +0100 +@@ -10,7 +10,7 @@ SSYYNNOOPPSSIISS + + DDEESSCCRRIIPPTTIIOONN + NNeewwaalliiaasseess rebuilds the random access data base for the mail aliases +- file /etc/mail/aliases. It must be run each time this file is changed ++ file /etc/aliases. It must be run each time this file is changed + in order for the change to take effect. + + NNeewwaalliiaasseess is identical to ``sendmail -bi''. +@@ -22,7 +22,7 @@ DDEESSCCRRIIPPTTIIOONN + sseennddmmaaiill.. + + FFIILLEESS +- /etc/mail/aliases The mail aliases file ++ /etc/aliases The mail aliases file + + SSEEEE AALLSSOO + aliases(5), sendmail(8) +diff -up ./sendmail/newaliases.1.orig ./sendmail/newaliases.1 +--- ./sendmail/newaliases.1.orig 2001-10-10 05:23:17.000000000 +0200 ++++ ./sendmail/newaliases.1 2010-02-01 10:49:36.194921433 +0100 +@@ -20,7 +20,7 @@ newaliases + .SH DESCRIPTION + .B Newaliases + rebuilds the random access data base for the mail aliases file +-/etc/mail/aliases. It must be run each time this file is changed ++/etc/aliases. It must be run each time this file is changed + in order for the change to take effect. + .PP + .B Newaliases +@@ -40,7 +40,7 @@ puts a special token into the data base + .B sendmail. + .SH FILES + .TP 2i +-/etc/mail/aliases ++/etc/aliases + The mail aliases file + .SH SEE ALSO + aliases(5), sendmail(8) +diff -up ./sendmail/sendmail.0.orig ./sendmail/sendmail.0 +--- ./sendmail/sendmail.0.orig 2009-12-23 05:48:32.000000000 +0100 ++++ ./sendmail/sendmail.0 2010-02-01 10:49:04.494920283 +0100 +@@ -430,10 +430,10 @@ FFIILLEESS + are only approximations. + + +- /etc/mail/aliases ++ /etc/aliases + raw data for alias names + +- /etc/mail/aliases.db ++ /etc/aliases.db + data base of alias names + + /etc/mail/sendmail.cf +diff -up ./sendmail/sendmail.8.orig ./sendmail/sendmail.8 +--- ./sendmail/sendmail.8.orig 2009-04-10 19:49:19.000000000 +0200 ++++ ./sendmail/sendmail.8 2010-02-01 10:50:04.993920355 +0100 +@@ -706,10 +706,10 @@ Thus, + these values are only approximations. + .PP + .TP +- /etc/mail/aliases ++ /etc/aliases + raw data for alias names + .TP +- /etc/mail/aliases.db ++ /etc/aliases.db + data base of alias names + .TP + /etc/mail/sendmail.cf diff --git a/sendmail-8.14.4-dynamic.patch b/sendmail-8.14.4-dynamic.patch new file mode 100644 index 0000000..652a75c --- /dev/null +++ b/sendmail-8.14.4-dynamic.patch @@ -0,0 +1,46 @@ +--- sendmail-8.14.4/devtools/OS/Linux 2010-01-03 22:55:35.000000000 +0100 ++++ sendmail-8.14.4/devtools/OS/Linux.dynamic 2010-01-03 22:59:03.000000000 +0100 +@@ -7,7 +7,7 @@ + define(`confCCOPTS_SO', `-fPIC') + define(`confSM_OS_HEADER', `sm_os_linux') + define(`confMANROOT', `/usr/share/man/man') +-define(`confLIBS', `-ldl') ++define(`confLIBS', `-pie -ldl') + define(`confEBINDIR', `/usr/sbin') + APPENDDEF(`confLIBSEARCH', `crypt nsl') + +@@ -22,19 +22,19 @@ + ifelse(confBLDVARIANT, `DEBUG', + dnl Debug build + ` +- define(`confOPTIMIZE',`-g -Wall') ++ define(`confOPTIMIZE',`-g -Wall -fpie') + ', + dnl Optimized build + confBLDVARIANT, `OPTIMIZED', + ` +- define(`confOPTIMIZE',`-O2') ++ define(`confOPTIMIZE',`-O2 -fpie') + ', + dnl Purify build + confBLDVARIANT, `PURIFY', + ` +- define(`confOPTIMIZE',`-g') ++ define(`confOPTIMIZE',`-g -fpie') + ', + dnl default + ` +- define(`confOPTIMIZE',`-O2') ++ define(`confOPTIMIZE',`-O2 -fpie') + ') +--- sendmail-8.14.4/libsm/Makefile.m4 2006-08-16 23:06:31.000000000 +0200 ++++ sendmail-8.14.4/libsm/Makefile.m4.dynamic 2010-01-03 23:01:36.000000000 +0100 +@@ -6,7 +6,7 @@ + define(`confREQUIRE_SM_OS_H', `true') + PREPENDDEF(`confENVDEF', `confMAPDEF') + bldPRODUCT_START(`library', `libsm') +-define(`bldSOURCES', ` assert.c debug.c errstring.c exc.c heap.c match.c rpool.c strdup.c strerror.c strl.c clrerr.c fclose.c feof.c ferror.c fflush.c fget.c fpos.c findfp.c flags.c fopen.c fprintf.c fpurge.c fput.c fread.c fscanf.c fseek.c fvwrite.c fwalk.c fwrite.c get.c makebuf.c put.c refill.c rewind.c setvbuf.c smstdio.c snprintf.c sscanf.c stdio.c strio.c ungetc.c vasprintf.c vfprintf.c vfscanf.c vprintf.c vsnprintf.c wbuf.c wsetup.c string.c stringf.c xtrap.c strto.c test.c path.c strcasecmp.c strrevcmp.c signal.c clock.c config.c shm.c sem.c mbdb.c strexit.c cf.c ldap.c niprop.c mpeix.c memstat.c util.c ') ++define(`bldSOURCES', ` assert.c debug.c errstring.c exc.c heap.c match.c rpool.c strdup.c strl.c clrerr.c fclose.c feof.c ferror.c fflush.c fget.c fpos.c findfp.c flags.c fopen.c fprintf.c fpurge.c fput.c fread.c fscanf.c fseek.c fvwrite.c fwalk.c fwrite.c get.c makebuf.c put.c refill.c rewind.c setvbuf.c smstdio.c snprintf.c sscanf.c stdio.c strio.c ungetc.c vasprintf.c vfprintf.c vfscanf.c vprintf.c vsnprintf.c wbuf.c wsetup.c string.c stringf.c xtrap.c strto.c test.c path.c strcasecmp.c strrevcmp.c signal.c clock.c config.c shm.c sem.c mbdb.c strexit.c cf.c ldap.c niprop.c mpeix.c memstat.c util.c ') + bldPRODUCT_END + dnl msg.c + dnl syslogio.c diff --git a/sendmail-8.14.4-makemapman.patch b/sendmail-8.14.4-makemapman.patch new file mode 100644 index 0000000..7beb0cd --- /dev/null +++ b/sendmail-8.14.4-makemapman.patch @@ -0,0 +1,56 @@ +--- sendmail-8.14.4/cf/cf/Build 1999-03-02 03:37:12.000000000 +0100 ++++ sendmail-8.14.4/cf/cf/Build.makemapman 2010-01-03 22:49:38.000000000 +0100 +@@ -18,7 +18,7 @@ + SMROOT=${SMROOT-../..} + BUILDTOOLS=${BUILDTOOLS-$SMROOT/devtools} + +-M4=`sh $BUILDTOOLS/bin/find_m4.sh` ++M4=/usr/bin/m4 + ret=$? + if [ $ret -ne 0 ] + then +--- sendmail-8.14.4/devtools/OS/Linux 2009-01-22 03:15:42.000000000 +0100 ++++ sendmail-8.14.4/devtools/OS/Linux.makemapman 2010-01-03 22:50:27.000000000 +0100 +@@ -6,7 +6,7 @@ + define(`confDEPEND_TYPE', `CC-M') + define(`confCCOPTS_SO', `-fPIC') + define(`confSM_OS_HEADER', `sm_os_linux') +-define(`confMANROOT', `/usr/man/man') ++define(`confMANROOT', `/usr/share/man/man') + define(`confLIBS', `-ldl') + define(`confEBINDIR', `/usr/sbin') + APPENDDEF(`confLIBSEARCH', `crypt nsl') +@@ -16,6 +16,8 @@ + define(`confMTLDOPTS', `-lpthread') + define(`confLDOPTS_SO', `-shared') + define(`confSONAME',`-soname') ++define('confSBINGRP', 'mail') ++define('confSBINMODE', '6755') + + ifelse(confBLDVARIANT, `DEBUG', + dnl Debug build +--- sendmail-8.14.4/makemap/makemap.8 2008-05-03 01:07:48.000000000 +0200 ++++ sendmail-8.14.4/makemap/makemap.8.makemapman 2010-01-03 22:51:04.000000000 +0100 +@@ -52,12 +52,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 +--- sendmail-8.14.4/rmail/rmail.c 2001-09-18 23:45:29.000000000 +0200 ++++ sendmail-8.14.4/rmail/rmail.c.makemapman 2010-01-03 22:51:36.000000000 +0100 +@@ -276,7 +276,6 @@ + args[i++] = _PATH_SENDMAIL; /* Build sendmail's argument list. */ + args[i++] = "-G"; /* relay submission */ + 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 */ diff --git a/sendmail-8.14.4-switchfile.patch b/sendmail-8.14.4-switchfile.patch new file mode 100644 index 0000000..2be8c2b --- /dev/null +++ b/sendmail-8.14.4-switchfile.patch @@ -0,0 +1,11 @@ +--- sendmail-8.14.4/sendmail/conf.c 2009-12-18 18:25:12.000000000 +0100 ++++ sendmail-8.14.4/sendmail/conf.c.switchfile 2010-01-03 23:08:27.000000000 +0100 +@@ -972,7 +972,7 @@ + if (p != NULL) + *p = '\0'; + #ifndef SM_NSSWITCH_DELIMS +-# define SM_NSSWITCH_DELIMS " \t" ++# define SM_NSSWITCH_DELIMS " \t:" + #endif /* SM_NSSWITCH_DELIMS */ + p = strpbrk(buf, SM_NSSWITCH_DELIMS); + if (p != NULL) diff --git a/sendmail.init b/sendmail.init index 8430622..a98d9a7 100644 --- a/sendmail.init +++ b/sendmail.init @@ -36,10 +36,13 @@ fi [ -z "$SMQUEUE" ] && SMQUEUE="$QUEUE" [ -z "$SMQUEUE" ] && SMQUEUE=1h +# Check that we're a privileged user +[ `id -u` = 0 ] || exit 4 + # Check that networking is up. [ "${NETWORKING}" = "no" ] && exit 1 -[ -f /usr/sbin/sendmail ] || exit 5 +[ -x /usr/sbin/sendmail ] || exit 5 prog="sendmail" @@ -116,7 +119,7 @@ stop() { return $RETVAL } -status -p /var/run/sendmail.pid >/dev/null && status -p /var/run/sm-client.pid >/dev/null +status -p /var/run/sendmail.pid >/dev/null || status -p /var/run/sm-client.pid >/dev/null running=$? # See how we were called. @@ -148,9 +151,9 @@ case "$1" in RETVAL=$? ;; status) - echo -n sendmail; status -p /var/run/sendmail.pid + echo -n sendmail; status -p /var/run/sendmail.pid -l sendmail RETVAL=$? - echo -n sm-client; status -p /var/run/sm-client.pid + echo -n sm-client; status -p /var/run/sm-client.pid -l sm-client [ $RETVAL -eq 0 ] && RETVAL=$? ;; *) diff --git a/sendmail.pam b/sendmail.pam index 1172f8f..73e5348 100644 --- a/sendmail.pam +++ b/sendmail.pam @@ -1,3 +1,3 @@ #%PAM-1.0 -auth include system-auth -account include system-auth +auth include password-auth +account include password-auth diff --git a/sendmail.spec b/sendmail.spec index 964787d..9d5d557 100644 --- a/sendmail.spec +++ b/sendmail.spec @@ -1,6 +1,5 @@ # package options %define with_tls yes -%define with_sasl1 no %define with_sasl2 yes %define with_milter yes %define with_ldap yes @@ -14,12 +13,11 @@ Summary: A widely used Mail Transport Agent (MTA) Name: sendmail -Version: 8.14.3 -Release: 5%{?dist} +Version: 8.14.4 +Release: 3%{?dist} License: Sendmail Group: System Environment/Daemons URL: http://www.sendmail.org/ -Provides: MTA smtpdaemon server(smtp) Source0: ftp://ftp.sendmail.org/pub/sendmail/sendmail.%{version}.tar.gz Source1: sendmail.init Source2: sendmail.nm-dispatcher @@ -27,7 +25,6 @@ Source3: sendmail.etc-mail-make Source4: sendmail.sysconfig Source5: sendmail.etc-mail-Makefile Source6: sendmail-redhat.mc -Source7: Sendmail-sasl1.conf Source8: sendmail.pam Source9: sendmail-8.12.5-newconfig.readme Source11: Sendmail-sasl2.conf @@ -37,19 +34,21 @@ Source14: sendmail-etc-mail-local-host-names Source15: sendmail-etc-mail-mailertable Source16: sendmail-etc-mail-trusted-users Source17: sendmail-etc-mail-virtusertable -Patch3: sendmail-8.14.3-makemapman.patch +Patch3: sendmail-8.14.4-makemapman.patch Patch4: sendmail-8.14.3-smrsh_paths.patch -Patch5: sendmail-8.14.3-movefiles.patch Patch7: sendmail-8.13.7-pid.patch Patch9: sendmail-8.12.7-hesiod.patch Patch10: sendmail-8.12.7-manpage.patch -Patch11: sendmail-8.14.0-dynamic.patch +Patch11: sendmail-8.14.4-dynamic.patch Patch12: sendmail-8.13.0-cyrus.patch -Patch13: sendmail-8.13.7-aliases_dir.patch +Patch13: sendmail-8.14.4-aliases_dir.patch Patch14: sendmail-8.13.7-vacation.patch Patch15: sendmail-8.14.1-noversion.patch Patch16: sendmail-8.13.1-localdomain.patch Patch17: sendmail-8.14.3-sharedmilter.patch +Patch18: sendmail-8.14.4-switchfile.patch +Patch20: sendmail-8.14.3-milterfdleaks.patch +Patch21: sendmail-8.14.3-ipv6-bad-helo.patch Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: tcp_wrappers-devel BuildRequires: db4-devel @@ -57,6 +56,7 @@ BuildRequires: hesiod-devel BuildRequires: groff BuildRequires: ghostscript BuildRequires: m4 +Provides: MTA smtpdaemon server(smtp) Provides: %{_sbindir}/sendmail %{_bindir}/mailq %{_bindir}/newaliases Provides: %{_bindir}/rmail /usr/lib/sendmail Provides: %{_sysconfdir}/pam.d/smtp @@ -65,22 +65,21 @@ Provides: %{_mandir}/man5/aliases.5.gz %{_mandir}/man8/sendmail.8.gz Requires(pre): shadow-utils Requires(preun): %{_sbindir}/alternatives chkconfig Requires(post): %{_sbindir}/alternatives chkconfig coreutils -Requires(postun): %{_sbindir}/alternatives chkconfig coreutils +Requires(postun): %{_sbindir}/alternatives coreutils +Requires: initscripts Requires: procmail Requires: bash >= 2.0 Requires: setup >= 2.5.31-1 BuildRequires: setup >= 2.5.31-1 %if "%{with_tls}" == "yes" BuildRequires: openssl-devel -Requires: openssl %endif -%if "%{with_sasl1}" == "yes" || "%{with_sasl2}" == "yes" +%if "%{with_sasl2}" == "yes" BuildRequires: cyrus-sasl-devel openssl-devel -Requires: %{_sbindir}/saslauthd openssl +Requires: %{_sbindir}/saslauthd %endif %if "%{with_ldap}" == "yes" BuildRequires: openldap-devel openssl-devel -Requires: openldap openssl %endif @@ -98,13 +97,14 @@ Sendmail, you can install the sendmail-doc package. %package doc Summary: Documentation about the Sendmail Mail Transport Agent program Group: Documentation +BuildArch: noarch Requires: sendmail = %{version}-%{release} %description doc The sendmail-doc package contains documentation about the Sendmail Mail Transport Agent (MTA) program, including release notes, the Sendmail FAQ, and a few papers written about Sendmail. The papers are -provided in PostScript(TM) and troff formats. +provided in PDF and troff formats. %package devel Summary: Extra development include files and development files @@ -120,6 +120,7 @@ of sendmail. Summary: The files needed to reconfigure Sendmail Group: System Environment/Daemons Requires: sendmail = %{version}-%{release} +BuildArch: noarch Requires: m4 %description cf @@ -144,7 +145,6 @@ This package includes the milter shared library. %patch3 -p1 -b .makemapman %patch4 -p1 -b .smrsh_paths -%patch5 -p1 -b .movefiles %patch7 -p1 -b .pid %patch9 -p1 -b .hesiod %patch10 -p1 -b .manpage @@ -158,7 +158,11 @@ This package includes the milter shared library. cp devtools/M4/UNIX/{,shared}library.m4 %patch17 -p1 -b .sharedmilter -for f in RELEASE_NOTES; do +%patch18 -p1 -b .switchfile +%patch20 -p1 -b .milterfdleaks +%patch21 -p1 -b .ipv6-bad-helo + +for f in RELEASE_NOTES contrib/etrn.0; do iconv -f iso8859-1 -t utf8 -o ${f}{_,} && touch -r ${f}{,_} && mv -f ${f}{_,} done @@ -170,7 +174,7 @@ define(\`confMAPDEF', \`-DNEWDB -DNIS -DHESIOD -DMAP_REGEX -DSOCKETMAP -DNAMED_B define(\`confOPTIMIZE', \`\`\`\`${RPM_OPT_FLAGS}'''') define(\`confENVDEF', \`-I%{_includedir}/db4 -I/usr/kerberos/include -Wall -DXDEBUG=0 -DTCPWRAPPERS -DNETINET6 -DHES_GETMAILHOST -DUSE_VENDOR_CF_PATH=1 -D_FFR_TLS_1') define(\`confLIBDIRS', \`-L/usr/kerberos/%{_lib}') -define(\`confLIBS', \`-lnsl -lwrap -lhesiod -lcrypt -ldb') +define(\`confLIBS', \`-lnsl -lwrap -lhesiod -lcrypt -ldb -lresolv') define(\`confMANOWN', \`root') define(\`confMANGRP', \`root') define(\`confMANMODE', \`644') @@ -210,13 +214,6 @@ APPENDDEF(\`conf_sendmail_LIBS', \`-lssl -lcrypto')dnl EOF %endif -%if "%{with_sasl1}" == "yes" -cat >> redhat.config.m4 << EOF -APPENDDEF(\`confENVDEF', \`-DSASL=1')dnl -APPENDDEF(\`confLIBS', \`-lsasl -lcrypto')dnl -EOF -%endif - %if "%{with_sasl2}" == "yes" cat >> redhat.config.m4 << EOF APPENDDEF(\`confENVDEF', \`-DSASL=2')dnl @@ -288,7 +285,7 @@ Make() { LIBOWN=${nameuser} LIBGRP=${namegroup} \ GBINOWN=${nameuser} GBINGRP=${namegroup} \ CFOWN=${nameuser} CFGRP=${namegroup} \ - MSPQOWN=${nameuser} + CFMODE=0644 MSPQOWN=${nameuser} } OBJDIR=obj.$(uname -s).$(uname -r).$(uname -m) @@ -327,6 +324,7 @@ install -p -m 644 libmilter/README %{buildroot}%{_docdir}/sendmail-%{version}/RE install -p -m 644 cf/README %{buildroot}%{_docdir}/sendmail-%{version}/README.cf install -m 644 %{SOURCE9} %{buildroot}%{_docdir}/sendmail-%{version}/README.redhat install -p -m 644 contrib/* %{buildroot}%{_docdir}/sendmail-%{version}/contrib +sed -i 's|/usr/local/bin/perl|%{_bindir}/perl|' %{buildroot}%{_docdir}/sendmail-%{version}/contrib/*.pl # install the cf files for the sendmail-cf package. cp -ar cf/* %{buildroot}%{sendmailcf} @@ -375,14 +373,12 @@ install -p -m 755 %{SOURCE2} %{buildroot}%{_sysconfdir}/NetworkManager/dispatche install -p -m 755 %{SOURCE3} %{buildroot}%{maildir}/make install -p -m 644 %{SOURCE5} %{buildroot}%{maildir}/Makefile +chmod 644 %{buildroot}%{maildir}/helpfile + # fix permissions to allow debuginfo extraction and stripping chmod 755 %{buildroot}%{_sbindir}/{mailstats,makemap,praliases,sendmail,smrsh} chmod 755 %{buildroot}%{_bindir}/rmail -%if "%{with_sasl1}" == "yes" -install -m 755 -d %{buildroot}%{_libdir}/sasl -install -m 644 %{SOURCE7} %{buildroot}%{_libdir}/sasl/Sendmail.conf -%endif %if "%{with_sasl2}" == "yes" install -m 755 -d %{buildroot}%{_libdir}/sasl2 install -m 644 %{SOURCE11} %{buildroot}%{_libdir}/sasl2/Sendmail.conf @@ -497,7 +493,7 @@ exit 0 %attr(0770,smmsp,smmsp) %dir %{spooldir}/clientmqueue %attr(0700,root,mail) %dir %{spooldir}/mqueue -%config(noreplace) %{stdir}/statistics +%config(noreplace) %verify(not size mtime md5) %{stdir}/statistics %config(noreplace) %{maildir}/Makefile %config(noreplace) %{maildir}/make %config(noreplace) %{maildir}/sendmail.cf @@ -518,7 +514,7 @@ exit 0 %ghost %{maildir}/domaintable.db %ghost %{maildir}/mailertable.db -%attr(0755,root,root) %{_initrddir}/sendmail +%{_initrddir}/sendmail %config(noreplace) %{_sysconfdir}/sysconfig/sendmail %config(noreplace) %{_sysconfdir}/pam.d/smtp.sendmail %{_sysconfdir}/NetworkManager/dispatcher.d/10-sendmail @@ -566,6 +562,41 @@ exit 0 %changelog +* Mon Feb 15 2010 Jaroslav Škarvada - 8.14.4-3 +- fixed libresolv implicit DSO linking (#564647) +- fixed initscript LSB compliance (#561040) + +* Thu Feb 04 2010 Jaroslav Škarvada - 8.14.4-2 +- fixed typo in spec file +- fixed aliases_dir patch + +* Tue Feb 02 2010 Jaroslav Škarvada - 8.14.4-1 +- new version 8.14.4 (#552078) +- RPM attributes S, 5, T not recorded for statistics file +- adapted patches: makemapman, dynamic, switchfile (#552078) +- movefiles patch incorporated into aliases_dir patch +- drop exitpanic patch (fixed upstream) + +* Sun Jan 03 2010 Robert Scheck 8.14.3-10 +- handle IPv6:::1 in block_bad_helo.m4 like 127.0.0.1 (#549217) + +* Tue Dec 15 2009 Miroslav Lichvar 8.14.3-9 +- fix milter file descriptors leaks (#485426) +- skip colon separator when parsing service name in ServiceSwitchFile +- return with non-zero exit code when free space is below MinFreeBlocks +- fix service stop/restart when only smclient is running +- fix submit.cf and helpfile permissions +- more merge review fixes (#226407) + +* Wed Sep 16 2009 Tomas Mraz - 8.14.3-8 +- Use password-auth common PAM configuration instead of system-auth + +* Fri Aug 21 2009 Tomas Mraz - 8.14.3-7 +- rebuilt with new openssl + +* Sun Jul 26 2009 Fedora Release Engineering - 8.14.3-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + * Wed Feb 25 2009 Fedora Release Engineering - 8.14.3-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild @@ -961,7 +992,7 @@ exit 0 * Mon Jan 13 2003 Florian La Roche - do not reject all numeric login names if hesiod support is - compiled in. #80060 + compiled in. #80060 - remove reference to non-existing man-pages #74552 * Sun Jan 12 2003 Florian La Roche @@ -1066,7 +1097,7 @@ exit 0 - add sendmail/SECURITY as docu #61870, #61545 * Wed Mar 20 2002 Florian La Roche -- add libsm.a #61270 +- add libsm.a #61270 - change from /etc/sendmail.cf to /etc/mail/sendmail.cf - add milter patch diff --git a/sources b/sources index e42d9d8..90121f8 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -a5ee5d26e1f546a2da5fb9a513bd6bce sendmail.8.14.3.tar.gz +1b23d5000c8e7bfe82ec1a27f2f5fdc5 sendmail.8.14.4.tar.gz