diff options
author | dinoex <dinoex@FreeBSD.org> | 2005-04-26 17:50:42 +0000 |
---|---|---|
committer | dinoex <dinoex@FreeBSD.org> | 2005-04-26 17:50:42 +0000 |
commit | 49ca323cc7fb0bf0c610109c396017258776ce5e (patch) | |
tree | 6889eab0fa56176804a3524fbb49dec68988035d /mail | |
parent | c8c27fa0f009c7aad7ebc3b87583248c440a2735 (diff) | |
download | FreeBSD-ports-49ca323cc7fb0bf0c610109c396017258776ce5e.zip FreeBSD-ports-49ca323cc7fb0bf0c610109c396017258776ce5e.tar.gz |
- retire port in favor for current sendmail
Diffstat (limited to 'mail')
23 files changed, 0 insertions, 2166 deletions
diff --git a/mail/sendmail812/Makefile b/mail/sendmail812/Makefile deleted file mode 100644 index fd3e0c5..0000000 --- a/mail/sendmail812/Makefile +++ /dev/null @@ -1,401 +0,0 @@ -# New ports collection makefile for: sendmail -# Date created: 20 Apr 2000 -# Whom: dirk.meyer@dinoex.sub.org -# -# $FreeBSD$ -# - -PORTNAME= sendmail -PORTVERSION= 8.12.11 -PORTREVISION= 1 -CATEGORIES= mail ipv6 -MASTER_SITES= ftp://ftp.sendmail.org/pub/sendmail/ \ - ${MASTER_SITE_RINGSERVER:S,%SUBDIR%,net/mail/sendmail/&,} -PKGNAMESUFFIX?= ${TLS_SUFFIX}${SASL_SUFFIX}${LDAP_SUFFIX}${PKGNAMESUFFIX2} -DISTNAME= ${PORTNAME}.${PORTVERSION} - -.if defined(SENDMAIL_WITH_CONNECTION_RATE) -PATCH_SITES= http://j-chkmail.ensmp.fr/sm/ -PATCHFILES= ratectrl.src-v2.patch ratectrl.cf.patch -.endif - -MAINTAINER= dinoex@FreeBSD.org -COMMENT= Reliable, highly configurable mail transfer agent with utilities - -CONFLICTS?= courier-0.* postfix-1.* postfix-2.* smail-3.* zmailer-2.* -CONFLICTS+= sendmail-8.11.* sendmail-*-8.11.* sendmail+*-8.11.* -CONFLICTS+= sendmail-8.13.* sendmail-*-8.13.* sendmail+*-8.13.* - -NO_CDROM= please update to a newer version -DEPRECATED= please update to a newer version -EXPIRATION_DATE= 2005-04-01 -NO_LATEST_LINK= yes -WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION} -WCONF= ${WRKSRC}/devtools/Site -SITE= ${FILESDIR}/site.config.m4.pre4 -PLIST= ${WRKDIR}/.PLIST.more -DOCS= KNOWNBUGS LICENSE PGPKEYS README RELEASE_NOTES \ - sendmail/TRACEFLAGS sendmail/SECURITY sendmail/TUNING -MAN1= mailq.1 newaliases.1 vacation.1 -MAN5= aliases.5 -MAN8= sendmail.8 mailstats.8 makemap.8 praliases.8 smrsh.8 \ - mail.local.8 rmail.8 editmap.8 -SENDMAIL= ${PREFIX}/sbin/sendmail -BASEMAIL= /usr/libexec/sendmail/sendmail -PLIST_SUB+= PREFIX=${PREFIX:S=${PREFIX}/==} -PKGMESSAGE= ${WRKSRC}/pkg-message - -# Options to define Features: -# SENDMAIL_WITHOUT_IPV6=yes -# SENDMAIL_WITHOUT_MILTER=yes -# SENDMAIL_WITHOUT_SHMEM=yes -# SENDMAIL_WITH_TLS=yes -# SENDMAIL_WITH_SMTPS=yes -# SENDMAIL_WITH_SASL=yes -# SENDMAIL_WITH_SASL2=yes -# SENDMAIL_WITH_LDAP=yes -# SENDMAIL_WITH_SOCKETMAP=yes -# SENDMAIL_WITH_CYRUSLOOKUP=yes -# SENDMAIL_WITH_PICKY_HELO_CHECK=yes -# SENDMAIL_WITH_CONNECTION_RATE=yes - -.if defined(SENDMAIL_WITH_SMTPS) && !defined(SENDMAIL_WITH_TLS) && !defined(WITH_TLS) -SENDMAIL_WITH_TLS=yes -AUTO_ENABLED_TLS=yes -.endif -.if defined(SENDMAIL_WITH_CYRUSLOOKUP) && !defined(SENDMAIL_WITH_SOCKETMAP) -SENDMAIL_WITH_SOCKETMAP=yes -AUTO_ENABLED_SOCKETMAP=yes -.endif - -.if defined(SENDMAIL_WITH_LDAP) -LDAP_SUFFIX?= +ldap -CONFLICTS+= sendmail+tls-8.* \ - sendmail+tls+sasl1-8.* \ - sendmail+tls+sasl2-8.* \ - sendmail+sasl1-8.* \ - sendmail+sasl2-8.* -CONFLICTS+= sendmail-sasl-8.* sendmail-sasl2-8.* sendmail-tls-8.* -.if defined(LDAP_PORT) -OPENLDAP_LIB?= libldap.so.2 -BUILD_DEPENDS+= ${LOCALBASE}/lib/${OPENLDAP_LIB}:${PORTSDIR}/${LDAP_PORT} -RUN_DEPENDS+= ${LOCALBASE}/lib/${OPENLDAP_LIB}:${PORTSDIR}/${LDAP_PORT} -.else -USE_OPENLDAP= yes -.endif -.else -CONFLICTS+= sendmail*+ldap*-8.* -.endif -.if defined(SENDMAIL_WITH_SASL) && !defined(SENDMAIL_WITH_SASL2) -SASL_SUFFIX?= +sasl1 -CONFLICTS+= sendmail+tls-8.* \ - sendmail+tls+ldap-8.* \ - sendmail+tls+sasl2-8.* \ - sendmail+tls+sasl2+ldap-8.* \ - sendmail+sasl2-8.* \ - sendmail+sasl2+ldap-8.* \ - sendmail+ldap-8.* -CONFLICTS+= sendmail-ldap-8.* sendmail-sasl2-8.* sendmail-tls-8.* -LIB_DEPENDS+= sasl.8:${PORTSDIR}/security/cyrus-sasl -.else -CONFLICTS+= sendmail*+sasl1*-8.* -.endif -.if defined(SENDMAIL_WITH_SASL2) -SASL_SUFFIX?= +sasl2 -CONFLICTS+= sendmail+tls-8.* \ - sendmail+tls+ldap-8.* \ - sendmail+tls+sasl-8.* \ - sendmail+tls+sasl+ldap-8.* \ - sendmail+sasl-8.* \ - sendmail+sasl+ldap-8.* \ - sendmail+ldap-8.* -CONFLICTS+= sendmail-ldap-8.* sendmail-sasl-8.* sendmail-tls-8.* -LIB_DEPENDS+= sasl2.2:${PORTSDIR}/security/cyrus-sasl2 -.if !defined(SENDMAIL_WITHOUT_SASLAUTHD) -RUN_DEPENDS+= ${LOCALBASE}/sbin/saslauthd:${PORTSDIR}/security/cyrus-sasl2-saslauthd -.endif -.else -CONFLICTS+= sendmail*+sasl2*-8.* -.endif -.if defined(SENDMAIL_WITH_SOCKETMAP) -EXTRA_PATCHES+= ${FILESDIR}/socketmap.patch -.endif -.if defined(SENDMAIL_WITH_CYRUSLOOKUP) -EXTRA_PATCHES+= ${FILESDIR}/cyruslookup.patch -.endif -.if defined(SENDMAIL_WITH_TLS) || defined(WITH_TLS) -TLS_SUFFIX?= +tls -CONFLICTS+= sendmail+sasl-8.* \ - sendmail+sasl+ldap-8.* \ - sendmail+sasl2-8.* \ - sendmail+sasl2+ldap-8.* \ - sendmail+ldap-8.* -CONFLICTS+= sendmail-ldap-8.* sendmail-sasl-8.* sendmail-sasl2-8.* -.else -CONFLICTS+= sendmail*+tls*-8.* -.endif - -# Build site.config.m4 -.if exists(${DESTDIR}/etc/mail/mailer.conf) -SITE+= ${FILESDIR}/site.config.m4 -.if ! defined(SENDMAIL_WITHOUT_IPV6) -SITE+= ${FILESDIR}/site.config.m4.ipv6 -.endif -.endif -.if defined(SENDMAIL_WITH_SASL) -SITE+= ${FILESDIR}/site.config.m4.sasl -.endif -.if defined(SENDMAIL_WITH_SASL2) -SITE+= ${FILESDIR}/site.config.m4.sasl2 -.endif -.if defined(SENDMAIL_WITH_LDAP) -SITE+= ${FILESDIR}/site.config.m4.ldap -.endif -.if ! defined(SENDMAIL_WITHOUT_MILTER) -SITE+= ${FILESDIR}/site.config.m4.milter -.endif -.if defined(SENDMAIL_WITH_TLS) || defined(WITH_TLS) -USE_OPENSSL= yes -.endif - -# install directly if no mailwrapper support -.if ! exists(${DESTDIR}/etc/mail/mailer.conf) -PREFIX?= ${DESTDIR}/usr -MANPREFIX?= ${DESTDIR}/usr/share -PLIST_SUB+= ETCPORT="@comment " -.else -PLIST_SUB+= ETCPORT="" -.endif - -post-extract: - @${SED} -e "s=%%PREFIX%%=${PREFIX}=" ${FILESDIR}/sm-client.sh \ - > ${WRKSRC}/sm-client.sh - @${SED} -e "s=%%PREFIX%%=${PREFIX}=" ${FILESDIR}/sendmail.sh \ - > ${WRKSRC}/sendmail.sh - @${SED} -e "s=%%PREFIX%%=${PREFIX}=g" \ - -e "s=%%LOCALBASE%%=${LOCALBASE}=g" \ - -e "s=%%PORTSDIR%%=${PORTSDIR}=g" \ - ${PKGDIR}/pkg-message > ${WRKSRC}/pkg-message - -pre-configure: -.if defined(AUTO_ENABLED_TLS) - @${ECHO_CMD} "DEPENDENCY NOTE: SENDMAIL_WITH_TLS will be enabled to support SENDMAIL_WITH_SMTPS" -.endif -.if defined(AUTO_ENABLED_SOCKETMAP) - @${ECHO_CMD} "DEPENDENCY NOTE: SENDMAIL_WITH_SOCKETMAP will be enabled to support SENDMAIL_WITH_CYRUSLOOKUP" -.endif - -do-configure: - @${MV} ${WRKSRC}/devtools/OS/FreeBSD ${WRKSRC}/devtools/OS/FreeBSD.sed - ${SED} -e "s;\`-pthread\';\`${PTHREAD_LIBS}\';" \ - -e "s;\`-O\';\`${CFLAGS}\';" \ - ${WRKSRC}/devtools/OS/FreeBSD.sed \ - > ${WRKSRC}/devtools/OS/FreeBSD - ${SED} -e "s=%%PREFIX%%=${PREFIX}=g" \ - -e "s=%%LOCALBASE%%=${LOCALBASE}=g" \ - ${SITE} > ${WCONF}/site.config.m4 -.if defined(SENDMAIL_WITH_SMTPS) - ${ECHO_CMD} \ - 'APPENDDEF(`conf_sendmail_ENVDEF'\'', `-D_FFR_SMTP_SSL'\'')' \ - >> ${WCONF}/site.config.m4 -.endif -.if defined(SENDMAIL_WITH_SOCKETMAP) - ${ECHO_CMD} \ - 'APPENDDEF(`conf_sendmail_ENVDEF'\'', `-DSOCKETMAP'\'')' \ - >> ${WCONF}/site.config.m4 -.endif -.if defined(SENDMAIL_WITH_PICKY_HELO_CHECK) - ${ECHO_CMD} \ - 'APPENDDEF(`conf_sendmail_ENVDEF'\'', `-DPICKY_HELO_CHECK'\'')' \ - >> ${WCONF}/site.config.m4 -.endif -.if defined(SENDMAIL_WITH_CONNECTION_RATE) - ${ECHO_CMD} \ - 'APPENDDEF(`conf_sendmail_ENVDEF'\'', `-D_FFR_CONNECTION_RATE_CONTROL'\'')' \ - >> ${WCONF}/site.config.m4 -.endif -.if defined(SENDMAIL_WITHOUT_SHMEM) - ${ECHO_CMD} \ - 'APPENDDEF(`confENVDEF'\'', `-DSM_CONF_SHM=0'\'')' \ - >> ${WCONF}/site.config.m4 -.endif - -post-build: - ( cd ${WRKSRC}/doc/op && ${MAKE} op.txt ) -.if ! defined(SENDMAIL_WITHOUT_MILTER) - @(cd ${BUILD_WRKSRC}/libmilter; ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${ALL_TARGET}) -.endif - -pre-install: - @${CAT} ${PKGDIR}/pkg-plist >${PLIST} -.if ! defined(SENDMAIL_WITHOUT_MILTER) - @${CAT} ${FILESDIR}/pkg-milter >>${PLIST} -.endif - if ! pw groupshow smmsp; then pw groupadd smmsp -g 25; fi - if ! pw usershow smmsp; then pw useradd smmsp -g smmsp -u 25 \ - -h - -d /nonexistent -s /nonexistent -c "Sendmail Queue"; fi - @cd ${WRKSRC} && ${FIND} cf -type f | \ - ${AWK} '{print "share/sendmail/" $$1}' >>${PLIST} - @cd ${WRKSRC} && ${FIND} -d cf -type d | \ - ${AWK} '{print "@dirrm share/sendmail/" $$1}' >>${PLIST} - @${ECHO_CMD} "@dirrm share/sendmail" >>${PLIST} -.if !defined(NOPORTDOCS) -.for i in ${DOCS} - @${ECHO_CMD} `${BASENAME} ${i}` | \ - ${AWK} '{print "%%DOCSDIR%%/" $$1}' >>${PLIST} -.endfor -.if defined(SENDMAIL_WITH_CONNECTION_RATE) - @${ECHO_CMD} "share/doc/sendmail/CONNECTION_RATE_CONTROL" >>${PLIST} -.endif -.if defined(SENDMAIL_WITH_CYRUSLOOKUP) - @${ECHO_CMD} "share/doc/sendmail/CYRUS_LOOKUP" >>${PLIST} -.endif - @${ECHO_CMD} "@dirrm %%DOCSDIR%%" >>${PLIST} -.endif - -# We want mail.local and rmail for our system. -# the build install catmans only, we have to fix this. -post-install: - ( cd ${WRKSRC}/mail.local && ${MAKE} force-install ) - ( cd ${WRKSRC}/rmail && ${MAKE} force-install ) -.if ! defined(SENDMAIL_WITHOUT_MILTER) - ${MKDIR} ${PREFIX}/include/libmilter - ${INSTALL_DATA} ${WRKSRC}/include/libmilter/mfapi.h \ - ${WRKSRC}/include/libmilter/mfdef.h \ - ${PREFIX}/include/libmilter/ - ${INSTALL_DATA} \ - ${WRKSRC}/obj.`${WRKSRC}/devtools/bin/Build -A`/libmilter/libmilter.a \ - ${PREFIX}/lib/ -.endif -.if exists(${DESTDIR}/etc/mail/mailer.conf) - ${INSTALL_SCRIPT} ${WRKSRC}/sm-client.sh \ - ${LOCALBASE}/etc/rc.d/sm-client.sh.sample - ${INSTALL_SCRIPT} ${WRKSRC}/sendmail.sh \ - ${LOCALBASE}/etc/rc.d/sendmail.sh.sample -.endif - ${CHOWN} smmsp:smmsp /var/spool/clientmqueue - ${CHMOD} 770 /var/spool/clientmqueue -.for i in ${MAN8} - @${RM} -f ${MANPREFIX}/man/cat8/${i} ${MANPREFIX}/man/cat8/${i}.gz - ${INSTALL_MAN} ${WRKSRC}/*/${i} ${MANPREFIX}/man/man8 -.endfor -.for i in ${MAN5} - @${RM} -f ${MANPREFIX}/man/cat5/${i} ${MANPREFIX}/man/cat5/${i}.gz - ${INSTALL_MAN} ${WRKSRC}/*/${i} ${MANPREFIX}/man/man5 -.endfor -.for i in ${MAN1} - @${RM} -f ${MANPREFIX}/man/cat1/${i} ${MANPREFIX}/man/cat1/${i}.gz - ${INSTALL_MAN} ${WRKSRC}/*/${i} ${MANPREFIX}/man/man1 -.endfor - ${MKDIR} ${PREFIX}/share/sendmail - @${TAR} -C ${WRKSRC} -cf - cf | \ - ${TAR} -C ${PREFIX}/share/sendmail -xf - -.if !defined(NOPORTDOCS) - ${MKDIR} ${DOCSDIR} - @cd ${WRKSRC} && ${INSTALL_DATA} ${DOCS} ${DOCSDIR}/ - ${INSTALL_DATA} ${WRKSRC}/doc/op/op.ps ${DOCSDIR}/op.ps - ${INSTALL_DATA} ${WRKSRC}/doc/op/op.txt ${DOCSDIR}/op.txt - ${INSTALL_DATA} ${WRKSRC}/devtools/README ${DOCSDIR}/DEVTOOLS - ${INSTALL_DATA} ${WRKSRC}/sendmail/README ${DOCSDIR}/SENDMAIL - ${INSTALL_DATA} ${WRKSRC}/mail.local/README ${DOCSDIR}/MAIL.LOCAL - ${INSTALL_DATA} ${WRKSRC}/smrsh/README ${DOCSDIR}/SMRSH -.if ! defined(SENDMAIL_WITHOUT_MILTER) - ${INSTALL_DATA} ${WRKSRC}/libmilter/README ${DOCSDIR}/MILTER - ${MKDIR} ${DOCSDIR}/libmilter - @${TAR} -C ${WRKSRC}/libmilter/docs -cf - . | \ - ${TAR} -C ${DOCSDIR}/libmilter -xf - -.endif -.if defined(SENDMAIL_WITH_CONNECTION_RATE) - ${INSTALL_DATA} ${FILESDIR}/CONNECTION_RATE_CONTROL \ - ${DOCSDIR}/CONNECTION_RATE_CONTROL -.endif -.if defined(SENDMAIL_WITH_CYRUSLOOKUP) - ${INSTALL_DATA} ${FILESDIR}/CYRUS_LOOKUP ${DOCSDIR}/CYRUS_LOOKUP -.endif -.endif -.if exists(${DESTDIR}/etc/mail/mailer.conf) - @${CAT} ${PKGMESSAGE} - -mailer.base: - @${SED} \ - -e "s=^sendmail[ ]*/.*$$=sendmail ${BASEMAIL}=" \ - -e "s=^send-mail[ ]*/.*$$=send-mail ${BASEMAIL}=" \ - -e "s=^mailq[ ]*/.*$$=mailq ${BASEMAIL}=" \ - -e "s=^newaliases[ ]*/.*$$=newaliases ${BASEMAIL}=" \ - -e "s=^hoststat[ ]*/.*$$=hoststat ${BASEMAIL}=" \ - -e "s=^purgestat[ ]*/.*$$=purgestat ${BASEMAIL}=" \ - ${DESTDIR}/etc/mail/mailer.conf > ${DESTDIR}/etc/mail/mailer.conf.new - ${MV} ${DESTDIR}/etc/mail/mailer.conf.new \ - ${DESTDIR}/etc/mail/mailer.conf - -mailer.conf: - @${SED} \ - -e "s=^sendmail[ ]*/.*$$=sendmail ${SENDMAIL}=" \ - -e "s=^send-mail[ ]*/.*$$=send-mail ${SENDMAIL}=" \ - -e "s=^mailq[ ]*/.*$$=mailq ${SENDMAIL}=" \ - -e "s=^newaliases[ ]*/.*$$=newaliases ${SENDMAIL}=" \ - -e "s=^hoststat[ ]*/.*$$=hoststat ${SENDMAIL}=" \ - -e "s=^purgestat[ ]*/.*$$=purgestat ${SENDMAIL}=" \ - ${DESTDIR}/etc/mail/mailer.conf > ${DESTDIR}/etc/mail/mailer.conf.new - ${MV} ${DESTDIR}/etc/mail/mailer.conf.new \ - ${DESTDIR}/etc/mail/mailer.conf -.endif - -# create sumbit.cf on older systems -# -submit.cf: ${DESTDIR}/etc/mail/submit.cf - -${DESTDIR}/etc/mail/submit.mc: - ${INSTALL_DATA} ${PREFIX}/share/sendmail/cf/cf/submit.mc \ - ${DESTDIR}/etc/mail/submit.mc - -${DESTDIR}/etc/mail/submit.cf: ${DESTDIR}/etc/mail/submit.mc - @( cd ${DESTDIR}/etc/mail && ${MAKE} \ - SENDMAIL_CF_DIR=${PREFIX}/share/sendmail/cf \ - SENDMAIL_MC=submit ) - -# create basics for smtp-auth -# -howto-sasldb: - @${ECHO_CMD} "# Links:" - @${ECHO_CMD} "#" - @${ECHO_CMD} "# http://www.sendmail.org/~gshapiro/" - @${ECHO_CMD} "# http://www.sendmail.org/~ca/email/auth.html" - @${ECHO_CMD} "# http://www.asp.ogi.edu/people/paja/linux/sendmail/" - @${ECHO_CMD} "# http://blue-labs.org/clue/sendmail.php" - @${ECHO_CMD} "# http://www.digitalanswers.org/sendmail/" - @${ECHO_CMD} "#" - -# create certificates for TLS/SSL -# -tls-install: - ${SETENV} DESTDIR=${DESTDIR} FILESDIR=${FILESDIR} \ - ${SH} ${FILESDIR}/tls-install.sh - -.include <bsd.port.pre.mk> - -.if defined(SENDMAIL_WITH_TLS) || defined(WITH_TLS) -.if ! defined(WITH_OPENSSL_BASE) -SITE+= ${FILESDIR}/site.config.m4.ssl -.endif -SITE+= ${FILESDIR}/site.config.m4.tls -.endif - -.if exists(${FILESDIR}/site.config.m4.local) -SITE+= ${FILESDIR}/site.config.m4.local -.endif - -.if exists(${DESTDIR}/etc/mail/mailer.conf) && ${PREFIX} == "/usr" -pre-everything:: - @${ECHO_CMD} "#" - @${ECHO_CMD} "# You can't override the base sendmail this way." - @${ECHO_CMD} "# your version FreeBSD use mailwrapper." - @${ECHO_CMD} "#" - @${ECHO_CMD} "# Please install with normal PREFIX" - @${ECHO_CMD} "# and activate the port version with" - @${ECHO_CMD} "# cd ${PORTSDIR}/mail/sendmail && make mailer.conf" - @${ECHO_CMD} "#" - @${FALSE} -.endif - -.include <bsd.port.post.mk> diff --git a/mail/sendmail812/distinfo b/mail/sendmail812/distinfo deleted file mode 100644 index 8d7d6cb..0000000 --- a/mail/sendmail812/distinfo +++ /dev/null @@ -1,6 +0,0 @@ -MD5 (sendmail.8.12.11.tar.gz) = fafda7f8043f0c34b9aa295618aa598c -SIZE (sendmail.8.12.11.tar.gz) = 1899112 -MD5 (ratectrl.src-v2.patch) = 19fdd5cf759ef693f8f721bcc1b85740 -SIZE (ratectrl.src-v2.patch) = 19321 -MD5 (ratectrl.cf.patch) = 5d88ba0fd3416ded5c908983308fa73a -SIZE (ratectrl.cf.patch) = 1722 diff --git a/mail/sendmail812/files/CONNECTION_RATE_CONTROL b/mail/sendmail812/files/CONNECTION_RATE_CONTROL deleted file mode 100644 index 4b6a87f..0000000 --- a/mail/sendmail812/files/CONNECTION_RATE_CONTROL +++ /dev/null @@ -1,167 +0,0 @@ - - CONNECTION RATE CONTROL FOR SENDMAIL - ------------------------------------ - -This patch adds connection rate control feature to sendmail. - -This means : - -- sendmail counts on a sliding window the number of connections - for each smtp client, and if it exceeds maximum configured - value, connection is refused with a TEMPFAIL result. - -- you may surely want to exclude some hosts/networks from this - control (local networks, trusted networks, ...). You may - indicate the list of trusted servers (by ip address) at - some configuration file. - -This file Table of Contents : - - 1. Remarks - 2. Changes and History - 3. Getting the stuff - 4. Stuff Contents - 5. Installing - -****************************************************************** - -REMARKS : ---------- - -* This feature will be integrated into sendmail in a future version. - -* This feature is experimental. Some details on the way it works - or its interface may change in the future. - -* The contents of this stuff is valid for sendmail 8.12.9 - - All feedback, comments and questions about this stuff are welcome : - Jose-Marcio.Martins@ensmp.fr (the maintainer) - with CC to - sendmail@sendmail.org - -CHANGES AND HISTORY : ---------------------- - -2003/06/11 - Jose Marcio Martins da Cruz - First Release - -2003/07/03 - Jose Marcio Martins da Cruz - Two macros were defined : - - {client_rate} : connection rate of the client - - {server_rate} : connection rate of the server - -GETTING THE STUFF : -------------------- - -You can download all you need at : - - http://j-chkmail.ensmp.fr/sm - -You need the two patches you'll find there. - -STUFF CONTENTS : ----------------- - -This stuff contains two patches : - -- ratectrl.src.patch : this patch shall be used to modify - /PATH_TO_SRC/sendmail-8.12.9/sendmail - sendmail C source - files - -- ratectrl.cf.patch : this patch shall be used to modify - /PATH_TO_SRC/sendmail-8.12.9/cf - m4 configuration kit - for sendmail - -- rate.mc : this is an example of configuration file to be - used with this stuff, if you want to do connection rate - control with rulesets. To use it, you shall define the - variable : - D{RuleRateMaxClient}5 - This contribution comes from Stephane Lentz - Stephane.Lentz@ansf.alcatel.fr - - -INSTALLING : ------------- - -1. Copy the patches : - - cd /PATH_TO/sendmail-8.12.9 - cp /elsewhere/ratectrl.src.patch . - cp /elsewhere/ratectrl.cf.patch . - -2. Eventually save original source code : - - cp -pr sendmail sendmail.org - cp -pr cf cf.org - -3. Apply the patches - - cd sendmail - patch < ../ratectrl.src.patch - cd ../cf - patch < ../ratectrl.cf.patch - -4. Inform sendmail Build system that you want to use this stuff - - Add the following line to the file devtools/Site/site.config.m4 : - -APPENDDEF(`confENVDEF',`-D_FFR_CONNECTION_RATE_CONTROL') - -5. Rebuild sendmail and install - - cd /PATH_TO/sendmail-8.12.9 - ./Build -c - su - ./Build install - -6. Modify your configuration file (sendmail.mc for your site) - -You may add the following lines : - - FEATURE(rate_control) - -This will create the following lines at your sendmail.cf file : - ------ - -O CheckConnectionRate=True - -F{rate_exclude} -o /etc/mail/rate-control-exclude - -# maximum server connection rate (connections / minute) -#O MaxConnectionRate=600 - -# maximum connection rate per client (connections / minute) -#O MaxClientConnectionRate=5 - -# Width of the window -#O ConnectionRateWindowSize=60 - ----- - -Configuration parameters you may define at your mc file - -confRATE_EXCLUDE_FILE The name of the file defining class {rate_exclude}. - Access to the server will be granted to IP hosts - networks matching this class without connection - rate control. - Default Value : /etc/mail/rate-control-exclude - -confMAX_CLIENT_CONNECTION_RATE : Maximum connections per minute allowed - for hosts/networks not matching {rate_exclude} - class. - Default Value : 5 connections / minute. - -confMAX_CONNECTION_RATE : Maximum connections per minute for the server. - Default Value : 600 connections / minute. - -confCONNECTION_RATE_WINDOW_SIZE : Width of the measuring sliding window. - The value used to do rate control is the mean - of the number of connections inside this window. - Default Value : 60 (1 minute) - - - - - diff --git a/mail/sendmail812/files/CYRUS_LOOKUP b/mail/sendmail812/files/CYRUS_LOOKUP deleted file mode 100644 index a1a685b..0000000 --- a/mail/sendmail812/files/CYRUS_LOOKUP +++ /dev/null @@ -1,80 +0,0 @@ - - CYRUS MAILBOX LOOKUP FOR SENDMAIL - --------------------------------- - -You have enabled modifications for sendmail for looking up -whether a cyrus (2.2.3+) mailbox exists and is under quota -before accepting any mail to be relayed to cyrus. - -They are based on the idea and work by - -Andrzej Filip - -published at - -http://anfi.homeunix.net/sendmail/rtcyrus2.html. - -Please, use this url to learn all configuration details -(although a quick recipe is provided below) and may be to give -credits to the author. - -****************************************************************** - -HOW TO : ---------- - -0. Build the `mail/sendmail' sendmail port with - SENDMAIL_WITH_SOCKETMAP=yes SENDMAIL_WITH_CYRUSLOOKUP=yes - This is what you've just obviously done, unless you are just browsing the - ports tree. To stick with these settings, you can place something like - the following in your `/etc/make.conf'. - -PORTSDIR?= /usr/ports -.if ${.CURDIR} == ${PORTSDIR}/mail/sendmail -SENDMAIL_WITH_CYRUSLOOKUP= yes -SENDMAIL_WITH_SOCKETMAP= yes -# possibly other sendmail knobs here too. -.endif - - You should have also installed and configured Cyrus IMAP server, - version 2.2.3 or higher. Not the worst idea is to utilize the - `mail/cyrus-imapd22' port. - -1. Insert the following lines to the SERVICES sections of `cyrus.conf'. - By default, the port installs it to `/usr/local/etc'. - - # Sendmail socket map smmapd(8) - smmap cmd="smmapd" listen="/var/imap/socket/smmapd" prefork=0 - - A SIGHUP would make the Cyrus master(8) process catch this change - on-the-fly. Please, also note, that if sendmail and cyrus run on - separate machines, you will obviously need to modify this line - and a couple of others. - -2. As per the `install-configure' from Cyrus IMAP server's documentation, - in the simplest case, you add: - - define(`confLOCAL_MAILER', `cyrusv2')dnl - MAILER(`cyrusv2')dnl - - to your sendmail's .mc file to make local delivery to Cyrus mailboxes. - Per the instructions, provided by Andrzej Filip (see the above URL), - these lines should become: - - define(`LOCAL_RELAY',`mrs_cyrus_user:stripdom')dnl - FEATURE(`mrs')dnl - FEATURE(`mrs_cyrus')dnl - MODIFY_MAILER_FLAGS(`CYRUSV2',`-A5')dnl - MAILER(`cyrusv2')dnl - - for sendmail to start rejecting local addresses for nonexisting and - full mailboxes. Rebuild your sendmail.cf, restart sendmail, and enjoy! - - If your configuration is more complicated than the above two lines, - read Andrzej's article. It contains more examples. - -****************************************************************** - -2004, April 8th -Michael O. Boev, -mike@tric.ru. diff --git a/mail/sendmail812/files/cyruslookup.patch b/mail/sendmail812/files/cyruslookup.patch deleted file mode 100644 index 05ec857..0000000 --- a/mail/sendmail812/files/cyruslookup.patch +++ /dev/null @@ -1,119 +0,0 @@ -*** cf/m4/proto.m4 2004/03/09 15:49:38 1.1 ---- cf/m4/proto.m4 2004/03/10 20:29:48 -*************** -*** 1299,1304 **** ---- 1299,1307 ---- - R< error : $- : $+ > $* $#error $@ $(dequote $1 $) $: $2 - R< error : $+ > $* $#error $: $1 - R< local : $* > $* $>CanonLocal < $1 > $2 -+ ifdef(`_MRS_RELAY_',`dnl -+ R< $={MRS} : $* > $* $@ $> $1 < $2 > $3 -+ dnl') - dnl it is $~[ instead of $- to avoid matches on IPv6 addresses - R< $~[ : $+ @ $+ > $*<$*>$* $# $1 $@ $3 $: $2<@$3> use literal user - R< $~[ : $+ > $* $# $1 $@ $2 $: $3 try qualified mailer ---- /dev/null Wed Apr 7 20:03:20 2004 -+++ cf/feature/mrs.m4 Tue Mar 23 14:00:30 2004 -@@ -0,0 +1,25 @@ -+divert(-1) -+dnl -+dnl Updates: http://anfi.homeunix.net/sendmail/mrs.html -+dnl -+dnl By using this file, you agree to the terms and conditions set -+dnl forth in the LICENSE file which can be found at the top level of -+dnl the sendmail distribution (sendmail-8.12). -+dnl -+dnl Contributed by Andrzej Filip -+dnl -+dnl THE FEATURE REQUIRES PATCHING cf/m4/proto.m4 -+dnl SEE THE LINK AFTER "Updates:" -+dnl -+dnl $Log: mrs.m4,v $ -+dnl Revision 8.3 2004/03/18 21:39:22 anfi -+dnl Changed comments prefixes to dnl to avoid m4 expansions -+dnl -+dnl Revision 8.2 2004/03/15 09:14:28 anfi -+dnl Added "Updates:" web link. -+dnl -+divert(0) -+VERSIONID(`$Id: mrs.m4,v 8.3 2004/03/18 21:39:22 anfi Exp $') -+divert(-1) -+ -+define(`_MRS_RELAY_', `') ---- /dev/null Thu Apr 8 15:55:21 2004 -+++ cf/feature/mrs_cyrus.m4 Thu Apr 1 21:37:05 2004 -@@ -0,0 +1,74 @@ -+divert(-1) -+dnl -+dnl Updates: http://anfi.homeunix.net/sendmail/rtcyrus2.html -+dnl -+dnl By using this file, you agree to the terms and conditions set -+dnl forth in the LICENSE file which can be found at the top level of -+dnl the sendmail distribution (sendmail-8.12). -+dnl -+dnl Contributed by Andrzej Filip -+dnl -+dnl $Log: mrs_cyrus.m4,v $ -+dnl Revision 8.7 2004/04/01 14:29:50 anfi -+dnl Added "stripdom" handling in mrs_cyrus_user. -+dnl Fully defined error mailer details. -+dnl -+dnl Revision 8.6 2004/03/18 23:17:57 anfi -+dnl Fundamental rewrite. -+dnl -+ifdef(`_MRS_RELAY_',`', -+ `errprint(`*** ERROR: FEATURE(mrs_cyrus) requires FEATURE(mrs) -+')') -+ifdef(`_MRS_CYRUS_', -+ `errprint(`*** ERROR: There can be only one FEATURE(mrs_cyrus*) -+')') -+define(`_MRS_CYRUS_',`') -+ -+divert(0) -+VERSIONID(`$Id: mrs_cyrus.m4,v 8.7 2004/04/01 14:29:50 anfi Exp $') -+divert(-1) -+define(`CYRUS_SMMAPD_SOCKET', -+ ifelse(len(X`'_ARG_), `1', `/var/imap/socket/smmapd', _ARG_)) -+define(`CYRUS_SMMAPD_SOCKET_TYPE', -+ ifelse(len(X`'_ARG2_), `1', `local', _ARG2_)) -+LOCAL_CONFIG -+# Add 3 mrs_cyrus rule sets to list of valid mrs rule sets -+C{MRS}mrs_cyrus_user mrs_cyrus_mailertable mrs_cyrus_stickyhub -+# map for checking cyrus imap mailbox existence -+Kcyrus socket -a<OK> -T<TMPF> CYRUS_SMMAPD_SOCKET_TYPE:CYRUS_SMMAPD_SOCKET -+ -+LOCAL_RULESETS -+###################################################################### -+### feature mrs_cyrus rulesets to be used by feature mrs -+###################################################################### -+ -+Smrs_cyrus_user -+R<$*> $+ <@$+.> $: <$1> $2 <@ $3 > -+R<$*> $+ <@$*> $: <$1> $2 <@$3> $| $(cyrus $2 $: $) -+R<$*> $+ <@$*> $| $* <TMPF> $# error $@ 4.3.0 $: "451 Temporary system failure. Please try again later." -+R<$*> $+ <@$*> $| $* <OK> $# cyrusv2 $@ dummy $: $4 -+R<$*> $+ <@$*> $| $* $: <$1> $2 <@$3> -+R<stripdom> $+ <@stripdom> $@ $1 -+R< $~[ : $* > $* $>MailerToTriple < $1 : $2 > $3 -+R< $+ > $* $>MailerToTriple < $1 > $2 -+R< > $* $# error $@ 5.1.1 $: "550 User unknown" -+ -+Smrs_cyrus_mailertable -+R<$*> $+ <@$+.> $: <$1> $2 <@ $3 > -+R<$*> $+ <@$+> $: <$1> $2 <@$3> $| $(cyrus $2@$3 $: $) -+R<$*> $+ <@$+> $| $* <TMPF> $# error $@ 4.3.0 $: "451 Temporary system failure. Please try again later." -+R<$*> $+ <@$+> $| $* <OK> $# cyrusv2d $@ dummy $: $2 <@$3> -+R<$*> $+ <@$*> $| $* $: <$1> $2 <@$3> -+R< $~[ : $* > $* $>MailerToTriple < $1 : $2 > $3 -+R< $+ > $* $>MailerToTriple < $1 > $2 -+R< > $* $# error $@ 5.1.1 $: "550 User unknown" -+ -+Smrs_cyrus_stickyhub -+R<dummy> $+ <@$+.> $: <dummy> $1 <@ $2 > -+R<dummy> $* <@dummy> $@ $1 -+R<dummy> $+ <@$={VirtCyrus}> $: <dummy> $1 <@$2> $| $(cyrus $1@$2 $: $) -+R<dummy> $+ <@$={VirtCyrus}> $| $* <TMPF> $# error $@ 4.3.0 $: "451 Temporary system failure. Please try again later." -+R<dummy> $+ <@$={VirtCyrus}> $| $* <OK> $# cyrusv2d $@ dummy $: $1 <@$2> -+R<dummy> $+ <@$={VirtCyrus}> $| $* $# error $@ 5.1.1 $: "550 User unknown" -+R<dummy> $=L <@$*> $# ifdef(`confLOCAL_MAILER',confLOCAL_MAILER,`local') $: @$1 -+R<dummy> $* <@$*> $# ifdef(`confLOCAL_MAILER',confLOCAL_MAILER,`local') $: $1 diff --git a/mail/sendmail812/files/patch-aa b/mail/sendmail812/files/patch-aa deleted file mode 100644 index fa6d391..0000000 --- a/mail/sendmail812/files/patch-aa +++ /dev/null @@ -1,225 +0,0 @@ -diff -ur cf/m4/cfhead.m4.orig cf/m4/cfhead.m4 ---- cf/m4/cfhead.m4.orig Sun Jun 10 03:45:13 2001 -+++ cf/m4/cfhead.m4 Fri Jun 15 06:47:34 2001 -@@ -260,7 +261,8 @@ - define(`_REC_FULL_AUTH_', `$.$?{auth_type}(authenticated as ${auth_authen} $?{auth_author}for ${auth_author} $.with ${auth_type}') - define(`_REC_HDR_', `$?sfrom $s $.$?_($?s$|from $.$_)') - define(`_REC_END_', `for $u; $|; -- $.$b') -+ $.$b$?g -+ (envelope-from $g)$.') - define(`_REC_TLS_', `(version=${tls_version} cipher=${cipher} bits=${cipher_bits} verify=${verify})$.$?u') - define(`_REC_BY_', `$.by $j ($v/$Z)$?r with $r$. id $i$?{tls_version}') - define(`confRECEIVED_HEADER', `_REC_HDR_ -diff -ur cf/ostype/bsd4.4.m4 src/contrib/sendmail/cf/ostype/bsd4.4.m4 ---- cf/ostype/bsd4.4.m4 Sun Apr 25 22:00:56 1999 -+++ src/contrib/sendmail/cf/ostype/bsd4.4.m4 Wed Oct 4 23:19:29 2000 -@@ -16,5 +16,6 @@ - divert(0) - VERSIONID(`$Id: bsd4.4.m4,v 8.14 1999/04/24 05:37:40 gshapiro Exp $') - ifdef(`STATUS_FILE',, `define(`STATUS_FILE', `/var/log/sendmail.st')')dnl - ifdef(`LOCAL_MAILER_PATH',, `define(`LOCAL_MAILER_PATH', /usr/libexec/mail.local)')dnl -+ifdef(`LOCAL_MAILER_ARGS',, `define(`LOCAL_MAILER_ARGS', `mail $u')')dnl - ifdef(`UUCP_MAILER_ARGS',, `define(`UUCP_MAILER_ARGS', `uux - -r -z -a$g $h!rmail ($u)')')dnl -diff -ur cf/sh/makeinfo.sh src/contrib/sendmail/cf/sh/makeinfo.sh ---- cf/sh/makeinfo.sh Sun Feb 7 08:26:25 1999 -+++ src/contrib/sendmail/cf/sh/makeinfo.sh Wed Oct 4 23:19:29 2000 -@@ -52,7 +54,7 @@ - else - host=`uname -n` - fi --echo '#####' built by $user@$host on `date` -+echo '#####' built by $user@$host on `LC_TIME=C date` - echo '#####' in `pwd` | sed 's/\/tmp_mnt//' - echo '#####' using $1 as configuration include directory | sed 's/\/tmp_mnt//' - echo "define(\`__HOST__', $host)dnl" -diff -ur mail.local/mail.local.8.orig mail.local/mail.local.8 ---- mail.local/mail.local.8.orig Fri Apr 6 01:27:35 2001 -+++ mail.local/mail.local.8 Thu May 31 07:36:03 2001 -@@ -16,9 +16,9 @@ - \- store mail in a mailbox - .SH SYNOPSIS - .B mail.local --.RB [ \-7 "] [" \-b "] [" \-d "] [" \-D -+.RB [ \-7 "] [" \-b "] [" \-B "] [" \-d "] [" \-D - .IR mbdb ] --.RB [ \-l "] [" \-f -+.RB [ \-l "] [" \-s "] [" \-f - \fIfrom\fR|\fB\-r\fR - .IR from ] - .RB [ \-h -@@ -38,6 +41,11 @@ - .B \-7 - Do not advertise 8BITMIME support in LMTP mode. - .TP -+.B \-B -+Turn off the attempts to notify the -+.Dq biff -+service. -+.TP - .B \-b - Return a permanent error instead of a temporary error - if a mailbox exceeds quota. -@@ -56,6 +64,13 @@ - .TP - .B \-l - Turn on LMTP mode. -+.TP -+.B \-s -+Turn off the -+.Xr fsync 2 -+call that forces the mailbox to be committed to disk before returning a -+.Dq success -+status. - .TP - .BI \-r " from" - Specify the sender's name (for backward compatibility). -@@ -97,7 +112,7 @@ - .SH FILES - .PD 0.2v - .TP 2.2i --/tmp/local.XXXXXX -+/var/tmp/local.XXXXXX - temporary files - .TP - /var/mail/user -@@ -108,7 +123,6 @@ - .PD - .SH SEE ALSO - mail(1), --xsend(1), - flock(2), - getservbyname(3), - comsat(8), -diff -ur mail.local/mail.local.c.orig mail.local/mail.local.c ---- mail.local/mail.local.c.orig Thu May 10 02:58:31 2001 -+++ mail.local/mail.local.c Thu May 31 07:39:04 2001 -@@ -130,6 +132,8 @@ - bool HoldErrs = false; /* Hold errors in ErrBuf */ - bool LMTPMode = false; - bool BounceQuota = false; /* permanent error when over quota */ -+bool NoBiff = false; -+bool NoFsync = false; - char *HomeMailFile = NULL; /* store mail in homedir */ - - void deliver __P((int, char *)); -@@ -172,7 +176,7 @@ - # endif /* LOG_MAIL */ - - from = NULL; -- while ((ch = getopt(argc, argv, "7bdD:f:h:r:l")) != -1) -+ while ((ch = getopt(argc, argv, "7bBdD:f:h:r:ls")) != -1) - { - switch(ch) - { -@@ -180,6 +184,10 @@ - EightBitMime = false; - break; - -+ case 'B': -+ NoBiff = true; -+ break; -+ - case 'b': /* bounce mail when over quota. */ - BounceQuota = true; - break; -@@ -215,6 +223,10 @@ - LMTPMode = true; - break; - -+ case 's': -+ NoFsync = true; -+ break; -+ - case '?': - default: - usage(); -@@ -224,7 +236,8 @@ - argv += optind; - - /* initialize biff structures */ -- notifybiff(NULL); -+ if (!NoBiff) -+ notifybiff(NULL); - - err = sm_mbdb_initialize(mbdbname); - if (err != EX_OK) -@@ -1128,6 +1141,7 @@ - - /* Get the starting offset of the new message for biff. */ - curoff = lseek(mbfd, (off_t) 0, SEEK_END); -+ if (!NoBiff) - (void) sm_snprintf(biffmsg, sizeof(biffmsg), "%s@%lld\n", - name, (LONGLONG_T) curoff); - -@@ -1190,7 +1204,7 @@ - } - - /* Flush to disk, don't wait for update. */ -- if (fsync(mbfd) < 0) -+ if (!NoFsync && fsync(mbfd) < 0) - { - mailerr("450 4.2.0", "%s: %s", path, sm_errstring(errno)); - err3: -@@ -1216,7 +1230,7 @@ - mailerr(errcode, "%s: %s", path, sm_errstring(errno)); - (void) truncate(path, curoff); - } -- else -+ else if (!NoBiff) - notifybiff(biffmsg); - - if (setreuid(0, 0) < 0) -@@ -1395,7 +1409,8 @@ - usage() - { - ExitVal = EX_USAGE; -- mailerr(NULL, "usage: mail.local [-7] [-b] [-d] [-l] [-f from|-r from] [-h filename] user ..."); -+ mailerr(NULL, "usage: mail.local [-7] [-b] [-B] [-d] [-l] [-s] [-f from|-r from] [-h filename] user ..."); -+ - exit(ExitVal); - } - -diff -ur rmail/rmail.c src/contrib/sendmail/rmail/rmail.c ---- rmail/rmail.c Sun Sep 17 00:20:25 2000 -+++ src/contrib/sendmail/rmail/rmail.c Mon Nov 6 11:23:42 2000 -@@ -318,7 +320,11 @@ - args[i++] = _PATH_SENDMAIL; /* Build sendmail's argument list. */ - args[i++] = "-G"; /* relay submission */ - args[i++] = "-oee"; /* No errors, just status. */ -+#ifdef QUEUE_ONLY - args[i++] = "-odq"; /* Queue it, don't try to deliver. */ -+#else -+ args[i++] = "-odi"; /* Deliver in foreground. */ -+#endif - args[i++] = "-oi"; /* Ignore '.' on a line by itself. */ - - /* set from system and protocol used */ -diff -ur smrsh/smrsh.8.orig smrsh/smrsh.8 ---- smrsh/smrsh.8.orig Wed Jan 24 01:40:47 2001 -+++ smrsh/smrsh.8 Mon May 7 08:32:45 2001 -@@ -39,7 +41,7 @@ - .I smrsh - limits programs to be in a single directory, - by default --/usr/adm/sm.bin, -+/usr/libexec/sm.bin, - 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 -@@ -50,13 +52,12 @@ - ``"|exec /usr/local/bin/procmail -f- /etc/procmailrcs/user || exit 75"'' - .PP - Initial pathnames on programs are stripped, --so forwarding to ``/usr/ucb/vacation'', --``/usr/bin/vacation'', -+so forwarding to ``/usr/bin/vacation'', - ``/home/server/mydir/bin/vacation'', - and - ``vacation'' - all actually forward to --``/usr/adm/sm.bin/vacation''. -+``/usr/libexec/sm.bin/vacation''. - .PP - System administrators should be conservative about populating - the sm.bin directory. diff --git a/mail/sendmail812/files/pkg-milter b/mail/sendmail812/files/pkg-milter deleted file mode 100644 index 374de62..0000000 --- a/mail/sendmail812/files/pkg-milter +++ /dev/null @@ -1,43 +0,0 @@ -include/libmilter/mfapi.h -include/libmilter/mfdef.h -lib/libmilter.a -@dirrm include/libmilter -%%PORTDOCS%%share/doc/sendmail/MILTER -%%PORTDOCS%%share/doc/sendmail/libmilter/api.html -%%PORTDOCS%%share/doc/sendmail/libmilter/design.html -%%PORTDOCS%%share/doc/sendmail/libmilter/figure1.fig -%%PORTDOCS%%share/doc/sendmail/libmilter/figure1.jpg -%%PORTDOCS%%share/doc/sendmail/libmilter/figure1.ps -%%PORTDOCS%%share/doc/sendmail/libmilter/figure2.fig -%%PORTDOCS%%share/doc/sendmail/libmilter/figure2.jpg -%%PORTDOCS%%share/doc/sendmail/libmilter/figure2.ps -%%PORTDOCS%%share/doc/sendmail/libmilter/index.html -%%PORTDOCS%%share/doc/sendmail/libmilter/installation.html -%%PORTDOCS%%share/doc/sendmail/libmilter/other.html -%%PORTDOCS%%share/doc/sendmail/libmilter/overview.html -%%PORTDOCS%%share/doc/sendmail/libmilter/sample.html -%%PORTDOCS%%share/doc/sendmail/libmilter/smfi_addheader.html -%%PORTDOCS%%share/doc/sendmail/libmilter/smfi_addrcpt.html -%%PORTDOCS%%share/doc/sendmail/libmilter/smfi_chgheader.html -%%PORTDOCS%%share/doc/sendmail/libmilter/smfi_delrcpt.html -%%PORTDOCS%%share/doc/sendmail/libmilter/smfi_getpriv.html -%%PORTDOCS%%share/doc/sendmail/libmilter/smfi_getsymval.html -%%PORTDOCS%%share/doc/sendmail/libmilter/smfi_main.html -%%PORTDOCS%%share/doc/sendmail/libmilter/smfi_register.html -%%PORTDOCS%%share/doc/sendmail/libmilter/smfi_replacebody.html -%%PORTDOCS%%share/doc/sendmail/libmilter/smfi_setbacklog.html -%%PORTDOCS%%share/doc/sendmail/libmilter/smfi_setconn.html -%%PORTDOCS%%share/doc/sendmail/libmilter/smfi_setpriv.html -%%PORTDOCS%%share/doc/sendmail/libmilter/smfi_setreply.html -%%PORTDOCS%%share/doc/sendmail/libmilter/smfi_settimeout.html -%%PORTDOCS%%share/doc/sendmail/libmilter/xxfi_abort.html -%%PORTDOCS%%share/doc/sendmail/libmilter/xxfi_body.html -%%PORTDOCS%%share/doc/sendmail/libmilter/xxfi_close.html -%%PORTDOCS%%share/doc/sendmail/libmilter/xxfi_connect.html -%%PORTDOCS%%share/doc/sendmail/libmilter/xxfi_envfrom.html -%%PORTDOCS%%share/doc/sendmail/libmilter/xxfi_envrcpt.html -%%PORTDOCS%%share/doc/sendmail/libmilter/xxfi_eoh.html -%%PORTDOCS%%share/doc/sendmail/libmilter/xxfi_eom.html -%%PORTDOCS%%share/doc/sendmail/libmilter/xxfi_header.html -%%PORTDOCS%%share/doc/sendmail/libmilter/xxfi_helo.html -%%PORTDOCS%%@dirrm share/doc/sendmail/libmilter diff --git a/mail/sendmail812/files/sendmail.sh b/mail/sendmail812/files/sendmail.sh deleted file mode 100644 index a63031b..0000000 --- a/mail/sendmail812/files/sendmail.sh +++ /dev/null @@ -1,58 +0,0 @@ -#!/bin/sh -# -# $FreeBSD$ -# -if ! test -x %%PREFIX%%/sbin/sendmail -then - exit 0 -fi -# -case "$1" in -start) - # If there is a global system configuration file, suck it in. - # - if [ -r /etc/defaults/rc.conf ]; then - . /etc/defaults/rc.conf - source_rc_confs - elif [ -r /etc/rc.conf ]; then - . /etc/rc.conf - fi - - # Flags to sendmail (as a server) - sendmail_flags="${sendmail_flags--L sm-mta -bd -q30m}" - # Flags for sendmail_msp_queue daemon. - sendmail_msp_queue_flags=" - ${sendmail_msp_queue_flags--L sm-msp-queue -Ac -q30m}" - # - %%PREFIX%%/sbin/sendmail ${sendmail_flags} && - echo -n ' sendmail' - %%PREFIX%%/sbin/sendmail ${sendmail_msp_queue_flags} && - echo -n ' sm-msp-queue' - ;; -stop) - if test -e /var/run/sendmail.pid - then - kill `head -1 /var/run/sendmail.pid` - rm -f /var/run/sendmail.pid - fi - if test -e /var/spool/clientmqueue/sm-client.pid - then - kill `head -1 /var/spool/clientmqueue/sm-client.pid` - rm -f /var/spool/clientmqueue/sm-client.pid - fi - ;; -restart) - if test -e /var/run/sendmail.pid - then - kill -1 `head -1 /var/run/sendmail.pid` - fi - if test -e /var/spool/clientmqueue/sm-client.pid - then - kill -1 `head -1 /var/spool/clientmqueue/sm-client.pid` - fi - ;; -*) - echo "Usage: ${0##*/}: { start | stop | restart }" >&2 - exit 64 - ;; -esac diff --git a/mail/sendmail812/files/site.config.m4 b/mail/sendmail812/files/site.config.m4 deleted file mode 100644 index 6fca36f..0000000 --- a/mail/sendmail812/files/site.config.m4 +++ /dev/null @@ -1,10 +0,0 @@ -define(`confEBINDIR',`%%PREFIX%%/libexec') -define(`confMANROOT',`%%PREFIX%%/man/cat') -define(`confMANROOTMAN',`%%PREFIX%%/man/man') -define(`confMBINDIR',`%%PREFIX%%/sbin') -define(`confSBINDIR',`%%PREFIX%%/sbin') -define(`confUBINDIR',`%%PREFIX%%/bin') -define(`confNO_STATISTICS_INSTALL',`True') -define(`confHFDIR', `%%PREFIX%%/share/sendmail') -APPENDDEF(`conf_sendmail_ENVDEF', `-DTCPWRAPPERS') -APPENDDEF(`conf_sendmail_LIBS', `-lwrap')" diff --git a/mail/sendmail812/files/site.config.m4.ipv6 b/mail/sendmail812/files/site.config.m4.ipv6 deleted file mode 100644 index 41f0ccc..0000000 --- a/mail/sendmail812/files/site.config.m4.ipv6 +++ /dev/null @@ -1,2 +0,0 @@ -APPENDDEF(`conf_sendmail_ENVDEF', `-DNETINET6') -APPENDDEF(`conf_libmilter_ENVDEF', `-DNETINET6') diff --git a/mail/sendmail812/files/site.config.m4.ldap b/mail/sendmail812/files/site.config.m4.ldap deleted file mode 100644 index 0a67a5a..0000000 --- a/mail/sendmail812/files/site.config.m4.ldap +++ /dev/null @@ -1,25 +0,0 @@ -APPENDDEF(`confLIBDIRS', `-L%%LOCALBASE%%/lib') -APPENDDEF(`conf_libsm_ENVDEF', `-I%%LOCALBASE%%/include') -APPENDDEF(`conf_libsm_ENVDEF', `-DLDAPMAP') -APPENDDEF(`conf_libsm_LIBS', `-lldap') -APPENDDEF(`conf_libsm_LIBS', `-llber') -APPENDDEF(`conf_sendmail_ENVDEF', `-I%%LOCALBASE%%/include') -APPENDDEF(`conf_sendmail_ENVDEF', `-DLDAPMAP') -APPENDDEF(`conf_sendmail_LIBS', `-lldap') -APPENDDEF(`conf_sendmail_LIBS', `-llber') -APPENDDEF(`conf_editmap_LIBS', `-lldap') -APPENDDEF(`conf_editmap_LIBS', `-llber') -APPENDDEF(`conf_mail_local_LIBS', `-lldap') -APPENDDEF(`conf_mail_local_LIBS', `-llber') -APPENDDEF(`conf_mailstats_LIBS', `-lldap') -APPENDDEF(`conf_mailstats_LIBS', `-llber') -APPENDDEF(`conf_makemap_LIBS', `-lldap') -APPENDDEF(`conf_makemap_LIBS', `-llber') -APPENDDEF(`conf_praliases_LIBS', `-lldap') -APPENDDEF(`conf_praliases_LIBS', `-llber') -APPENDDEF(`conf_rmail_LIBS', `-lldap') -APPENDDEF(`conf_rmail_LIBS', `-llber') -APPENDDEF(`conf_smrsh_LIBS', `-lldap') -APPENDDEF(`conf_smrsh_LIBS', `-llber') -APPENDDEF(`conf_vacation_LIBS', `-lldap') -APPENDDEF(`conf_vacation_LIBS', `-llber') diff --git a/mail/sendmail812/files/site.config.m4.milter b/mail/sendmail812/files/site.config.m4.milter deleted file mode 100644 index de11295..0000000 --- a/mail/sendmail812/files/site.config.m4.milter +++ /dev/null @@ -1,2 +0,0 @@ -APPENDDEF(`conf_libmilter_ENVDEF', `-DMILTER') -APPENDDEF(`conf_sendmail_ENVDEF', `-DMILTER') diff --git a/mail/sendmail812/files/site.config.m4.pre4 b/mail/sendmail812/files/site.config.m4.pre4 deleted file mode 100644 index 384a8ec..0000000 --- a/mail/sendmail812/files/site.config.m4.pre4 +++ /dev/null @@ -1,3 +0,0 @@ -APPENDDEF(`conf_mail_local_ENVDEF', `-DQUEUE_ONLY') -APPENDDEF(`conf_smrsh_ENVDEF', `-DCMDDIR="\"%%PREFIX%%/libexec/sm.bin\""') -APPENDDEF(`conf_smrsh_ENVDEF', `-DPATH="\"/bin:/usr/bin\""') diff --git a/mail/sendmail812/files/site.config.m4.sasl b/mail/sendmail812/files/site.config.m4.sasl deleted file mode 100644 index 5c7e9ee..0000000 --- a/mail/sendmail812/files/site.config.m4.sasl +++ /dev/null @@ -1,4 +0,0 @@ -APPENDDEF(`conf_sendmail_ENVDEF', `-I%%LOCALBASE%%/include/sasl1') -APPENDDEF(`conf_sendmail_ENVDEF', `-DSASL') -APPENDDEF(`confLIBDIRS', `-L%%LOCALBASE%%/lib') -APPENDDEF(`conf_sendmail_LIBS', `-lsasl') diff --git a/mail/sendmail812/files/site.config.m4.sasl2 b/mail/sendmail812/files/site.config.m4.sasl2 deleted file mode 100644 index bf1d85f..0000000 --- a/mail/sendmail812/files/site.config.m4.sasl2 +++ /dev/null @@ -1,4 +0,0 @@ -APPENDDEF(`conf_sendmail_ENVDEF', `-I%%LOCALBASE%%/include') -APPENDDEF(`conf_sendmail_ENVDEF', `-DSASL=2') -APPENDDEF(`confLIBDIRS', `-L%%LOCALBASE%%/lib') -APPENDDEF(`conf_sendmail_LIBS', `-lsasl2') diff --git a/mail/sendmail812/files/site.config.m4.ssl b/mail/sendmail812/files/site.config.m4.ssl deleted file mode 100644 index 8010308..0000000 --- a/mail/sendmail812/files/site.config.m4.ssl +++ /dev/null @@ -1,3 +0,0 @@ -APPENDDEF(`confLIBDIRS', `-L%%LOCALBASE%%/lib' -rpath=%%LOCALBASE%%/lib ) -APPENDDEF(`confINCDIRS', `-I%%LOCALBASE%%/include') -APPENDDEF(`conf_sendmail_ENVDEF', `-DHASSRANDOMDEV') diff --git a/mail/sendmail812/files/site.config.m4.tls b/mail/sendmail812/files/site.config.m4.tls deleted file mode 100644 index 16e2e2b..0000000 --- a/mail/sendmail812/files/site.config.m4.tls +++ /dev/null @@ -1,4 +0,0 @@ -APPENDDEF(`conf_sendmail_ENVDEF', `-DSTARTTLS') -APPENDDEF(`conf_sendmail_ENVDEF', `-D_FFR_TLS_1') -APPENDDEF(`conf_sendmail_ENVDEF', `-D_FFR_SSL') -APPENDDEF(`conf_sendmail_LIBS', `-lssl -lcrypto') diff --git a/mail/sendmail812/files/sm-client.sh b/mail/sendmail812/files/sm-client.sh deleted file mode 100644 index 0182815..0000000 --- a/mail/sendmail812/files/sm-client.sh +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/sh -# -# $FreeBSD: /tmp/pcvs/ports/mail/sendmail812/files/Attic/sm-client.sh,v 1.4 2003-12-04 03:24:09 dinoex Exp $ -# -if ! test -x %%PREFIX%%/sbin/sendmail -then - exit 0 -fi -case "$1" in -start) - %%PREFIX%%/sbin/sendmail -L sm-msp-queue -Ac -q30m - echo -n ' sm-msp-queue' - ;; -stop) - if test -e /var/spool/clientmqueue/sm-client.pid - then - kill `head -1 /var/spool/clientmqueue/sm-client.pid` - rm -f /var/spool/clientmqueue/sm-client.pid - fi - ;; -restart) - if test -e /var/spool/clientmqueue/sm-client.pid - then - kill -1 `head -1 /var/spool/clientmqueue/sm-client.pid` - fi - ;; -*) - echo "Usage: ${0##*/}: { start | stop | restart }" >&2 - exit 64 - ;; -esac diff --git a/mail/sendmail812/files/socketmap.patch b/mail/sendmail812/files/socketmap.patch deleted file mode 100644 index ea128db..0000000 --- a/mail/sendmail812/files/socketmap.patch +++ /dev/null @@ -1,798 +0,0 @@ -Index: sendmail/sendmail/sendmail/README -diff -u sendmail/sendmail/sendmail/README:1.1.1.2 sendmail/sendmail/sendmail/README:1.3 ---- sendmail/README Thu Jan 23 11:50:26 2003 -+++ sendmail/README Tue Jan 28 16:55:41 2003 -@@ -127,6 +127,8 @@ - PH_MAP PH map support. You will need the libphclient library from - the nph package (http://www-dev.cso.uiuc.edu/ph/nph/). - MAP_NSD nsd map support (IRIX 6.5 and later). -+SOCKETMAP Support for a trivial query protocol over UNIX domain or TCP -+ sockets. - - >>> NOTE WELL for NEWDB support: If you want to get ndbm support, for - >>> Berkeley DB versions under 2.0, it is CRITICAL that you remove -@@ -180,6 +182,50 @@ - check_* rule-set, you can block a certain range of addresses that would - otherwise be considered valid. - -+The socket map uses a simple request/reply protocol over TCP or UNIX domain -+sockets to query an external server. Both requests and replies are text -+based and encoded as D.J. Bernsteins netstrings. E.g., a string -+"hello there" becomes: -+11:hello there, -+ -+NB. neither requests nor replies end with CRLF. -+ -+The request consists of the database map name and the lookup key separated -+by a space character: -+ -+<mapname> ' ' <key> -+ -+The server responds with a status indicator and the result (if any): -+ -+<status> ' ' <result> <LF> -+ -+The status indicator is one of the following upper case words: -+OK (the key was found, result contains the looked up value) -+NOTFOUND (the key was not found, the result is empty) -+TEMP (a temporary failure occured) -+TIMEOUT (a timeout occured on the server side) -+PERM (a permanent failure occured) -+ -+In case of errors (status TEMP, TIMEOUT or PERM) the result fied may -+contain an explanatory message. -+ -+Example replies: -+30:OK resolved.addess@example.com, -+ -+in case of a successful lookup, or: -+7:NOTFOUND, -+ -+in case the key was not found, or: -+54:TEMP this text explains that we had a temporary failure, -+ -+in case of a failure. -+ -+The socket map uses the same syntax as milters the specify the remote -+endpoint. E.g.: -+Ksocket mySocketMap inet:12345@127.0.0.1 -+ -+If multiple socket maps define the same remote endpoint, they will share -+a single connection to this endpoint. - - +---------------+ - | COMPILE FLAGS | -Index: sendmail/sendmail/sendmail/conf.c -diff -u sendmail/sendmail/sendmail/conf.c:1.1.1.2 sendmail/sendmail/sendmail/conf.c:1.6 ---- sendmail/conf.c Thu Jan 23 11:50:27 2003 -+++ sendmail/conf.c Fri Jan 24 15:31:59 2003 -@@ -622,6 +622,13 @@ - dequote_init, null_map_open, null_map_close, - arith_map_lookup, null_map_store); - -+#if SOCKETMAP -+ /* arbitrary daemons */ -+ MAPDEF("socket", NULL, MCF_ALIASOK, -+ map_parseargs, socket_map_open, socket_map_close, -+ socket_map_lookup, null_map_store); -+#endif /* SOCKETMAP */ -+ - if (tTd(38, 2)) - { - /* bogus map -- always return tempfail */ -Index: sendmail/sendmail/sendmail/map.c -diff -u sendmail/sendmail/sendmail/map.c:1.1.1.2 sendmail/sendmail/sendmail/map.c:1.25 ---- sendmail/map.c Thu Jan 23 11:50:27 2003 -+++ sendmail/map.c Tue Feb 25 14:57:14 2003 -@@ -66,6 +66,9 @@ - static bool ni_getcanonname __P((char *, int, int *)); - #endif /* NETINFO */ - static bool text_getcanonname __P((char *, int, int *)); -+#ifdef SOCKETMAP -+static STAB * socket_map_findconn __P((const char*)); -+#endif /* SOCKETMAP */ - - /* default error message for trying to open a map in write mode */ - #ifdef ENOSYS -@@ -7395,3 +7398,646 @@ - *statp = EX_CONFIG; - return NULL; - } -+ -+#ifdef SOCKETMAP -+ -+# if NETINET || NETINET6 -+# include <arpa/inet.h> -+# endif /* NETINET || NETINET6 */ -+ -+#define socket_map_next map_stack[0] -+#define socket_map_previous map_stack[1] -+ -+/* -+** SOCKET_MAP_OPEN -- open socket table -+*/ -+ -+bool -+socket_map_open(map, mode) -+ MAP *map; -+ int mode; -+{ -+ STAB *s; -+ -+ int sock = 0; -+ SOCKADDR_LEN_T addrlen = 0; -+ int addrno = 0; -+ int save_errno; -+ char *p; -+ char *colon; -+ char *at; -+ struct hostent *hp = NULL; -+ SOCKADDR addr; -+ -+ if (tTd(38, 2)) -+ sm_dprintf("socket_map_open(%s, %s, %d)\n", -+ map->map_mname, map->map_file, mode); -+ -+ mode &= O_ACCMODE; -+ -+ /* sendmail doesn't have the ability to write to SOCKET (yet) */ -+ if (mode != O_RDONLY) -+ { -+ /* issue a pseudo-error message */ -+ errno = SM_EMAPCANTWRITE; -+ return false; -+ } -+ -+ if (*map->map_file == '\0') -+ { -+ syserr("socket map \"%s\": empty or missing socket information", -+ map->map_mname); -+ return false; -+ } -+ -+ s = socket_map_findconn(map->map_file); -+ if (s->s_socketmap != NULL) -+ { -+ /* Copy open connection */ -+ map->map_db1 = s->s_socketmap->map_db1; -+ -+ /* Add this map as head of linked list */ -+ map->socket_map_next = s->s_socketmap; -+ s->s_socketmap = map; -+ -+ if (tTd(38, 2)) -+ sm_dprintf("using cached connection\n"); -+ return true; -+ } -+ -+ if (tTd(38, 2)) -+ sm_dprintf("opening new connection\n"); -+ -+ -+ -+ /* following code is ripped from milter.c */ -+ -+ /* protocol:filename or protocol:port@host */ -+ memset(&addr, '\0', sizeof addr); -+ p = map->map_file; -+ colon = strchr(p, ':'); -+ if (colon != NULL) -+ { -+ *colon = '\0'; -+ -+ if (*p == '\0') -+ { -+# if NETUNIX -+ /* default to AF_UNIX */ -+ addr.sa.sa_family = AF_UNIX; -+# else /* NETUNIX */ -+# if NETINET -+ /* default to AF_INET */ -+ addr.sa.sa_family = AF_INET; -+# else /* NETINET */ -+# if NETINET6 -+ /* default to AF_INET6 */ -+ addr.sa.sa_family = AF_INET6; -+# else /* NETINET6 */ -+ /* no protocols available */ -+ syserr("socket map \"%s\": no valid socket protocols available", -+ map->map_mname); -+ return false; -+# endif /* NETINET6 */ -+# endif /* NETINET */ -+# endif /* NETUNIX */ -+ } -+# if NETUNIX -+ else if (sm_strcasecmp(p, "unix") == 0 || -+ sm_strcasecmp(p, "local") == 0) -+ addr.sa.sa_family = AF_UNIX; -+# endif /* NETUNIX */ -+# if NETINET -+ else if (sm_strcasecmp(p, "inet") == 0) -+ addr.sa.sa_family = AF_INET; -+# endif /* NETINET */ -+# if NETINET6 -+ else if (sm_strcasecmp(p, "inet6") == 0) -+ addr.sa.sa_family = AF_INET6; -+# endif /* NETINET6 */ -+ else -+ { -+# ifdef EPROTONOSUPPORT -+ errno = EPROTONOSUPPORT; -+# else /* EPROTONOSUPPORT */ -+ errno = EINVAL; -+# endif /* EPROTONOSUPPORT */ -+ syserr("socket map \"%s\": unknown socket type %s", -+ map->map_mname, p); -+ return false; -+ } -+ *colon++ = ':'; -+ } -+ else -+ { -+ /* default to AF_UNIX */ -+ addr.sa.sa_family = AF_UNIX; -+ colon = p; -+ } -+ -+# if NETUNIX -+ if (addr.sa.sa_family == AF_UNIX) -+ { -+ long sff = SFF_SAFEDIRPATH|SFF_OPENASROOT|SFF_NOLINK|SFF_EXECOK; -+ -+ at = colon; -+ if (strlen(colon) >= sizeof addr.sunix.sun_path) -+ { -+ syserr("socket map \"%s\": local socket name %s too long", -+ map->map_mname, colon); -+ return false; -+ } -+ errno = safefile(colon, RunAsUid, RunAsGid, RunAsUserName, sff, -+ S_IRUSR|S_IWUSR, NULL); -+ -+ if (errno != 0) -+ { -+ /* if not safe, don't create */ -+ syserr("socket map \"%s\": local socket name %s unsafe", -+ map->map_mname, colon); -+ return false; -+ } -+ -+ (void) sm_strlcpy(addr.sunix.sun_path, colon, -+ sizeof addr.sunix.sun_path); -+ addrlen = sizeof (struct sockaddr_un); -+ } -+ else -+# endif /* NETUNIX */ -+# if NETINET || NETINET6 -+ if (false -+# if NETINET -+ || addr.sa.sa_family == AF_INET -+# endif /* NETINET */ -+# if NETINET6 -+ || addr.sa.sa_family == AF_INET6 -+# endif /* NETINET6 */ -+ ) -+ { -+ unsigned short port; -+ -+ /* Parse port@host */ -+ at = strchr(colon, '@'); -+ if (at == NULL) -+ { -+ syserr("socket map \"%s\": bad address %s (expected port@host)", -+ map->map_mname, colon); -+ return false; -+ } -+ *at = '\0'; -+ if (isascii(*colon) && isdigit(*colon)) -+ port = htons((unsigned short) atoi(colon)); -+ else -+ { -+# ifdef NO_GETSERVBYNAME -+ syserr("socket map \"%s\": invalid port number %s", -+ map->map_mname, colon); -+ return false; -+# else /* NO_GETSERVBYNAME */ -+ register struct servent *sp; -+ -+ sp = getservbyname(colon, "tcp"); -+ if (sp == NULL) -+ { -+ syserr("socket map \"%s\": unknown port name %s", -+ map->map_mname, colon); -+ return false; -+ } -+ port = sp->s_port; -+# endif /* NO_GETSERVBYNAME */ -+ } -+ *at++ = '@'; -+ if (*at == '[') -+ { -+ char *end; -+ -+ end = strchr(at, ']'); -+ if (end != NULL) -+ { -+ bool found = false; -+# if NETINET -+ unsigned long hid = INADDR_NONE; -+# endif /* NETINET */ -+# if NETINET6 -+ struct sockaddr_in6 hid6; -+# endif /* NETINET6 */ -+ -+ *end = '\0'; -+# if NETINET -+ if (addr.sa.sa_family == AF_INET && -+ (hid = inet_addr(&at[1])) != INADDR_NONE) -+ { -+ addr.sin.sin_addr.s_addr = hid; -+ addr.sin.sin_port = port; -+ found = true; -+ } -+# endif /* NETINET */ -+# if NETINET6 -+ (void) memset(&hid6, '\0', sizeof hid6); -+ if (addr.sa.sa_family == AF_INET6 && -+ anynet_pton(AF_INET6, &at[1], -+ &hid6.sin6_addr) == 1) -+ { -+ addr.sin6.sin6_addr = hid6.sin6_addr; -+ addr.sin6.sin6_port = port; -+ found = true; -+ } -+# endif /* NETINET6 */ -+ *end = ']'; -+ if (!found) -+ { -+ syserr("socket map \"%s\": Invalid numeric domain spec \"%s\"", -+ map->map_mname, at); -+ return false; -+ } -+ } -+ else -+ { -+ syserr("socket map \"%s\": Invalid numeric domain spec \"%s\"", -+ map->map_mname, at); -+ return false; -+ } -+ } -+ else -+ { -+ hp = sm_gethostbyname(at, addr.sa.sa_family); -+ if (hp == NULL) -+ { -+ syserr("socket map \"%s\": Unknown host name %s", -+ map->map_mname, at); -+ return false; -+ } -+ addr.sa.sa_family = hp->h_addrtype; -+ switch (hp->h_addrtype) -+ { -+# if NETINET -+ case AF_INET: -+ memmove(&addr.sin.sin_addr, -+ hp->h_addr, INADDRSZ); -+ addr.sin.sin_port = port; -+ addrlen = sizeof (struct sockaddr_in); -+ addrno = 1; -+ break; -+# endif /* NETINET */ -+ -+# if NETINET6 -+ case AF_INET6: -+ memmove(&addr.sin6.sin6_addr, -+ hp->h_addr, IN6ADDRSZ); -+ addr.sin6.sin6_port = port; -+ addrlen = sizeof (struct sockaddr_in6); -+ addrno = 1; -+ break; -+# endif /* NETINET6 */ -+ -+ default: -+ syserr("socket map \"%s\": Unknown protocol for %s (%d)", -+ map->map_mname, at, hp->h_addrtype); -+# if NETINET6 -+ freehostent(hp); -+# endif /* NETINET6 */ -+ return false; -+ } -+ } -+ } -+ else -+# endif /* NETINET || NETINET6 */ -+ { -+ syserr("socket map \"%s\": unknown socket protocol", map->map_mname); -+ return false; -+ } -+ -+ /* nope, actually connecting */ -+ for (;;) -+ { -+ sock = socket(addr.sa.sa_family, SOCK_STREAM, 0); -+ if (sock < 0) -+ { -+ save_errno = errno; -+ if (tTd(38, 5)) -+ sm_dprintf("socket map \"%s\": error creating socket: %s\n", -+ map->map_mname, -+ sm_errstring(save_errno)); -+# if NETINET6 -+ if (hp != NULL) -+ freehostent(hp); -+# endif /* NETINET6 */ -+ return false; -+ } -+ -+ if (connect(sock, (struct sockaddr *) &addr, addrlen) >= 0) -+ break; -+ -+ /* couldn't connect.... try next address */ -+ save_errno = errno; -+ p = CurHostName; -+ CurHostName = at; -+ if (tTd(38, 5)) -+ sm_dprintf("socket_open (%s): open %s failed: %s\n", -+ map->map_mname, at, sm_errstring(save_errno)); -+ CurHostName = p; -+ (void) close(sock); -+ -+ /* try next address */ -+ if (hp != NULL && hp->h_addr_list[addrno] != NULL) -+ { -+ switch (addr.sa.sa_family) -+ { -+# if NETINET -+ case AF_INET: -+ memmove(&addr.sin.sin_addr, -+ hp->h_addr_list[addrno++], -+ INADDRSZ); -+ break; -+# endif /* NETINET */ -+ -+# if NETINET6 -+ case AF_INET6: -+ memmove(&addr.sin6.sin6_addr, -+ hp->h_addr_list[addrno++], -+ IN6ADDRSZ); -+ break; -+# endif /* NETINET6 */ -+ -+ default: -+ if (tTd(38, 5)) -+ sm_dprintf("socket map \"%s\": Unknown protocol for %s (%d)\n", -+ map->map_mname, at, -+ hp->h_addrtype); -+# if NETINET6 -+ freehostent(hp); -+# endif /* NETINET6 */ -+ return false; -+ } -+ continue; -+ } -+ p = CurHostName; -+ CurHostName = at; -+ if (tTd(38, 5)) -+ sm_dprintf("socket map \"%s\": error connecting to socket map: %s\n", -+ map->map_mname, sm_errstring(save_errno)); -+ CurHostName = p; -+# if NETINET6 -+ if (hp != NULL) -+ freehostent(hp); -+# endif /* NETINET6 */ -+ return false; -+ } -+# if NETINET6 -+ if (hp != NULL) -+ { -+ freehostent(hp); -+ hp = NULL; -+ } -+# endif /* NETINET6 */ -+ if ((map->map_db1 = (ARBPTR_T) sm_io_open(SmFtStdiofd, -+ SM_TIME_DEFAULT, -+ (void *) &sock, -+ SM_IO_RDWR, -+ NULL)) == NULL) -+ { -+ close(sock); -+ if (tTd(38, 2)) -+ sm_dprintf("socket_open (%s): failed to create stream: %s\n", -+ map->map_mname, sm_errstring(errno)); -+ return false; -+ } -+ -+ /* Save connection for reuse */ -+ s->s_socketmap = map; -+ return true; -+} -+ -+/* -+** SOCKET_MAP_FINDCONN -- find a SOCKET connection to the server -+** -+** Cache SOCKET connections based on the connection specifier -+** and PID so we don't have multiple connections open to -+** the same server for different maps. Need a separate connection -+** per PID since a parent process may close the map before the -+** child is done with it. -+** -+** Parameters: -+** conn -- SOCKET map connection specifier -+** -+** Returns: -+** Symbol table entry for the SOCKET connection. -+*/ -+ -+static STAB * -+socket_map_findconn(conn) -+ const char *conn; -+{ -+ char *format; -+ char *nbuf; -+ STAB *SM_NONVOLATILE s = NULL; -+ -+ format = "%s%c%d"; -+ nbuf = sm_stringf_x(format, -+ conn, -+ CONDELSE, -+ (int) CurrentPid); -+ if (tTd(38, 20)) -+ sm_dprintf("socket_find_conn '%s'\n", nbuf); -+ SM_TRY -+ s = stab(nbuf, ST_SOCKETMAP, ST_ENTER); -+ SM_FINALLY -+ sm_free(nbuf); -+ SM_END_TRY -+ return s; -+} -+ -+/* -+** SOCKET_MAP_CLOSE -- close the socket -+*/ -+ -+void -+socket_map_close(map) -+ MAP *map; -+{ -+ STAB *s; -+ MAP *smap; -+ -+ if (tTd(38, 20)) -+ sm_dprintf("socket_map_close(%s), pid=%d\n", map->map_file,(int) CurrentPid); -+ -+ /* Check if already closed */ -+ if (!map->map_db1) -+ { -+ if (tTd(38, 20)) -+ sm_dprintf("socket_map_close(%s) already closed\n", map->map_file); -+ return; -+ } -+ -+ sm_io_close((SM_FILE_T *)map->map_db1, SM_TIME_DEFAULT); -+ -+ /* Mark all the maps that share the connection as closed */ -+ s = socket_map_findconn(map->map_file); -+ -+ smap = s->s_socketmap; -+ -+ while (smap != NULL) -+ { -+ MAP *next; -+ -+ if (tTd(38, 2) && smap != map) -+ sm_dprintf("socket_map_close(%s): closed %s (shared SOCKET connection)\n", -+ map->map_mname, smap->map_mname); -+ -+ smap->map_mflags &= ~(MF_OPEN|MF_WRITABLE); -+ smap->map_db1 = NULL; -+ next = smap->socket_map_next; -+ smap->socket_map_next = NULL; -+ smap = next; -+ } -+ -+ s->s_socketmap = NULL; -+} -+ -+/* -+** SOCKET_MAP_LOOKUP -- look up a datum in a SOCKET table -+*/ -+ -+char * -+socket_map_lookup(map, name, av, statp) -+ MAP *map; -+ char *name; -+ char **av; -+ int *statp; -+{ -+ size_t nettolen; -+ char *rval = NULL; -+ SM_FILE_T *f = (SM_FILE_T *)map->map_db1; -+ -+ if (tTd(38, 20)) -+ sm_dprintf("socket_map_lookup(%s, %s) %s\n", -+ map->map_mname, name, map->map_file); -+ -+ nettolen = strlen(map->map_mname) + 1 + strlen(name); -+ if ((sm_io_fprintf(f, SM_TIME_DEFAULT, "%u:%s %s,", -+ nettolen, map->map_mname, name) == SM_IO_EOF) || (sm_io_flush(f, SM_TIME_DEFAULT) != 0) || -+ (sm_io_error(f))) -+ { -+ syserr("socket_map_lookup(%s): failed to send lookup request", -+ map->map_mname); -+ *statp = EX_TEMPFAIL; -+ socket_map_close(map); -+ } -+ else -+ { -+ size_t replylen; -+ -+ if (sm_io_fscanf(f, SM_TIME_DEFAULT, "%9u", &replylen) != 1) -+ { -+ syserr("socket_map_lookup(%s): failed to read length parameter of reply", -+ map->map_mname); -+ *statp = EX_TEMPFAIL; -+ socket_map_close(map); -+ } -+ else -+ { -+ /* XXX arbitrary limit for sanity */ -+ if (replylen > 1000000) -+ { -+ syserr("socket_map_lookup(%s): reply too long: %u", -+ map->map_mname, replylen); -+ /* *statp = EX_PROTOCOL; */ -+ *statp = EX_TEMPFAIL; -+ socket_map_close(map); -+ } -+ else -+ { -+ if (sm_io_getc(f, SM_TIME_DEFAULT) != ':') -+ { -+ syserr("socket_map_lookup(%s): missing ':' in reply", -+ map->map_mname); -+ /* *statp = EX_PROTOCOL; */ -+ *statp = EX_TEMPFAIL; -+ } -+ else -+ { -+ size_t recvlen; -+ char *replybuf = (char *) sm_malloc(replylen + 1); -+ recvlen = sm_io_read(f, SM_TIME_DEFAULT, -+ replybuf, replylen); -+ if (recvlen < replylen) -+ { -+ syserr("socket_map_lookup(%s): received only %u of %u reply characters", -+ map->map_mname, recvlen, replylen); -+ *statp = EX_TEMPFAIL; -+ socket_map_close(map); -+ } -+ else -+ { -+ if (sm_io_getc(f, SM_TIME_DEFAULT) != ',') -+ { -+ syserr("socket_map_lookup(%s): missing ',' in reply", -+ map->map_mname); -+ /* *statp = EX_PROTOCOL; */ -+ *statp = EX_TEMPFAIL; -+ socket_map_close(map); -+ } -+ else -+ { -+ char *value; -+ char *status = replybuf; -+ -+ replybuf[recvlen] = '\0'; -+ value = strchr(replybuf, ' '); -+ if (value != NULL) -+ { -+ *value = '\0'; -+ value++; -+ } -+ -+ if (strcmp(status, "OK") == 0) -+ { -+ *statp = EX_OK; -+ -+ /* collect the return value */ -+ if (bitset(MF_MATCHONLY, map->map_mflags)) -+ rval = map_rewrite(map, name, strlen(name), NULL); -+ else -+ rval = map_rewrite(map, value, strlen(value), av); -+ } -+ else if(strcmp(status, "NOTFOUND") == 0) -+ { -+ *statp = EX_NOTFOUND; -+ if (tTd(38, 20)) -+ sm_dprintf("socket_map_lookup(%s): %s not found\n", -+ map->map_mname, name); -+ } -+ else -+ { -+ if (tTd(38, 5)) -+ sm_dprintf("socket_map_lookup(%s, %s): server returned error: type=%s, reason=%s\n", -+ map->map_mname, name, status, -+ value ? value : ""); -+ if ((strcmp(status, "TEMP") == 0) || -+ (strcmp(status, "TIMEOUT") == 0)) -+ { -+ *statp = EX_TEMPFAIL; -+ } -+ else if(strcmp(status, "PERM") == 0) -+ { -+ *statp = EX_UNAVAILABLE; -+ } -+ else -+ { -+ *statp = EX_PROTOCOL; -+ } -+ } -+ } -+ } -+ -+ sm_free(replybuf); -+ } -+ } -+ } -+ } -+ -+ return rval; -+} -+ -+ -+#endif /* SOCKETMAP */ -Index: sendmail/sendmail/sendmail/sendmail.h -diff -u sendmail/sendmail/sendmail/sendmail.h:1.1.1.2 sendmail/sendmail/sendmail/sendmail.h:1.3 ---- sendmail/sendmail.h Thu Jan 23 11:50:27 2003 -+++ sendmail/sendmail.h Thu Jan 23 11:51:38 2003 -@@ -1382,6 +1382,9 @@ - #if LDAPMAP - MAP *sv_lmap; /* Maps for LDAP connection */ - #endif /* LDAPMAP */ -+#if SOCKETMAP -+ MAP *sv_socketmap; /* Maps for SOCKET connection */ -+#endif /* SOCKETMAP */ - #if MILTER - struct milter *sv_milter; /* milter filter name */ - #endif /* MILTER */ -@@ -1413,8 +1416,12 @@ - #endif /* MILTER */ - #define ST_QUEUE 15 /* a queue entry */ - -+#if SOCKETMAP -+# define ST_SOCKETMAP 16 /* List head of maps for SOCKET connection */ -+#endif /* SOCKETMAP */ -+ - /* This entry must be last */ --#define ST_MCI 16 /* mailer connection info (offset) */ -+#define ST_MCI 17 /* mailer connection info (offset) */ - - #define s_class s_value.sv_class - #define s_address s_value.sv_addr -@@ -1432,6 +1439,9 @@ - #if LDAPMAP - # define s_lmap s_value.sv_lmap - #endif /* LDAPMAP */ -+#if SOCKETMAP -+# define s_socketmap s_value.sv_socketmap -+#endif /* SOCKETMAP */ - #if MILTER - # define s_milter s_value.sv_milter - #endif /* MILTER */ -Index: sendmail/sendmail/sendmail/stab.c -diff -u sendmail/sendmail/sendmail/stab.c:1.1.1.1 sendmail/sendmail/sendmail/stab.c:1.2 ---- sendmail/stab.c Fri Oct 11 14:44:04 2002 -+++ sendmail/stab.c Wed Jan 22 18:57:22 2003 -@@ -173,6 +173,12 @@ - len = sizeof s->s_quegrp; - break; - -+#if SOCKETMAP -+ case ST_SOCKETMAP: -+ len = sizeof s->s_socketmap; -+ break; -+#endif /* SOCKETMAP */ -+ - default: - /* - ** Each mailer has its own MCI stab entry: diff --git a/mail/sendmail812/files/tls-install.sh b/mail/sendmail812/files/tls-install.sh deleted file mode 100644 index 1efa8c5..0000000 --- a/mail/sendmail812/files/tls-install.sh +++ /dev/null @@ -1,92 +0,0 @@ -#!/bin/sh -# -CADIR="${CADIR-${DESTDIR}/etc/mail/certs/CA}" -FILSEDIR="${FILESDIR-/usr/ports/mail/sendmail/files}" -REALM=`hostname` - -echo "creating: ${CADIR} on ${REALM}" -for i in certs crl newcerts private ../private -do - if test ! -d "${CADIR}/${i}" - then - mkdir -p "${CADIR}/${i}" - fi -done -chmod 0700 "${CADIR}/private" "${CADIR}/../private" -cd "${CADIR}" || exit 65 - -if test ! -f openssl.cnf -then - echo "generating: openssl.cnf" - sed -e "s=./demoCA=${CADIR}=" /etc/ssl/openssl.cnf > "openssl.cnf" -fi - -if test ! -f "serial" -then - echo "generating: serial" - umask 0022 - echo "01" > "serial" -fi - -if test ! -f "index.txt" -then - echo "generating: index.txt" - umask 0022 - cp /dev/null "index.txt" -fi - -if test ! -f "cacert.pem" -then - echo "generating CA" - umask 0077 - openssl req -new -x509 -config openssl.cnf \ - -keyout private/cakey.pem \ - -out cacert.pem -fi - -if test ! -f "../sendmailcert.pem" -then - if test ! -f "../private/sendmailkey.pem" - then - echo "creating cert signing request" - umask 0066 - openssl req -nodes -new -x509 -config openssl.cnf \ - -keyout ../private/sendmailkey.pem \ - -out ../private/sendmailkey.pem - fi - if test ! -f "newcsr.pem" - then - echo "self signing cert" - umask 0066 - openssl x509 -x509toreq \ - -in ../private/sendmailkey.pem \ - -signkey ../private/sendmailkey.pem \ - -out newcsr.pem - fi - if test ! -f "sendmailcert.pem" - then - echo "signing cert" - openssl ca -config openssl.cnf -policy policy_anything \ - -out ../sendmailcert.pem \ - -infiles newcsr.pem - rm -f newcsr.pem - fi -fi - -sed 's/^X//' << 'END-of-files/tls.m4' -X# links: -X# http://www.sendmail.org/~gshapiro/ -X# http://www.sendmail.org/~ca/email/starttls.html -X# http://www.ofb.net/~jheiss/sendmail/tlsandrelay.shtml -X# -X# You may need to add this to your sendmail.mc file: -X -Xdefine(`confCACERT_PATH', `MAIL_SETTINGS_DIR`'certs')dnl -Xdefine(`confCACERT', `confCACERT_PATH/CA/cacert.pem')dnl -Xdefine(`confSERVER_CERT', `confCACERT_PATH/sendmailcert.pem')dnl -Xdefine(`confSERVER_KEY', `confCACERT_PATH/private/sendmailkey.pem')dnl -Xdefine(`confCLIENT_CERT', `confCACERT_PATH/sendmailcert.pem')dnl -Xdefine(`confCLIENT_KEY', `confCACERT_PATH/private/sendmailkey.pem')dnl -X -END-of-files/tls.m4 -exit diff --git a/mail/sendmail812/pkg-descr b/mail/sendmail812/pkg-descr deleted file mode 100644 index 21e2ecf..0000000 --- a/mail/sendmail812/pkg-descr +++ /dev/null @@ -1,11 +0,0 @@ -Sendmail implements a general purpose internetwork mail routing facility -under the UNIX operating system. It is not tied to any one transport -protocol - its function may be likened to a crossbar switch, relaying -messages from one domain into another. In the process, it can do a limited -amount of message header editing to put the message into a format that is -appropriate for the receiving domain. All of this is done under the -control of a configuration file. - -Sendmail is a trademark of Sendmail, Inc. - -WWW: http://www.sendmail.org/ diff --git a/mail/sendmail812/pkg-message b/mail/sendmail812/pkg-message deleted file mode 100644 index d7ee541..0000000 --- a/mail/sendmail812/pkg-message +++ /dev/null @@ -1,44 +0,0 @@ ---------------------------------------------------- -If you update your configuration from 8.11.x you need to install an -additional config file: /etc/mail/submit.cf, you can generate it -by calling the target 'submit.cf', submit.mc will be installed too. -%%PORTSDIR%%/mail/sendmail$ make submit.cf - -you should add in /etc/make.conf: -SENDMAIL_CF_DIR= %%PREFIX%%/share/sendmail/cf - -To activate only the delivery from the local submission queue see: -%%PREFIX%%/etc/rc.d/sm-client.sh.sample -and if you use FreeBSD-RELEASE < 4.6 set your flags in /etc/rc.conf: -sendmail_flags="-L sm-msp-queue -Ac -q1m" - -To activate all sendmail processes see: -%%PREFIX%%/etc/rc.d/sendmail.sh.sample - -To deliver all local mail to your mailhub, edit the last line of submit.mc: -FEATURE(`msp','[mailhub.do.main]`)dnl - -To update your configuration look at %%PREFIX%%/share/sendmail/cf/README. ---------------------------------------------------- -To use the ports versions you may add to your sendmail.mc file: - -define(`confEBINDIR', `%%PREFIX%%/libexec')dnl -define(`UUCP_MAILER_PATH', `%%LOCALBASE%%/bin/uux')dnl - ---------------------------------------------------- -To activate sendmail as your default mailer, call the target 'mailer.conf': -$ cd %%PORTSDIR%%/mail/sendmail && make mailer.conf - -Your '/etc/mail/mailer.conf' should look like this: -# -# Execute the "real" sendmail program, named /usr/libexec/sendmail/sendmail -# -sendmail %%PREFIX%%/sbin/sendmail -send-mail %%PREFIX%%/sbin/sendmail -mailq %%PREFIX%%/sbin/sendmail -newaliases %%PREFIX%%/sbin/sendmail -hoststat %%PREFIX%%/sbin/sendmail -purgestat %%PREFIX%%/sbin/sendmail - -You may also need to update /etc/rc.conf. ---------------------------------------------------- diff --git a/mail/sendmail812/pkg-plist b/mail/sendmail812/pkg-plist deleted file mode 100644 index 14b4702..0000000 --- a/mail/sendmail812/pkg-plist +++ /dev/null @@ -1,34 +0,0 @@ -@comment $FreeBSD: /tmp/pcvs/ports/mail/sendmail812/Attic/pkg-plist,v 1.17 2004-12-17 14:27:02 dinoex Exp $ -@exec if ! pw groupshow smmsp 2>/dev/null; then pw groupadd smmsp -g 25; fi -@exec if ! pw usershow smmsp 2>/dev/null; then pw useradd smmsp -g smmsp -u 25 -h - -d /nonexistent -s /nonexistent -c "Sendmail Queue"; fi -@exec mkdir -p /var/spool/clientmqueue -@exec chown smmsp:smmsp /var/spool/clientmqueue -@exec chmod 770 /var/spool/clientmqueue -@unexec if pw usershow smmsp | grep -q 90:90; then pw userdel smmsp; fi -@comment (removed by userdel) pw groupdel smmsp -bin/hoststat -bin/mailq -bin/newaliases -bin/purgestat -bin/rmail -bin/vacation -%%ETCPORT%%etc/rc.d/sm-client.sh.sample -%%ETCPORT%%etc/rc.d/sendmail.sh.sample -libexec/mail.local -libexec/smrsh -sbin/editmap -sbin/mailstats -sbin/makemap -sbin/praliases -@group smmsp -sbin/sendmail -@group -@comment (overwritten by pkg_add) chown root:smmsp sbin/sendmail -@exec chmod 2555 %D/sbin/sendmail -share/sendmail/helpfile -%%PORTDOCS%%%%DOCSDIR%%/op.ps -%%PORTDOCS%%%%DOCSDIR%%/op.txt -%%PORTDOCS%%%%DOCSDIR%%/DEVTOOLS -%%PORTDOCS%%%%DOCSDIR%%/SENDMAIL -%%PORTDOCS%%%%DOCSDIR%%/MAIL.LOCAL -%%PORTDOCS%%%%DOCSDIR%%/SMRSH |