Index: head/mail/qmail/Makefile =================================================================== --- head/mail/qmail/Makefile (revision 536398) +++ head/mail/qmail/Makefile (revision 536399) @@ -1,943 +1,939 @@ # Created by: Mario S F Ferreira # $FreeBSD$ PORTNAME= ${QMAIL_PORTNAME} PORTVERSION?= ${QMAIL_VERSION} -PORTREVISION?= 4 +PORTREVISION?= 5 CATEGORIES= mail MASTER_SITES+= QMAIL DISTNAME= ${PORTNAME}-${QMAIL_VERSION} DISTFILES?= ${DISTNAME}${EXTRACT_SUFX} EXTRACT_ONLY?= ${DISTNAME}${EXTRACT_SUFX} MAINTAINER?= erdgeist@erdgeist.org COMMENT?= Secure, reliable, efficient, simple, and fast MTA DIST_SUBDIR= qmail CONFLICTS?= qmail-ldap-[0-9]* *qmail-mysql-[0-9]* qmail-spamcontrol-[0-9]* *qmail-tls-[0-9]* CONFLICTS+= qmail-vida-[0-9]* USES+= qmail:vars fakeroot PREFIX?= ${QMAIL_PREFIX} PLIST_SUB+= QMAIL_PREFIX="${PREFIX}" MAKE_JOBS_UNSAFE= yes PORTSCOUT= skipv:1.04 USERS= alias .for usersuffix in d l p q r s USERS+= qmail${usersuffix} .endfor GROUPS= qmail qnofiles # Options description for qmail and all slave ports ALTQUEUE_DESC= Run a QMAILQUEUE external queue AUTOHOMEDIRMAKE_DESC= auto-homedir-make feature AUTOMAILDIRMAKE_DESC= The auto-maildir-make feature BIGBROTHER_DESC= Use the control/bigbrother program BIGTODO_DESC= Bruce Guenter's BigToDo patch BIG_CONCURRENCY_PATCH_DESC= Use a concurrency greater than 240 BIG_TODO_PATCH_DESC= Enable big_todo qmail patch BIND_8_COMPAT_DESC= Needed if compile fails building dns.c BLOCKEXEC_PATCH_DESC= Block many windows viruses/worms CLEARTEXTPASSWD_DESC= Use cleartext passwords (Dangerous!) DASH_EXT_DESC= Dash_ext extended mail addresses add DATA_COMPRESS_DESC= Smtp on the fly DATA compression DISCBOUNCES_PATCH_DESC= Discard double-bounces DNS_CNAME_DESC= Request CNAME (vs ANY for BIND 4 bug) ENHACELOGS_DESC= Enhace qmail-smtpd logs (spamcontrol-like) EXTERNAL_TODO_DESC= External high-performance todo processing EXTTODO_PATCH_DESC= Extern high-perform. todo processing GRTDELAY_DESC= Add jms1's Greet Delay feature IGNOREVERISIGN_DESC= Disallow dns wildchar matches on gtlds LDAP_DEBUG_DESC= Possibility to log and debug imap/pop LOCALTIME_PATCH_DESC= Emit dates in the local timezone MAILDIRQUOTA_PATCH_DESC= Maildir++ support OUTGOINGIP_PATCH_DESC= Set the IP address to send messages PAM111421_DESC= Smtpd allow email in case PAM failure QEXTRA_DESC= Enable QUEUE_EXTRA copy feature QLDAP_CLUSTER_DESC= Cluster support QMAILQUEUE_PATCH_DESC= Run a QMAILQUEUE program QMQP_COMPRESS_DESC= QMQP on the fly compression QMTPC_PATCH_DESC= Send email using qmtp protocol QUOTATRASH_DESC= Include the Trash in the quota RCDLINK_DESC= Create rc.d/qmail symlink SENDERCHECK4_DESC= LOOSE checks exclusively for RELAY clients SMTPEXECCHECK_DESC= Smtp DOS/Windows executable detection SMTPEXTFORK_DESC= Allow qmail-smtpd fork external progs SMTP_AUTH_PATCH_DESC= Provide SMTP Authentication SPF_PATCH_DESC= Implement SPF checker TARPIT_PATCH_DESC= Implement TARPIT functions TLS_DESC= SMTP TLS support TLS_DEBUG_DESC= Enable additional debug information XF_QUITASAP_DESC= Close SMTP session ASAP (SMTPEXTFORK) .if defined(SLAVE_LDAP) || \ defined(SLAVE_SPAMCONTROL) _USE_NETQMAIL= no .else _USE_NETQMAIL= yes .endif .if ${_USE_NETQMAIL} == yes QMAIL_PORTNAME= netqmail QMAIL_VERSION= 1.06 BARRIER_SENDMAIL_F_PATCH= yes BARRIER_QMAILQUEUE_PATCH= yes .else # This is only used for slave ports. QMAIL_PORTNAME= qmail QMAIL_VERSION= 1.03 .endif .if defined(SLAVE_LDAP) || \ defined(SLAVE_MYSQL) BARRIER_MAILDIRQUOTA_PATCH= yes BARRIER_SPF_PATCH= yes .endif .if defined(SLAVE_LDAP) || \ defined(SLAVE_SPAMCONTROL) || \ defined(SLAVE_MYSQL) BARRIER_BLOCKEXEC_PATCH= yes BARRIER_QMAILQUEUE_PATCH= yes BARRIER_SMTP_AUTH_PATCH= yes .endif .if defined(SLAVE_LDAP) BARRIER_BIG_CONCURRENCY_PATCH= yes BARRIER_EXTTODO_PATCH= yes .endif .if defined(SLAVE_LDAP) || \ defined(SLAVE_SPAMCONTROL) BARRIER_QMTPC_PATCH= yes BARRIER_DISCBOUNCES_PATCH= yes BARRIER_SENDMAIL_F_PATCH= yes BARRIER_BIG_TODO_PATCH= yes BARRIER_DNS_PATCH= yes BARRIER_OUTGOINGIP_PATCH= yes .endif .if defined(SLAVE_LDAP) || \ defined(SLAVE_SPAMCONTROL) || \ defined(SLAVE_TLS) BARRIER_RFC2821_PATCH= yes BARRIER_TARPIT_PATCH= yes .endif .if defined(SLAVE_SPAMCONTROL) BARRIER_DNS_CNAME= yes .endif PATCH_DIST_STRIP+= -p1 .if !defined(BARRIER_DNS_PATCH) # Patch necessary to cope with non-RFC >512 dns entries # Since AOL has been using those, the problem has skyrocketed from minor to # groundzero. qmail being RFC compliant need to be "fixed" to work with those PATCH_SITES+= http://www.ckdhr.com/ckd/:dns PATCHFILES+= qmail-103.patch:dns .endif .if !defined(BARRIER_SENDMAIL_F_PATCH) # David Phillips noticed that sendmail's -f option sets a default # From: header, and so should qmail's emulation. PATCH_SITES+= http://david.acz.org/software/:sendmail_flagf PATCHFILES+= sendmail-flagf.patch:sendmail_flagf .endif .if !defined(BARRIER_RFC2821_PATCH) # This patch changes qmail-remote to skip over MX servers that greet with # codes 400 to 499 and to bounce mail when any MX server that qmail tries # greets with a code 500 to 599. # Created by Matthias Andree PATCH_SITES+= http://www-dt.e-technik.uni-dortmund.de/~ma/qmail/:rfc2821 PATCHFILES+= patch-qmail-1.03-rfc2821.diff:rfc2821 .endif .if defined(SLAVE_LDAP) PATCH_SITES+= http://www.nrg4u.com/qmail/:ldap PATCHFILES+= qmail-ldap-1.03-${LDAP_PATCH_DATE}.patch.gz:ldap .elif defined(SLAVE_MYSQL) PATCH_SITES+= http://iain.cx/unix/qmail/download/:mysql PATCHFILES+= netqmail-mysql-${MYSQL_PATCH_VERSION}.patch:mysql .elif defined(SLAVE_TLS) PATCH_SITES+= http://inoa.net/qmail-tls/:tls TLS_PATCH_NAME= ${QMAIL_PORTNAME}-${QMAIL_VERSION}-tls-${TLS_PATCH_DATE}.patch PATCHFILES+= ${TLS_PATCH_NAME}:tls .endif PATCH_SITES+= LOCAL/bdrewery/qmail/:dns,sendmail_flagf,rfc2821,ldap,mysql,tls,quota,blockexec,doublebounce,spf,spf_tls,localtime,qmtpc_outgoingip PATCH_SITES+= http://mirror.shatow.net/freebsd/qmail/:DEFAULT,dns,sendmail_flagf,rfc2821,ldap,mysql,tls,quota,blockexec,doublebounce,spf,spf_tls,localtime,qmtpc_outgoingip OPTIONS_DEFINE+=DOCS .if !defined(BARRIER_SMTP_AUTH_PATCH) SMTP_AUTH_VERSION= 0.31 SMTP_AUTH_DIR= ${WRKDIR}/qmail-smtpd-auth-${SMTP_AUTH_VERSION} OPTIONS_DEFINE+=SMTP_AUTH_PATCH .endif .if !defined(BARRIER_QMAILQUEUE_PATCH) OPTIONS_DEFINE+=QMAILQUEUE_PATCH .endif .if !defined(BARRIER_BIG_TODO_PATCH) OPTIONS_DEFINE+=BIG_TODO_PATCH .endif .if !defined(BARRIER_BIG_CONCURRENCY_PATCH) OPTIONS_DEFINE+=BIG_CONCURRENCY_PATCH .endif .if !defined(BARRIER_OUTGOINGIP_PATCH) OPTIONS_DEFINE+=OUTGOINGIP_PATCH .endif .if !defined(BARRIER_LOCALTIME_PATCH) OPTIONS_DEFINE+=LOCALTIME_PATCH .endif .if !defined(BARRIER_QMTPC_PATCH) OPTIONS_DEFINE+=QMTPC_PATCH .endif .if !defined(BARRIER_MAILDIRQUOTA_PATCH) OPTIONS_DEFINE+=MAILDIRQUOTA_PATCH .endif .if !defined(BARRIER_BLOCKEXEC_PATCH) OPTIONS_DEFINE+=BLOCKEXEC_PATCH .endif .if !defined(BARRIER_DISCBOUNCES_PATCH) OPTIONS_DEFINE+=DISCBOUNCES_PATCH .endif .if !defined(BARRIER_SPF_PATCH) OPTIONS_DEFINE+=SPF_PATCH .endif .if !defined(BARRIER_TARPIT_PATCH) OPTIONS_DEFINE+=TARPIT_PATCH .endif .if !defined(BARRIER_EXTTODO_PATCH) OPTIONS_DEFINE+=EXTTODO_PATCH .endif .if defined(SLAVE_TLS) OPTIONS_DEFINE+=TLS_DEBUG .elif defined(SLAVE_LDAP) OPTIONS_DEFINE+=TLS ALTQUEUE BIGBROTHER BIGTODO BIND_8_COMPAT CLEARTEXTPASSWD \ DASH_EXT DATA_COMPRESS EXTERNAL_TODO IGNOREVERISIGN \ QLDAP_CLUSTER QMQP_COMPRESS QUOTATRASH SMTPEXECCHECK \ AUTOMAILDIRMAKE AUTOHOMEDIRMAKE LDAP_DEBUG SMTPEXTFORK \ XF_QUITASAP SENDERCHECK4 ENHACELOGS GRTDELAY OPTIONS_DEFAULT+= TLS DASH_EXT DATA_COMPRESS EXTERNAL_TODO QLDAP_CLUSTER \ QLDAP_CLUSTER QMQP_COMPRESS SMTPEXECCHECK \ AUTOMAILDIRMAKE AUTOHOMEDIRMAKE LDAP_PARAMS= ALTQUEUE BIGBROTHER BIGTODO BIND_8_COMPAT CLEARTEXTPASSWD \ DASH_EXT DATA_COMPRESS EXTERNAL_TODO IGNOREVERISIGN \ QLDAP_CLUSTER QMQP_COMPRESS QUOTATRASH SMTPEXECCHECK .elif defined(SLAVE_SPAMCONTROL) OPTIONS_DEFINE+=PAM111421 SMTPEXTFORK \ XF_QUITASAP OPTIONS_DEFAULT+= PAM111421 .endif OPTIONS_DEFINE+=QEXTRA .if !defined(BARRIER_DNS_CNAME) OPTIONS_DEFINE+= DNS_CNAME OPTIONS_DEFAULT+= DNS_CNAME .endif .if !defined(SLAVE_LDAP) OPTIONS_DEFINE+=RCDLINK OPTIONS_DEFAULT+= RCDLINK .endif OPTIONS_SUB= yes ALL_TARGET+= default dot-qmail.5 qmail-control.5 qmail-getpw.8 \ qmail-limits.7 qmail-newmrh.8 qmail-newu.8 qmail-pw2u.8 \ qmail-send.8 qmail-start.8 qmail-users.5 MMAN1+= forward.1 condredirect.1 bouncesaying.1 except.1 maildirmake.1 \ maildir2mbox.1 maildirwatch.1 mailsubj.1 qreceipt.1 qbiff.1 preline.1 \ tcp-env.1 MMAN5+= addresses.5 envelopes.5 maildir.5 mbox.5 dot-qmail.5 qmail-control.5 \ qmail-header.5 qmail-log.5 qmail-users.5 tcp-environ.5 MMAN7+= forgeries.7 qmail-limits.7 qmail.7 MMAN8+= qmail-local.8 qmail-lspawn.8 qmail-getpw.8 qmail-remote.8 \ qmail-rspawn.8 qmail-clean.8 qmail-send.8 qmail-start.8 splogger.8 \ qmail-queue.8 qmail-inject.8 qmail-showctl.8 qmail-newmrh.8 \ qmail-newu.8 qmail-pw2u.8 qmail-qread.8 qmail-qstat.8 qmail-tcpok.8 \ qmail-tcpto.8 qmail-pop3d.8 qmail-popup.8 qmail-qmqpc.8 qmail-qmqpd.8 \ qmail-qmtpd.8 qmail-smtpd.8 qmail-command.8 .if defined(SLAVE_MYSQL) PKGMESSAGE_SUFFIX= mysql .endif .if defined(SLAVE_SPAMCONTROL) EXTRA_MAN8= qmail-badloadertypes.8 qmail-badmimetypes.8 qmail-mfrules.8 \ qmail-recipients.8 qmail-smtpam.8 ALL_TARGET+= ${EXTRA_MAN8} MMAN8+= ${EXTRA_MAN8} USES+= perl5 ssl USE_PERL5= patch build CFLAGS+= -include /usr/include/errno.h CFLAGS+= -I${OPENSSLINC} -L${OPENSSLLIB} # Required for the insane pre-patch compiling done by this slave port PATCH_DEPENDS+= ${BUILD_DEPENDS:M*ssl*} .endif .if defined(SLAVE_LDAP) PKGMESSAGE_SUFFIX= ldap PLIST_SUB+= LDAP="" NO_LDAP="@comment " .else PLIST_SUB+= LDAP="@comment " NO_LDAP="" .endif .if defined(SLAVE_SPAMCONTROL) PLIST_SUB+= SPAMCONTROL="" .else PLIST_SUB+= SPAMCONTROL="@comment " .endif .if defined(SLAVE_TLS) PKGMESSAGE_SUFFIX= tls PLIST_SUB+= TLS="" NO_TLS="@comment " .else PLIST_SUB+= TLS="@comment " NO_TLS="" .endif .if defined(PKGMESSAGE_SUFFIX) SLAVEPORT_LINE= ${PKGMESSAGE_SUFFIX} .elif defined(SLAVE_SPAMCONTROL) SLAVEPORT_LINE= spamcontrol .endif SUB_FILES+= mailer.conf.sample bootfiles.sed enable-qmail SUB_LIST+= ECHO_CMD=${ECHO_CMD} RCDLINK=${RCDLINK} .if defined(PKGMESSAGE_SUFFIX) SUB_FILES+= pkg-message-${PKGMESSAGE_SUFFIX} PKGMESSAGE?= ${WRKDIR}/pkg-message-${PKGMESSAGE_SUFFIX} .else SUB_FILES+= pkg-message .endif .if !defined(SLAVE_LDAP) SUB_FILES+= qmailsmtpd qmailsend .endif WRKDIR_doc= ${WRKDIR}/doc PORTDOCS= * DOCFILES_WRKSRC+= BLURB BLURB2 BLURB3 BLURB4 INTERNALS SECURITY \ THOUGHTS FAQ UPGRADE SENDMAIL INSTALL INSTALL.alias \ INSTALL.ctl INSTALL.ids INSTALL.maildir INSTALL.mbox \ INSTALL.vsm TEST.deliver TEST.receive REMOVE.sendmail \ REMOVE.binmail PIC.local2alias PIC.local2ext \ PIC.local2local PIC.local2rem PIC.local2virt \ PIC.nullclient PIC.relaybad PIC.relaygood PIC.rem2local DOCFILES_WRKDIR+= mailer.conf.sample .if defined(SLAVE_LDAP) DOCFILES_WRKSRC+= QLDAPINSTALL QLDAPNEWS POPBEFORESMTP QLDAPTODO \ QLDAPPICTURE QLDAPGROUP EXTTODO qmail.schema .elif defined(SLAVE_TLS) DOCFILES_WRKDIR+= TLS.readme .elif defined(SLAVE_SPAMCONTROL) DOCFILES_WRKDIR_doc+= FILES.spamcontrol HISTORY.spamcontrol \ INSTALL.spamcontrol LICENSE.spamcontrol \ LOGGING.spamcontrol PROPOSAL.mav README.bigtodo \ README.bouncemaxbytes README.clamav README.djbdns \ README.mav \ README.qmailqueue README.recipients \ README.wildmat README_spamcontrol.html \ RELEASE_22.spamcontrol RELEASE_23.spamcontrol \ RELEASE_24.spamcontrol RELEASE_25.spamcontrol \ RELEASE_26.spamcontrol RELEASE_27.spamcontrol \ SMTPREPLY.spamcontrol \ TODO.spamcontrol badloadertypes badmailfrom \ badmimetypes badrcptto smtpreplies SCRIPTS+= qmail-alias2recipients qmail-pwd2recipients \ qmail-users2recipients qmail-vpopmail2recipients .endif .if !defined(SLAVE_LDAP) BOOTFILES= home home+df proc proc+df binm1 binm1+df \ binm2 binm2+df binm3 binm3+df maildir .endif CONFIGUREPROGRAMS= dnsfq hostname dnsip ipmeprint dnsptr CONFIGURESCRIPTS= config config-fast .if defined(SLAVE_LDAP) TLS_USES= ssl .endif # Port will control all PREFIX handling. NO_MTREE= yes NO_PREFIX_RMDIR=yes .include - -.if defined(SLAVE_TLS) && ${OPSYS} == FreeBSD && ${OSVERSION} >= 1200000 -EXTRA_PATCHES+= ${FILESDIR}/netqmail-1.06-tls-20160918-freebsd-12.patch -.endif .if ${ARCH} == "amd64" && !defined(SLAVE_LDAP) \ && !defined(SLAVE_SPAMCONTROL) EXTRA_PATCHES+= ${FILESDIR}/extra-patch-amd64 .endif .include .if ${PREFIX} != ${LOCALBASE} DOCSDIR= ${PREFIX}/doc .endif .if defined(SLAVE_LDAP) EXTRA_PATCHES+= ${FILESDIR}/extra-patch-utmpx-ldap .elif !defined(SLAVE_SPAMCONTROL) EXTRA_PATCHES+= ${FILESDIR}/extra-patch-utmpx .endif .if defined(SLAVE_TLS) CFLAGS+= -I${OPENSSLBASE}/include -L${OPENSSLBASE}/lib -DTLS=${TLS_PATCH_DATE} . if ${PORT_OPTIONS:MTLS_DEBUG} CFLAGS+= -DDEBUG . endif .endif .if defined(SLAVE_LDAP) . for param in ${LDAP_PARAMS} . if ${PORT_OPTIONS:M${param}} LDAPFLAGS+= -D${param} . endif . endfor .endif .if ${PORT_OPTIONS:MSMTP_AUTH_PATCH} MASTER_SITES+= http://tomclegg.net/qmail/:smtp_auth \ LOCAL/bdrewery/qmail/:smtp_auth DISTFILES+= qmail-smtpd-auth-${SMTP_AUTH_VERSION}.tar.gz:smtp_auth EXTRACT_ONLY+= qmail-smtpd-auth-${SMTP_AUTH_VERSION}.tar.gz MASTER_SITES+= http://tomclegg.net/qmail/:close3 DISTFILES+= qmail-smtpd-auth-close3.patch:close3 . if defined(SLAVE_TLS) AUTH_PATCH= auth.patch.diff-tls-20110119 . elif ${PORT_OPTIONS:MSPF_PATCH} AUTH_PATCH= auth.patch.diff . endif . if defined(AUTH_PATCH) DISTFILES+= ${AUTH_PATCH}:smtp_auth . endif .endif .if ${PORT_OPTIONS:MMAILDIRQUOTA_PATCH} PATCH_SITES+= http://www.alexdupre.com/qmail/:quota PATCHFILES+= ${PORTNAME}-maildir++.patch:quota EXTRA_PATCHES+= ${FILESDIR}/extra-patch-maildir++ .endif .if ${PORT_OPTIONS:MBLOCKEXEC_PATCH} PATCH_SITES+= http://www.alexdupre.com/qmail/:blockexec PATCHFILES+= qmail-block-executables.patch:blockexec .endif .if ${PORT_OPTIONS:MDISCBOUNCES_PATCH} PATCH_SITES+= http://www.alexdupre.com/qmail/:doublebounce PATCHFILES+= qmail-discard-double-bounces.patch:doublebounce .endif .if ${PORT_OPTIONS:MSPF_PATCH} . if defined(SLAVE_TLS) || defined(SLAVE_SPAMCONTROL) . if defined(SLAVE_SPAMCONTROL) SPF_SPAMCONTROL_PATCH= qmail-spf-rc5.patch-spamcontrol-27_2 PATCH_SITES+= LOCAL/bdrewery/qmail/:spf_spamcontrol PATCHFILES+= ${SPF_SPAMCONTROL_PATCH}:spf_spamcontrol . else # XXX - Move change out of conflicting Makefile hunk . if ${PORT_OPTIONS:MSMTP_AUTH_PATCH} SPF_TLS_PATCH= qmail-spf-rc5.patch-auth-tls-20110119 . else SPF_TLS_PATCH= qmail-spf-rc5.patch-tls-20110119 . endif #MASTER_SITES+= http://manuel.mausz.at/programming/patches/qmail/:spf_tls MASTER_SITES+= LOCAL/bdrewery/qmail/:spf_tls DISTFILES+= ${SPF_TLS_PATCH}:spf_tls . endif . else PATCH_SITES+= http://www.saout.de/misc/spf/:spf PATCHFILES+= qmail-spf-rc5.patch:spf . endif .endif .if ${PORT_OPTIONS:MEXTTODO_PATCH} PLIST_SUB+= EXTTODO="" DOCFILES_WRKSRC+= EXTTODO . if !empty(PORT_OPTIONS:MBIG_TODO_PATCH) || !empty(PORT_OPTIONS:MBIGTODO) MASTER_SITES+= LOCAL/bdrewery/qmail/:ext_big_todo EXT_BIG_TODO_PATCH= ext_todo-20030105+big-todo.103.patch DISTFILES+= ${EXT_BIG_TODO_PATCH}:ext_big_todo . endif . if ${PORT_OPTIONS:MSPF_PATCH} . if defined(SLAVE_TLS) # XXX - Move qmail-todo out of conflicting Makefile hunk EXTTODO_PATCH= ext_todo-20030105_spf_tls.patch MASTER_SITES+= LOCAL/bdrewery/qmail/:exttodo DISTFILES+= ${EXTTODO_PATCH}:exttodo . else PATCH_SITES+= LOCAL/bdrewery/qmail/:exttodo PATCHFILES+= ext_todo-20030105_spf.patch:exttodo . endif . elif defined(SLAVE_MYSQL) PATCH_SITES+= LOCAL/bdrewery/qmail/:exttodo PATCHFILES+= ext_todo-20030105_mysql.patch:exttodo . elif defined(SLAVE_TLS) PATCH_SITES+= LOCAL/bdrewery/qmail/:exttodo PATCHFILES+= ext_todo-20030105_tls.patch:exttodo . else PATCH_SITES+= http://www.nrg4u.com/qmail/:exttodo PATCHFILES+= ext_todo-20030105.patch:exttodo . endif .else PLIST_SUB+= EXTTODO="@comment " .endif .if ${PORT_OPTIONS:MDNS_CNAME} EXTRA_PATCHES+= ${FILESDIR}/extra-patch-dns-cname .endif .if !defined(BARRIER_DNS_PATCH) \ || !empty(PORT_OPTIONS:MQMAILQUEUE_PATCH) \ || !empty(PORT_OPTIONS:MBIG_TODO_PATCH) \ || !empty(PORT_OPTIONS:MBIG_CONCURRENCY_PATCH) \ || !empty(PORT_OPTIONS:MOUTGOINGIP_PATCH) \ || !empty(PORT_OPTIONS:MQMTPC_PATCH) PATCH_SITES+= QMAIL .endif .if ${PORT_OPTIONS:MQMAILQUEUE_PATCH} PATCHFILES+= qmailqueue-patch .endif .if ${PORT_OPTIONS:MBIG_TODO_PATCH} PATCHFILES+= big-todo.103.patch .endif .if ${PORT_OPTIONS:MBIG_CONCURRENCY_PATCH} . if defined(SLAVE_SPAMCONTROL) PATCHFILES+= big-concurrency-spamcontrol-2731.patch . else PATCHFILES+= big-concurrency.patch . endif .endif .if !empty(PORT_OPTIONS:MOUTGOINGIP_PATCH) && !empty(PORT_OPTIONS:MQMTPC_PATCH) PATCHFILES+= qmail-1.03-qmtpc_outgoingip_20090630.patch:qmtpc_outgoingip .elif ${PORT_OPTIONS:MOUTGOINGIP_PATCH} PATCHFILES+= outgoingip.patch .elif ${PORT_OPTIONS:MQMTPC_PATCH} PATCHFILES+= qmail-1.03-qmtpc.patch .endif .if ${PORT_OPTIONS:MLOCALTIME_PATCH} PATCH_SITES+= http://www.alib.jp/files/:localtime PATCHFILES+= qmail-date-localtime.patch:localtime .endif .if ${PORT_OPTIONS:MTARPIT_PATCH} PATCH_SITES+= http://www.palomine.net/qmail/:tarpit PATCHFILES+= tarpit.patch:tarpit .endif .if ${PORT_OPTIONS:MSMTPEXTFORK} && \ ( defined(SLAVE_SPAMCONTROL) || defined(SLAVE_LDAP) ) . if defined(SLAVE_SPAMCONTROL) SMTPEXTFORK_PATCH= smtpextfork-spamcontrol-2731.patch . else SMTPEXTFORK_PATCH= smtpextfork-ldap-20060201_4.patch . endif MASTER_SITES+= http://www6.freebsdbrasil.com.br/~eksffa/l/dev/qmail-smtpextfork/patches/:extfork \ LOCAL/bdrewery/qmail/:extfork DISTFILES+= ${SMTPEXTFORK_PATCH:S/$/:extfork/} \ README.smtpextfork:extfork .endif .if defined(SLAVE_LDAP) && ${PORT_OPTIONS:MSENDERCHECK4} PATCH_SITES+= http://www6.freebsdbrasil.com.br/~eksffa/l/dev/qmail/:sendercheck4 \ LOCAL/bdrewery/qmail/:sendercheck4 PATCHFILES+= qmail-ldap-1.03_qmail-smtpd_SENDERCHECK4.patch:sendercheck4 .endif .if defined(SLAVE_LDAP) && ${PORT_OPTIONS:MGRTDELAY} PATCH_SITES+= http://www6.freebsdbrasil.com.br/~eksffa/l/dev/qmail/:grtdelay \ LOCAL/bdrewery/qmail/:grtdelay PATCHFILES+= qmail-ldap-20060201-grtdelay.patch:grtdelay DOCFILES_WRKSRC+= README.GREETDELAY .endif .if defined(SLAVE_LDAP) && ${PORT_OPTIONS:MENHACELOGS} PATCH_SITES+= http://www6.freebsdbrasil.com.br/~eksffa/l/dev/qmail/:ldapenhacelog \ LOCAL/bdrewery/qmail/:ldapenhacelog PATCHFILES+= enhacelogging-ldap-20120221.patch:ldapenhacelog .endif .if defined(SLAVE_SPAMCONTROL) MASTER_SITES+= LOCAL/bdrewery/ucspi-ssl/:ucspi_ssl \ http://www.fehcom.de/ipnet/ucspi-ssl/:ucspi_ssl UCSPI_SSL_VER= 0.94 UCSPI_SSL_DIST= ucspi-ssl-${UCSPI_SSL_VER}.tgz DISTFILES+= ${UCSPI_SSL_DIST}:ucspi_ssl UCSPISRC= ${WRKDIR}/host/superscript.com/net/ucspi-ssl-${UCSPI_SSL_VER} # XXX not yet, needs more cleanup #UCSPISRC!= ${MAKE} -C ${PORTSDIR}/sysutils/ucspi-ssl-tls -V WRKSRC #PATCH_DEPENDS+= ${UCSPISRC}/compile/ucspissl.a:sysutils/ucspi-ssl-tls:build .endif # Some default values, these can be modified by make command line .if ${PORT_OPTIONS:MBIG_CONCURRENCY_PATCH} WITH_BIG_CONCURRENCY_PATCH_CONCURRENCY_LIMIT?= 509 CFLAGS+= -DFD_SETSIZE=`expr 2 \* ${WITH_BIG_CONCURRENCY_PATCH_CONCURRENCY_LIMIT} + 6` .endif .if ${PORT_OPTIONS:MRCDLINK} && !defined(SLAVE_LDAP) PLIST_SUB+= RCDLINK="" RCDLINK= .else PLIST_SUB+= RCDLINK="@comment " RCDLINK= \# .endif # Fill SEL_OPTIONS with options to write conf-spamcontrol .if defined(SLAVE_SPAMCONTROL) . if ${PORT_OPTIONS:MPAM111421} SEL_OPTIONS+= pam111421=yes . else SEL_OPTIONS+= pam111421=no . endif .endif pre-everything:: .if !defined(BARRIER_BIG_CONCURRENCY_PATCH) @${ECHO_MSG} "" @${ECHO_MSG} "You may use the following build options:" @${ECHO_MSG} "" @${ECHO_MSG} "WITH_BIG_CONCURRENCY_PATCH_CONCURRENCY_LIMIT=NUMBER" @${ECHO_MSG} " (default NUMBER=${WITH_BIG_CONCURRENCY_PATCH_CONCURRENCY_LIMIT})" @${ECHO_MSG} " set this to a value reasonable for" @${ECHO_MSG} " your system if you use the patch" @${ECHO_MSG} "" .endif .if !defined(QMAIL_PREFIX) @${ECHO_MSG} "QMAIL_PREFIX=PREFIX_PATH" @${ECHO_MSG} " (default PREFIX_PATH=${PREFIX})" @${ECHO_MSG} " A normal qmail installation puts" @${ECHO_MSG} " everything into /var/qmail/." @${ECHO_MSG} " If you want to install to ${LOCALBASE}," @${ECHO_MSG} " then \"${LOCALBASE}/qmail\" is suggested" @${ECHO_MSG} " instead of \"${LOCALBASE}\", but both will" @${ECHO_MSG} " work." @${ECHO_MSG} "" .endif post-extract: .if defined(SLAVE_SPAMCONTROL) @cd ${WRKSRC} && ${TAR} -xzf ${DISTDIR}/${DIST_SUBDIR}/${SPAMCONTROL_DIST} @cd ${WRKDIR} && ${TAR} -xzf ${DISTDIR}/${DIST_SUBDIR}/${UCSPI_SSL_DIST} ${REINPLACE_CMD} -e "s@-lssl@-L${OPENSSLLIB} -lssl@g" \ ${UCSPISRC}/src/ssl.lib .endif # XXX - Move all the major patch applications to post-extract # # Apply main distro patch (which requires building a dependency and # running a script) before PATCHFILES get applied. .if defined(SLAVE_SPAMCONTROL) pre-patch: @${ECHO_CMD} ${WRKDIR} > ${WRKSRC}/conf-qmail @${ECHO_CMD} "# Generated by qmail-spamcontrol FreeBSD port" \ > ${WRKSRC}/conf-spamcontrol . for option in ${SEL_OPTIONS} @${ECHO_CMD} ${option} >> ${WRKSRC}/conf-spamcontrol . endfor @${ECHO_CMD} "${UCSPISRC}/compile" > ${WRKSRC}/conf-ucspissl ${ECHO_CMD} "${CC} ${CFLAGS}" > ${UCSPISRC}/src/conf-cc ${ECHO_CMD} "${CC} ${STRIP} ${LDFLAGS}" > ${UCSPISRC}/src/conf-ld ${ECHO_CMD} "${PREFIX}" > ${UCSPISRC}/src/conf-home ${ECHO_CMD} "${PREFIX}/bin" > ${UCSPISRC}/src/conf-tcpbin ${ECHO_CMD} "/etc/ssl" > ${UCSPISRC}/src/conf-cadir ${ECHO_CMD} "/etc/ssl/cert.pem" > ${UCSPISRC}/src/conf-cafile ${ECHO_CMD} "/etc/ssl/dh1024.pem" > ${UCSPISRC}/src/conf-dhfile @cd ${UCSPISRC} && ${SETENV} ${MAKE_ENV} package/compile @cd ${WRKSRC} && ${SH} ./install_spamcontrol.sh # Any rejected patches are a failure @if [ "`find ${WRKSRC} -name '*.rej' | wc -l`" -ne 0 ]; then \ ${ECHO_MSG} "===> Failed to apply spamcontrol patch"; \ ${FALSE}; \ fi # Fix trailing whitespace which breaks some patches ${SED} -i '' -e 's,^\(binm3 binm3+df\) $$,\1,' ${WRKSRC}/Makefile .endif post-patch: .if ${PORT_OPTIONS:MSMTP_AUTH_PATCH} @${CP} ${SMTP_AUTH_DIR}/base64.[ch] ${WRKSRC} . if defined(AUTH_PATCH) @${PATCH} -d ${SMTP_AUTH_DIR} < ${DISTDIR}/${DIST_SUBDIR}/${AUTH_PATCH} . endif @${PATCH} -d ${WRKSRC} < ${SMTP_AUTH_DIR}/auth.patch . if defined(SLAVE_TLS) && ${PORT_OPTIONS:MSPF_PATCH} && defined(SPF_TLS_PATCH) @${PATCH} -d ${WRKSRC} < ${DISTDIR}/${DIST_SUBDIR}/${SPF_TLS_PATCH} . if ${PORT_OPTIONS:MEXTTODO_PATCH} && defined(EXTTODO_PATCH) @${PATCH} -p1 -d ${WRKSRC} < ${DISTDIR}/${DIST_SUBDIR}/${EXTTODO_PATCH} . endif . endif @${PATCH} -d ${WRKSRC} < ${DISTDIR}/${DIST_SUBDIR}/qmail-smtpd-auth-close3.patch .elif defined(SLAVE_TLS) && ${PORT_OPTIONS:MSPF_PATCH} && defined(SPF_TLS_PATCH) @${PATCH} -d ${WRKSRC} < ${DISTDIR}/${DIST_SUBDIR}/${SPF_TLS_PATCH} . if ${PORT_OPTIONS:MEXTTODO_PATCH} && defined(EXTTODO_PATCH) @${PATCH} -p1 -d ${WRKSRC} < ${DISTDIR}/${DIST_SUBDIR}/${EXTTODO_PATCH} . endif .endif .if defined(SLAVE_MYSQL) @${REINPLACE_CMD} \ -e 's|/opt/mysql|${LOCALBASE}|' \ -e "s,MYSQL_LIBS=.*,MYSQL_LIBS=\`${LOCALBASE}/bin/mysql_config --libs\`," \ ${WRKSRC}/Makefile .elif defined(SLAVE_SPAMCONTROL) . if ${PORT_OPTIONS:MSMTPEXTFORK} @${PATCH} -d ${WRKSRC} < ${DISTDIR}/${DIST_SUBDIR}/${SMTPEXTFORK_PATCH} . if ${PORT_OPTIONS:MXF_QUITASAP} @${REINPLACE_CMD} 's!//#define XF_QUITASAP!#define XF_QUITASAP!g' \ ${WRKSRC}/qmail-smtpd.c . endif . endif @${REINPLACE_CMD} -E "/qhpsi *= *\"unknown\"/d; s/(\*qqx *== *'D')/qhpsi \&\& \1/g" \ ${WRKSRC}/qmail-smtpd.c .elif defined(SLAVE_TLS) @${HEAD} -105 ${DISTDIR}/${DIST_SUBDIR}/${TLS_PATCH_NAME} > \ ${WRKDIR}/TLS.readme @${REINPLACE_CMD} "s|/usr/local/ssl|${OPENSSLBASE}|" \ ${WRKSRC}/Makefile .elif defined(SLAVE_LDAP) @${REINPLACE_CMD} "s|^LDAPLIBS=-L/usr/local/lib|LDAPLIBS=-L${LOCALBASE}/lib|; \ s|^LDAPINCLUDES=-I/usr/local/include|LDAPINCLUDES=-I${LOCALBASE}/include|" \ ${WRKSRC}/Makefile @${REINPLACE_CMD} "s|^#SHADOWLIBS=-lcrypt$$|SHADOWLIBS=-lcrypt|" \ ${WRKSRC}/Makefile . if ${PORT_OPTIONS:MSMTPEXTFORK} @${PATCH} -d ${WRKSRC} < ${DISTDIR}/${DIST_SUBDIR}/${SMTPEXTFORK_PATCH} # @${PATCH} -d ${WRKSRC} < ${FILESDIR}/extra-patch-smtpextfork-qmail-smtpd.c . if ${PORT_OPTIONS:MXF_QUITASAP} @${REINPLACE_CMD} 's!//#define XF_QUITASAP!#define XF_QUITASAP!g' \ ${WRKSRC}/qmail-smtpd.c . endif . endif . if ${PORT_OPTIONS:MTLS} @${REINPLACE_CMD} "s|^#TLS=|TLS=|; \ s|^#TLSINCLUDES=-I/usr/local/include|TLSINCLUDES=-I${OPENSSLBASE}/include|; \ s|^#TLSLIBS=-L/usr/local/lib|TLSLIBS=-L${OPENSSLBASE}/lib|; \ s|^#OPENSSLBIN=/usr/local/bin/openssl|OPENSSLBIN=${OPENSSLBASE}/bin/openssl|" \ ${WRKSRC}/Makefile . endif . if ${PORT_OPTIONS:MDATA_COMPRESS} || ${PORT_OPTIONS:MQMQP_COMPRESS} @${REINPLACE_CMD} "s|^#ZLIB=-lz$$|ZLIB=-lz|" \ ${WRKSRC}/Makefile . endif . if ${PORT_OPTIONS:MAUTOMAILDIRMAKE} @${REINPLACE_CMD} "s|^#MDIRMAKE=|MDIRMAKE=|" ${WRKSRC}/Makefile . endif . if ${PORT_OPTIONS:MAUTOHOMEDIRMAKE} @${REINPLACE_CMD} "s|^#HDIRMAKE=|HDIRMAKE=|" ${WRKSRC}/Makefile . endif . if ${PORT_OPTIONS:MLDAP_DEBUG} @${REINPLACE_CMD} "s|^#DEBUG=|DEBUG=|" ${WRKSRC}/Makefile . endif . if defined(LDAPFLAGS) @${REINPLACE_CMD} "s|^#LDAPFLAGS=.*$$|LDAPFLAGS=${LDAPFLAGS}|" \ ${WRKSRC}/Makefile . endif .endif .if defined(EXT_BIG_TODO_PATCH) @${PATCH} -d ${WRKSRC} < ${DISTDIR}/${DIST_SUBDIR}/${EXT_BIG_TODO_PATCH} .endif @${REINPLACE_CMD} 's!/var/qmail!${PREFIX}!; \ s!/usr/local/!${LOCALBASE}/!' \ ${WRKSRC}/Makefile @${REINPLACE_CMD} 's!nofiles!qnofiles!g' \ ${WRKSRC}/conf-groups @${REINPLACE_CMD} '/"man"/d; /man\/man/d; /man\/cat/d; \ /"doc"/d; /"boot","/d' \ ${WRKSRC}/hier.c .if ${PORT_OPTIONS:MQEXTRA} @${REINPLACE_CMD} 's!QUEUE_EXTRA ""!QUEUE_EXTRA "Tlog\\0"!g; \ s!QUEUE_EXTRALEN 0!QUEUE_EXTRALEN 5!g' \ ${WRKSRC}/extra.h .endif @${REINPLACE_CMD} -e "s/void *main/int main/g" ${WRKSRC}/*.c @${REINPLACE_CMD} -e "/int main/ s/argc, *argv/int argc, char **argv/" ${WRKSRC}/install.c @${ECHO_CMD} "MANPATH ${MANPREFIX}/man" > ${WRKDIR}/qmail.conf do-configure: @${ECHO_CMD} "${CC} ${CFLAGS}" > ${WRKSRC}/conf-cc @${ECHO_CMD} "${CC} ${STRIP} ${LDFLAGS}" > ${WRKSRC}/conf-ld @${ECHO_CMD} ${PREFIX} > ${WRKSRC}/conf-qmail .if !empty(PORT_OPTIONS:MBIG_CONCURRENCY_PATCH) \ && defined(WITH_BIG_CONCURRENCY_PATCH_CONCURRENCY_LIMIT) @if [ ${WITH_BIG_CONCURRENCY_PATCH_CONCURRENCY_LIMIT} -gt 0 ]; then \ ${ECHO_CMD} "${WITH_BIG_CONCURRENCY_PATCH_CONCURRENCY_LIMIT}" \ > ${WRKSRC}/conf-spawn ; \ fi .endif post-build: @${ECHO_MSG} "===> Rebuilding DJB installer to respect STAGEDIR" @${MV} -f ${WRKSRC}/conf-qmail ${WRKSRC}/conf-qmail.sav @${ECHO_CMD} "${STAGEDIR}${PREFIX}" > ${WRKSRC}/conf-qmail @${MV} -f ${WRKSRC}/install ${WRKSRC}/install.nostage @cd ${WRKSRC} ; ${RM} install instcheck install.o instcheck.o hier.o auto_qmail.o auto_qmail.c @cd ${WRKSRC} ; ${DO_MAKE_BUILD} install instcheck @${MV} -f ${WRKSRC}/conf-qmail.sav ${WRKSRC}/conf-qmail do-install: .for i in ${BOOTFILES} @if [ -f ${WRKSRC}/${i}.sh ] ; then \ ${SED} -f ${WRKDIR}/bootfiles.sed ${WRKSRC}/$i.sh > ${WRKDIR}/${i} ; \ elif [ -f ${FILESDIR}/${i} ] ; then \ ${SED} -f ${WRKDIR}/bootfiles.sed ${FILESDIR}/$i > ${WRKDIR}/${i} ; \ fi .endfor @${MKDIR} ${STAGEDIR}${PREFIX}/configure @cd ${WRKSRC} ; ${FAKEROOT} ./install .for f in ${CONFIGUREPROGRAMS} ${INSTALL_PROGRAM} ${WRKSRC}/${f} ${STAGEDIR}${PREFIX}/configure .endfor ${INSTALL_PROGRAM} ${WRKSRC}/install.nostage ${STAGEDIR}${PREFIX}/configure/install .for f in ${CONFIGURESCRIPTS} ${INSTALL_SCRIPT} ${WRKSRC}/${f} ${STAGEDIR}${PREFIX}/configure .endfor .for i in ${BOOTFILES} ${INSTALL_SCRIPT} ${WRKDIR}/${i:T} ${STAGEDIR}${PREFIX}/boot .endfor .if !defined(SLAVE_LDAP) ${INSTALL_SCRIPT} ${WRKDIR}/qmailsmtpd ${STAGEDIR}${PREFIX}/boot ${INSTALL_SCRIPT} ${WRKDIR}/qmailsend ${STAGEDIR}${PREFIX}/boot .endif .for i in 1 5 7 8 @${MKDIR} ${STAGEDIR}${PREFIX}/man/man$i . for j in ${MMAN${i}} ${INSTALL_MAN} ${WRKSRC}/$j ${STAGEDIR}${PREFIX}/man/man${i} . endfor .endfor .if ${PORT_OPTIONS:MDOCS} @${MKDIR} ${STAGEDIR}${DOCSDIR} . for sub in WRKSRC WRKDIR WRKDIR_doc . for doc in ${DOCFILES_${sub}} ${INSTALL_DATA} ${${sub}}/${doc} ${STAGEDIR}${DOCSDIR} . endfor . endfor . if ${PORT_OPTIONS:MSMTPEXTFORK} && ( defined(SLAVE_SPAMCONTROL) || defined(SLAVE_LDAP) ) ${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/README.smtpextfork ${STAGEDIR}${DOCSDIR} . endif . if defined(PACKAGE_BUILDING) @${ECHO_CMD} "FreeBSD Binary package qmail installation" \ > ${STAGEDIR}${DOCSDIR}/SYSDEPS . else @cd ${WRKSRC} && ${CAT} `${CAT} SYSDEPS` \ > ${STAGEDIR}${DOCSDIR}/SYSDEPS . endif .endif @${MKDIR} ${STAGEDIR}${PREFIX}/scripts ${INSTALL_SCRIPT} ${FILESDIR}/mkaliasdir ${STAGEDIR}${PREFIX}/scripts ${INSTALL_SCRIPT} ${WRKDIR}/enable-qmail ${STAGEDIR}${PREFIX}/scripts .for script in ${SCRIPTS} ${INSTALL_SCRIPT} ${WRKDIR}/scripts/${script} ${STAGEDIR}${PREFIX}/scripts .endfor # @${SETENV} PKG_PREFIX="${PREFIX}" ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL .if defined(SLAVEPORT_LINE) @${ECHO_CMD} "=============================================" @${ECHO_CMD} @${ECHO_CMD} "ATTENTION" @${ECHO_CMD} @${ECHO_CMD} "Add the following line to your /etc/make.conf" @${ECHO_CMD} "QMAIL_SLAVEPORT=${SLAVEPORT_LINE}" @${ECHO_CMD} @${ECHO_CMD} "=============================================" @${ECHO_CMD} .endif post-install: .if defined(SLAVE_LDAP) .for file in qmail-imapd qmail-pop3d qmail-qmqpd qmail-smtpd @${MV} ${STAGEDIR}${PREFIX}/control/${file}.rules \ ${STAGEDIR}${PREFIX}/control/${file}.rules.sample .endfor @${MV} ${STAGEDIR}${PREFIX}/control/signatures \ ${STAGEDIR}${PREFIX}/control/signatures.sample @${FIND} ${WRKDIR} -type f -name run -exec ${SED} -i "" \ -e 's|${STAGEDIR}|${PREFIX}|' {} + .else @${MKDIR} ${STAGEDIR}${LOCALBASE}/etc/rc.d .endif @${MKDIR} ${STAGEDIR}${LOCALBASE}/etc/man.d ${INSTALL_DATA} ${WRKDIR}/qmail.conf ${STAGEDIR}${LOCALBASE}/etc/man.d/qmail.conf @${ECHO_CMD} "===> Fixing plist for ${PREFIX} ownership" @{ \ ${ECHO_CMD} "@owner root"; \ ${ECHO_CMD} "@group qmail"; \ ${ECHO_CMD} "@exec install -d -o root -g qmail ${PREFIX}"; \ ${ECHO_CMD} "@unexec rmdir ${QMAIL_PREFIX} 2>/dev/null || :"; \ } >> ${TMPPLIST} # Stop check-orphans finding the queue dir ${RM} -r ${STAGEDIR}${PREFIX}/queue/ certificate: .if defined(SLAVE_TLS) || defined(SLAVE_LDAP) @if [ -f ${OPENSSLDIR}/openssl.cnf ]; then \ if [ ! -d ${WRKDIR} ]; then \ ${MKDIR} ${WRKDIR} ; \ fi ; \ ${OPENSSLBASE}/bin/openssl req -new -x509 -nodes \ -out ${WRKDIR}/servercert.pem -days 366 \ -keyout ${WRKDIR}/servercert.pem ; \ ${INSTALL} -o qmaild -g qmail -m 0640 ${WRKDIR}/servercert.pem ${PREFIX}/control/servercert.pem ; \ ${OPENSSLBASE}/bin/openssl ciphers > ${QMAIL_PREFIX}/control/tlsclientciphers ; \ ${OPENSSLBASE}/bin/openssl ciphers > ${QMAIL_PREFIX}/control/tlsserverciphers ; \ ${ECHO_MSG} "===> Do not forget to do 'make clean' to clean up temporary files" ; \ else \ ${ECHO_MSG} "===> You must create the file ${OPENSSLDIR}/openssl.cnf first." ; \ fi .endif certificate-req: .if defined(SLAVE_TLS) || defined(SLAVE_LDAP) @if [ -f ${OPENSSLDIR}/openssl.cnf ]; then \ if [ ! -d ${WRKDIR} ]; then \ ${MKDIR} ${WRKDIR} ; \ fi ; \ ${OPENSSLBASE}/bin/openssl req -new -nodes \ -out ${WRKDIR}/req.pem \ -keyout ${WRKDIR}/servercert.pem ; \ ${INSTALL} -o qmaild -g qmail -m 0640 ${WRKDIR}/servercert.pem ${PREFIX}/control/servercert.pem ; \ ${ECHO_MSG} ; \ ${ECHO_MSG} "===> Do not forget to do 'make clean' to clean up temporary files" ; \ ${ECHO_MSG} "===> Send ${WRKDIR}/req.pem to your CA to obtain signed_req.pem, and do:" ; \ ${ECHO_MSG} "===> cat signed_req.pem >> ${PREFIX}/control/servercert.pem" ; \ else \ ${ECHO_MSG} "===> You must create the file ${OPENSSLDIR}/openssl.cnf first." ; \ fi .endif .include Index: head/mail/qmail/distinfo =================================================================== --- head/mail/qmail/distinfo (revision 536398) +++ head/mail/qmail/distinfo (revision 536399) @@ -1,89 +1,89 @@ -TIMESTAMP = 1485784051 +TIMESTAMP = 1584978462 SHA256 (qmail/qmail-1.03.tar.gz) = 21ed6c562cbb55092a66197c35c8222b84115d1acab0854fdb1ad1f301626f88 SIZE (qmail/qmail-1.03.tar.gz) = 220668 SHA256 (qmail/netqmail-1.06.tar.gz) = 8e7d98d15211fc9f9c28109e942e2268f42a6672d68df92a42f2afa90ff00532 SIZE (qmail/netqmail-1.06.tar.gz) = 260941 SHA256 (qmail/qmail-103.patch) = 4cad53c7a6628a600c74c36bfee327db5052ca24c222d4013e4dfcd7f427653d SIZE (qmail/qmail-103.patch) = 2104 SHA256 (qmail/qmailqueue-patch) = 52e82aaa34e9f1308b063cc986a701f67e161662e9f789bb12af03a381530f94 SIZE (qmail/qmailqueue-patch) = 2510 SHA256 (qmail/big-todo.103.patch) = afa0a249e3271badd442f0bdae39997d9fe536157d8a0d62b6706f3dfcd11a72 SIZE (qmail/big-todo.103.patch) = 5546 SHA256 (qmail/big-concurrency.patch) = 0322991955878e86af495f7317c3a4bd2e60640f9a6dd70ad501fff27242ac2f SIZE (qmail/big-concurrency.patch) = 9331 SHA256 (qmail/big-concurrency-spamcontrol-2731.patch) = 0a9e11a784b1e9b47093aea2c67aef4f8b06d4da5624d5284c978fca0d2c5735 SIZE (qmail/big-concurrency-spamcontrol-2731.patch) = 9362 SHA256 (qmail/sendmail-flagf.patch) = 9b3951c22b98c0e5a6ebfa793f052d91dfe01d68a0ad8dc83b8e0bd60c01802e SIZE (qmail/sendmail-flagf.patch) = 863 SHA256 (qmail/patch-qmail-1.03-rfc2821.diff) = c34b331e27882f0596529df14f0e9f24c4dff9f941d04e5df17cc158dddac426 SIZE (qmail/patch-qmail-1.03-rfc2821.diff) = 2564 SHA256 (qmail/qmail-date-localtime.patch) = 852aee7577edf8814c2429f82740da2a7e0b0b23516e10c4f3f7e845a47be2d5 SIZE (qmail/qmail-date-localtime.patch) = 2603 SHA256 (qmail/qmail-1.03-qmtpc.patch) = f704b6c0ca3515a4bb488d14f7c94910aba4daa87420db6cd5b7ea19f17f7449 SIZE (qmail/qmail-1.03-qmtpc.patch) = 6197 SHA256 (qmail/outgoingip.patch) = c117f5c41033f062cdc782a16403fc19725e98d92e73ab193dfd24f48c0ca5ac SIZE (qmail/outgoingip.patch) = 6839 SHA256 (qmail/outgoingip.patch-spamcontrol-25) = 17ef58193aad3ec834641a8e6c0b064965fa0f71ca432f52fe57ef1e48333ea3 SIZE (qmail/outgoingip.patch-spamcontrol-25) = 6751 SHA256 (qmail/qmail-1.03-qmtpc_outgoingip_20090630.patch) = a5b521d3f35aa0842ea3fe69f6e51fa3be5e9c0acfad8671de36fa62a5cb9539 SIZE (qmail/qmail-1.03-qmtpc_outgoingip_20090630.patch) = 10364 SHA256 (qmail/qmail-maildir++.patch) = 79e3f1f8f95b58b6d17e5469f125d873fe212d0a5a6d19b538ad57176fbafb52 SIZE (qmail/qmail-maildir++.patch) = 38088 SHA256 (qmail/netqmail-maildir++.patch) = 9633cf9366e6e703395a7fc3d15f9634f5bb1f49cbdbec53616507308fae0f14 SIZE (qmail/netqmail-maildir++.patch) = 37162 SHA256 (qmail/qmail-block-executables.patch) = 97512624eb02db51e10ab6d0dd834a8797a238d0e006bd1c6c94a183d291b456 SIZE (qmail/qmail-block-executables.patch) = 5070 SHA256 (qmail/qmail-discard-double-bounces.patch) = 14489eefd9908f60af13fadd574d0e9bb936e5d1b706690ce52efef68529a8d8 SIZE (qmail/qmail-discard-double-bounces.patch) = 1305 SHA256 (qmail/qmail-spf-rc5.patch) = 8ad251d779125e11422ae9bcbf619b0ba002c0893dd8c8fe55a34a8b5fc42640 SIZE (qmail/qmail-spf-rc5.patch) = 63582 SHA256 (qmail/qmail-spf-rc5.patch-tls-20110119) = 1b70f1e15dab39e36512dd3c8e00e68be5ff8ba6f53a625065bbb7b2ed1e91b8 SIZE (qmail/qmail-spf-rc5.patch-tls-20110119) = 63649 SHA256 (qmail/qmail-spf-rc5.patch-auth-tls-20110119) = 1ae19dbdba202de3e6edc08080718ade79839e0dfb1353053e347a615ae44771 SIZE (qmail/qmail-spf-rc5.patch-auth-tls-20110119) = 63784 SHA256 (qmail/qmail-ldap-1.03-20120221.patch.gz) = b19e12e50105308fbfa95c504c00dedb0b86983ce91ea0c08f83e7c143c1abf9 SIZE (qmail/qmail-ldap-1.03-20120221.patch.gz) = 276071 SHA256 (qmail/netqmail-mysql-1.1.15.patch) = 656d2366c1b4749f0ffdaf68b30f10d469c67d7c2c5710190e12b2c6ca85b18a SIZE (qmail/netqmail-mysql-1.1.15.patch) = 61635 SHA256 (qmail/spamcontrol-2731.tgz) = 24a9c0af8f405ae6bcc4038fd1fc1ea12d5e5c54642e105fd9f0790593128b71 SIZE (qmail/spamcontrol-2731.tgz) = 179422 -SHA256 (qmail/netqmail-1.06-tls-20160918.patch) = f41d4cca8c9603bfcdbd97d46654f49ad736d8d2f43032305096da80cc7e876a -SIZE (qmail/netqmail-1.06-tls-20160918.patch) = 50082 +SHA256 (qmail/netqmail-1.06-tls-20200107.patch) = 4230ffe10d58f9ded8f28f0d226e1cb1fa4e21321f7e8584388c52c4dd0f83b3 +SIZE (qmail/netqmail-1.06-tls-20200107.patch) = 52188 SHA256 (qmail/qmail-smtpd-auth-0.31.tar.gz) = 1b439fa7e128de13fa80b86883f61a39d17b87b7e8916b6a0eab065bbe49b938 SIZE (qmail/qmail-smtpd-auth-0.31.tar.gz) = 8798 SHA256 (qmail/qmail-smtpd-auth-close3.patch) = d933e871261d6740cebe5c21cad81146525cfe06a464e277979f61c1242b5ad4 SIZE (qmail/qmail-smtpd-auth-close3.patch) = 520 SHA256 (qmail/tarpit.patch) = de94abbb71ef5d25e168725e435edd96ce3b14b7347440e0805dcb919b9d9604 SIZE (qmail/tarpit.patch) = 3089 SHA256 (qmail/ext_todo-20030105.patch) = d46d0225360c0477f93e2990637ebf912b2a86e494f424ef2952ee11ab533ac7 SIZE (qmail/ext_todo-20030105.patch) = 33763 SHA256 (qmail/ext_todo-20030105_spf.patch) = 544629c0003d01d27a5a45508e84332f247ed54ece57ff22c0c7c3a56ba086d6 SIZE (qmail/ext_todo-20030105_spf.patch) = 33781 SHA256 (qmail/ext_todo-20030105_spf_tls.patch) = 0b241b15df1d994e4ccbd5fb87ca715d9c16c7868a8e70c5c194ca1af4ab21b7 SIZE (qmail/ext_todo-20030105_spf_tls.patch) = 33813 SHA256 (qmail/ext_todo-20030105_mysql.patch) = 3fc65b91faaaae147dbf6264f9381664819ef2f236532764309d174f29919ff1 SIZE (qmail/ext_todo-20030105_mysql.patch) = 33797 SHA256 (qmail/ext_todo-20030105_tls.patch) = 0924d3d1287200cb4efc1c3ebfa139f715d3a9d75a6d8af17520c5262a192da2 SIZE (qmail/ext_todo-20030105_tls.patch) = 33795 SHA256 (qmail/qmail-spf-rc5.patch-spamcontrol-27_2) = bd53c0ce09ce68e9638abcab7f36a1e259ffb41737e27f6b8d9e0315f2d09524 SIZE (qmail/qmail-spf-rc5.patch-spamcontrol-27_2) = 64058 SHA256 (qmail/auth.patch.diff) = 1d0f8e0ce139cd00b86f056bc31c1422d30b88cb8b125023d534cc3664f827b8 SIZE (qmail/auth.patch.diff) = 4412 SHA256 (qmail/auth.patch.diff-tls-20110119) = 838a35ea92990775fa96567366249f70e7edbfdf127bebbc23b3df58eb086921 SIZE (qmail/auth.patch.diff-tls-20110119) = 3170 SHA256 (qmail/ext_todo-20030105+big-todo.103.patch) = 4e44ad403b21f5910b6af11295b82296bc8c0f18bc40dcfecfb95c11e5a296f7 SIZE (qmail/ext_todo-20030105+big-todo.103.patch) = 2523 SHA256 (qmail/smtpextfork-ldap-20060201_4.patch) = ff587d7169f404b4a0d0957f81a6849fd867defee5ac91a52ee958e58034b49f SIZE (qmail/smtpextfork-ldap-20060201_4.patch) = 6632 SHA256 (qmail/smtpextfork-spamcontrol-2731.patch) = 9614dbbaddc5f8ccc4a9cdfe2c42e8de80f56159dbe161a3c7180eee7d860aae SIZE (qmail/smtpextfork-spamcontrol-2731.patch) = 8916 SHA256 (qmail/README.smtpextfork) = baf23f1cc5676c67041cdaf7c8a0ce5b27365351a4ef52d235d6d021776bb72a SIZE (qmail/README.smtpextfork) = 7690 SHA256 (qmail/qmail-ldap-1.03_qmail-smtpd_SENDERCHECK4.patch) = 7656aef1f30f3c6a684e319d2a309d162b2a559eb84b38d21a1e23e88c78995b SIZE (qmail/qmail-ldap-1.03_qmail-smtpd_SENDERCHECK4.patch) = 2182 SHA256 (qmail/qmail-ldap-20060201-grtdelay.patch) = db880469e3d1356252bc8d10251b88cf5cf75a69f18971ffa6e2b85db5a796bc SIZE (qmail/qmail-ldap-20060201-grtdelay.patch) = 6051 SHA256 (qmail/enhacelogging-ldap-20120221.patch) = e5403eee9c180180eb52ce343575bbd67e869cda874dbe064e17f35370b260c5 SIZE (qmail/enhacelogging-ldap-20120221.patch) = 1207 SHA256 (qmail/ucspi-ssl-0.94.tgz) = 343c0281269d88650823eb053fe80bf34b81f52c12b895f27534706b983a23b4 SIZE (qmail/ucspi-ssl-0.94.tgz) = 112640 Index: head/mail/qmail/files/patch-alloc.c =================================================================== --- head/mail/qmail/files/patch-alloc.c (nonexistent) +++ head/mail/qmail/files/patch-alloc.c (revision 536399) @@ -0,0 +1,19 @@ +diff -r -u a/alloc.c b/alloc.c +--- alloc.c 1998-06-15 03:53:16.000000000 -0700 ++++ alloc.c 2020-05-04 16:43:32.923310325 -0700 +@@ -1,3 +1,4 @@ ++#include + #include "alloc.h" + #include "error.h" + extern char *malloc(); +@@ -15,6 +16,10 @@ + unsigned int n; + { + char *x; ++ if (n >= (INT_MAX >> 3)) { ++ errno = error_nomem; ++ return 0; ++ } + n = ALIGNMENT + n - (n & (ALIGNMENT - 1)); /* XXX: could overflow */ + if (n <= avail) { avail -= n; return space + avail; } + x = malloc(n); Property changes on: head/mail/qmail/files/patch-alloc.c ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +ON \ No newline at end of property Index: head/mail/qmail/files/qmailsend.in =================================================================== --- head/mail/qmail/files/qmailsend.in (revision 536398) +++ head/mail/qmail/files/qmailsend.in (revision 536399) @@ -1,66 +1,66 @@ #!/bin/sh # # $FreeBSD$ # # PROVIDE: qmailsend # REQUIRE: network # # The wrapper around qmail's qmail-send, qmail-lspawn, qmail-rspawn and # qmail-clean chain. # # the qmailsend_delivery variable controls where mails should be delivered to: # maildir - qmail-local to ~/Maildir/ (this is the default) # mailbox - qmail-local to ~/Mailbox # proc - procmail to /var/spool/mail/$USER # V7 - /bin/mail V7 interface to /var/spool/mail/$USER # SVR4 - /bin/mail SVR4 interface to /var/spool/mail/$USER # BSD44 - /usr/libexec/mail.local to /var/spool/mail/$USER # # Setting qmailsend_dotforward enables support for sendmail style # .forward files # . /etc/rc.subr name=qmailsend rcvar=qmailsend_enable load_rc_config $name : ${qmailsend_delivery="maildir"} : ${qmailsend_dotforward="NO"} start_cmd="${name}_start" command="%%PREFIX%%/bin/qmail-start" procname=qmail-send extra_commands="flush" flush_cmd="qmailsend_flush" pidfile="/var/run/${name}.pid" qmailsend_start() { case ${qmailsend_delivery} in - maildir) command_args='./Maildir/';; - mailbox) command_args='./Mailbox';; + maildir) command_args=./Maildir/;; + mailbox) command_args=./Mailbox;; proc) command_args='|preline procmail';; V7) command_args='|preline -f /bin/mail -f "${SENDER:-MAILER-DAEMON}" -d "$USER"';; SVR4) command_args='|preline -f /bin/mail -r "${SENDER:-MAILER-DAEMON}" -d "$USER"';; BSD44) command_args='|preline -f /usr/libexec/mail.local -r "${SENDER:-MAILER-DAEMON}" -d "$USER"';; *) err 1 "Error: Unknown qmailsend delivery method: ${qmailsend_delivery}";; esac if checkyesno qmailsend_dotforward; then command_args='|dot-forward .forward '"${command_args}" fi exec env - PATH="%%PREFIX%%/bin:$PATH" ${command} \'"${command_args}"\' splogger qmail& /bin/pgrep -P $$ > ${pidfile} } qmailsend_flush() { /bin/pkill -ALRM ${rc_pid} } run_rc_command "$1" Index: head/mail/qmail-mysql/Makefile =================================================================== --- head/mail/qmail-mysql/Makefile (revision 536398) +++ head/mail/qmail-mysql/Makefile (revision 536399) @@ -1,23 +1,23 @@ # Created by: Mario S F Ferreira # $FreeBSD$ PORTNAME= qmail PORTVERSION= ${QMAIL_VERSION}.${MYSQL_PATCH_VERSION} -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= mail PKGNAMESUFFIX= -mysql COMMENT= Secure, reliable, and fast MTA for UNIX systems with MySQL support CONFLICTS= *qmail-[0-9]* qmail-ldap-[0-9]* qmail-spamcontrol-[0-9]* *qmail-tls-[0-9]* MYSQL_PATCH_VERSION= 1.1.15 SLAVE_MYSQL= yes USES= compiler:c11 mysql MASTERDIR= ${.CURDIR}/../qmail DESCR= ${.CURDIR}/pkg-descr .include "${MASTERDIR}/Makefile" Index: head/mail/qmail-tls/Makefile =================================================================== --- head/mail/qmail-tls/Makefile (revision 536398) +++ head/mail/qmail-tls/Makefile (revision 536399) @@ -1,24 +1,24 @@ # Created by: Mario S F Ferreira # $FreeBSD$ PORTNAME= qmail PORTVERSION= ${QMAIL_VERSION}.${TLS_PATCH_DATE} -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= mail PKGNAMESUFFIX= -tls COMMENT= Secure, reliable, and fast MTA for UNIX systems with TLS support CONFLICTS= *qmail-[0-9]* qmail-ldap-[0-9]* *qmail-mysql-[0-9]* qmail-spamcontrol-[0-9]* SLAVE_TLS= yes -TLS_PATCH_DATE= 20160918 +TLS_PATCH_DATE= 20200107 USES= ssl # Local overrides MASTERDIR= ${.CURDIR}/../qmail DESCR= ${.CURDIR}/pkg-descr .include "${MASTERDIR}/Makefile"