Index: head/mail/Makefile =================================================================== --- head/mail/Makefile (revision 497811) +++ head/mail/Makefile (revision 497812) @@ -1,753 +1,754 @@ # $FreeBSD$ # COMMENT = Electronic mail utilities SUBDIR += abook SUBDIR += adcomplain SUBDIR += addresses SUBDIR += addresses-goodies SUBDIR += akpop3d SUBDIR += alpine SUBDIR += altermime SUBDIR += amavis-logwatch SUBDIR += anomy-sanitizer SUBDIR += antivirus-milter SUBDIR += anubis SUBDIR += archivemail SUBDIR += archiveopteryx SUBDIR += archiveopteryx-devel SUBDIR += archivesmtp SUBDIR += archmbox SUBDIR += ask SUBDIR += asmail SUBDIR += assp SUBDIR += automx SUBDIR += autorespond SUBDIR += autosig SUBDIR += avenger SUBDIR += balsa SUBDIR += batv-milter SUBDIR += bayespam SUBDIR += bbmail SUBDIR += biabam SUBDIR += bincimap SUBDIR += bmf SUBDIR += bogofilter SUBDIR += bogofilter-sqlite SUBDIR += bogofilter-tc SUBDIR += bsfilter SUBDIR += bsmtp SUBDIR += bulk_mailer SUBDIR += c-sig SUBDIR += cclient SUBDIR += chk4mail SUBDIR += claws-mail SUBDIR += claws-mail-address_keeper SUBDIR += claws-mail-archiver SUBDIR += claws-mail-att_remover SUBDIR += claws-mail-attach_warner SUBDIR += claws-mail-bogofilter SUBDIR += claws-mail-bsfilter SUBDIR += claws-mail-clamd SUBDIR += claws-mail-fetchinfo SUBDIR += claws-mail-gdata SUBDIR += claws-mail-libravatar SUBDIR += claws-mail-mailmbox SUBDIR += claws-mail-managesieve SUBDIR += claws-mail-newmail SUBDIR += claws-mail-notification SUBDIR += claws-mail-pdf_viewer SUBDIR += claws-mail-perl SUBDIR += claws-mail-pgp SUBDIR += claws-mail-python SUBDIR += claws-mail-rssyl SUBDIR += claws-mail-spamassassin SUBDIR += claws-mail-spamreport SUBDIR += claws-mail-tnef SUBDIR += claws-mail-vcalendar SUBDIR += clawsker SUBDIR += cleanup-maildir SUBDIR += cone SUBDIR += coolmail SUBDIR += courier SUBDIR += courier-authlib-vchkpw SUBDIR += courier-imap SUBDIR += courier-pythonfilter SUBDIR += couriergraph SUBDIR += crm114 SUBDIR += cvsmail SUBDIR += cyrus-imapd23 SUBDIR += cyrus-imapd24 SUBDIR += cyrus-imapd25 SUBDIR += cyrus-imapd30 SUBDIR += cyrus2courier SUBDIR += cyrus2dovecot SUBDIR += davmail SUBDIR += dbmail SUBDIR += dbmail22 SUBDIR += dcc-dccd SUBDIR += deforaos-mailer SUBDIR += delatt SUBDIR += dk-milter SUBDIR += dkfilter SUBDIR += dkimproxy SUBDIR += dma SUBDIR += dot-forward SUBDIR += dovecot SUBDIR += dovecot-pigeonhole SUBDIR += dspam SUBDIR += ecartis SUBDIR += elm SUBDIR += elmo SUBDIR += emailrelay SUBDIR += emil SUBDIR += enma SUBDIR += eps SUBDIR += epstools SUBDIR += esmtp SUBDIR += evolution SUBDIR += evolution-ews SUBDIR += exilog SUBDIR += exim SUBDIR += exim-doc-html SUBDIR += exim-doc-pdf SUBDIR += exim-doc-postscript SUBDIR += exim-ldap2 SUBDIR += exim-monitor SUBDIR += exim-mysql SUBDIR += exim-postgresql SUBDIR += exim-sa-exim SUBDIR += exim-sqlite SUBDIR += exipick SUBDIR += exmh2 SUBDIR += ez-pine-gpg SUBDIR += ezmlm SUBDIR += ezmlm-idx SUBDIR += faces SUBDIR += fastforward SUBDIR += fdm SUBDIR += fetchmail SUBDIR += fetchmailconf SUBDIR += filtermail SUBDIR += findmaildirs SUBDIR += geary SUBDIR += gensig SUBDIR += getmail SUBDIR += gkrellmmailwatch2 SUBDIR += gmime2 SUBDIR += gmime2-sharp SUBDIR += gmime24 SUBDIR += gmime24-sharp SUBDIR += gmime26 SUBDIR += gmime26-sharp SUBDIR += gmime30 SUBDIR += gnarwl SUBDIR += gnubiff SUBDIR += gnumail SUBDIR += gotmail SUBDIR += grepmail SUBDIR += greyfix SUBDIR += greylite SUBDIR += gubby SUBDIR += hashcash SUBDIR += hbiff SUBDIR += heirloom-mailx SUBDIR += horde-imp SUBDIR += horde-ingo SUBDIR += horde-turba SUBDIR += horde-webmail SUBDIR += hs-email-validate SUBDIR += hs-mime SUBDIR += hs-mime-mail SUBDIR += hs-mime-types SUBDIR += ifile SUBDIR += im SUBDIR += imap-uw SUBDIR += imapdedup SUBDIR += imapfilter SUBDIR += imapsync SUBDIR += imaptools SUBDIR += imaputils SUBDIR += isbg SUBDIR += isoqlog SUBDIR += isync SUBDIR += james SUBDIR += jamlib SUBDIR += jmba SUBDIR += junkfilter SUBDIR += jwsmtp SUBDIR += lbdb SUBDIR += lens SUBDIR += libcmime SUBDIR += libdkim SUBDIR += libdomainkeys SUBDIR += libesmtp SUBDIR += libetpan SUBDIR += libmilter SUBDIR += libpst SUBDIR += librfc822 SUBDIR += libsieve SUBDIR += libspamtest SUBDIR += libspf SUBDIR += libspf2 SUBDIR += libsrs2 SUBDIR += libsrs_alt SUBDIR += libvmime SUBDIR += listadmin SUBDIR += lmtp2nntp SUBDIR += lookout SUBDIR += lurker SUBDIR += mail2sms SUBDIR += mailagent SUBDIR += maildrop SUBDIR += mailest SUBDIR += mailfmt SUBDIR += mailfromd SUBDIR += mailfront SUBDIR += mailgraph SUBDIR += mailhog SUBDIR += mailman SUBDIR += mailmgr SUBDIR += mailpile SUBDIR += mailscanner SUBDIR += mailsync SUBDIR += mailutils SUBDIR += mailx SUBDIR += mairix SUBDIR += masqmail SUBDIR += mb2md SUBDIR += mblaze SUBDIR += mbox2imap SUBDIR += mbox2mdir SUBDIR += mboxcheck-applet SUBDIR += mboxgrep SUBDIR += mboxstats SUBDIR += mbx2mbox SUBDIR += mdpop3d SUBDIR += mess822 SUBDIR += meta1 SUBDIR += metamail SUBDIR += mew SUBDIR += milter-bogom SUBDIR += milter-callback SUBDIR += milter-greylist SUBDIR += milter-manager SUBDIR += milter-regex SUBDIR += milter-skem SUBDIR += mime-construct SUBDIR += mime4j SUBDIR += mimedefang SUBDIR += mini_sendmail SUBDIR += minimalist SUBDIR += missey SUBDIR += mlmmj SUBDIR += mls SUBDIR += mmr SUBDIR += mpop SUBDIR += mreport SUBDIR += msgconvert SUBDIR += msglint SUBDIR += msmtp SUBDIR += mu SUBDIR += mu4e SUBDIR += mu4e-maildirs SUBDIR += mulberry SUBDIR += mutt SUBDIR += mutt_vc_query SUBDIR += muttils SUBDIR += nbsmtp SUBDIR += neomutt SUBDIR += nextcloud-mail SUBDIR += nmh SUBDIR += nmzmail SUBDIR += noattach SUBDIR += nocc SUBDIR += nohtml SUBDIR += normalizemime SUBDIR += notmuch SUBDIR += notmuch-emacs SUBDIR += notmuch-mutt SUBDIR += nullmailer SUBDIR += nullpop SUBDIR += offlineimap SUBDIR += opendkim SUBDIR += opendmarc SUBDIR += openemm2013 SUBDIR += openemm2015 SUBDIR += opensmtpd SUBDIR += opensmtpd-devel SUBDIR += opensmtpd-extras SUBDIR += opensmtpd-extras-filter-clamav SUBDIR += opensmtpd-extras-filter-dkim SUBDIR += opensmtpd-extras-filter-dnsbl SUBDIR += opensmtpd-extras-filter-lua SUBDIR += opensmtpd-extras-filter-monkey SUBDIR += opensmtpd-extras-filter-pause SUBDIR += opensmtpd-extras-filter-perl SUBDIR += opensmtpd-extras-filter-python SUBDIR += opensmtpd-extras-filter-regex SUBDIR += opensmtpd-extras-filter-spamassassin SUBDIR += opensmtpd-extras-queue-python SUBDIR += opensmtpd-extras-queue-ram SUBDIR += opensmtpd-extras-scheduler-python SUBDIR += opensmtpd-extras-scheduler-ram SUBDIR += opensmtpd-extras-table-ldap SUBDIR += opensmtpd-extras-table-mysql SUBDIR += opensmtpd-extras-table-passwd SUBDIR += opensmtpd-extras-table-postgresql SUBDIR += opensmtpd-extras-table-python SUBDIR += opensmtpd-extras-table-redis SUBDIR += opensmtpd-extras-table-socketmap SUBDIR += opensmtpd-extras-table-sqlite SUBDIR += opensmtpd-extras-tool-stats SUBDIR += openwebmail SUBDIR += osbf-lua SUBDIR += ovs SUBDIR += p5-CGP-CLI SUBDIR += p5-Clamd SUBDIR += p5-Dancer-Plugin-Email SUBDIR += p5-Dancer2-Plugin-Email SUBDIR += p5-Data-Validate-Email SUBDIR += p5-Email-Abstract SUBDIR += p5-Email-Address SUBDIR += p5-Email-Address-List SUBDIR += p5-Email-Address-Loose SUBDIR += p5-Email-Address-UseXS SUBDIR += p5-Email-Address-XS SUBDIR += p5-Email-AddressParser SUBDIR += p5-Email-Date SUBDIR += p5-Email-Date-Format SUBDIR += p5-Email-Delete SUBDIR += p5-Email-Filter SUBDIR += p5-Email-Find SUBDIR += p5-Email-Folder SUBDIR += p5-Email-Folder-IMAP SUBDIR += p5-Email-Folder-IMAPS SUBDIR += p5-Email-Folder-POP3 SUBDIR += p5-Email-FolderType SUBDIR += p5-Email-FolderType-Net SUBDIR += p5-Email-LocalDelivery SUBDIR += p5-Email-LocalDelivery-Ezmlm SUBDIR += p5-Email-MIME SUBDIR += p5-Email-MIME-Attachment-Stripper SUBDIR += p5-Email-MIME-ContentType SUBDIR += p5-Email-MIME-CreateHTML SUBDIR += p5-Email-MIME-Creator-ISO_2022_JP SUBDIR += p5-Email-MIME-Encodings SUBDIR += p5-Email-MIME-RFC2047 SUBDIR += p5-Email-MessageID SUBDIR += p5-Email-Outlook-Message SUBDIR += p5-Email-Reply SUBDIR += p5-Email-Send SUBDIR += p5-Email-Sender SUBDIR += p5-Email-Sender-Transport-SMTP-TLS SUBDIR += p5-Email-Sender-Transport-SMTPS SUBDIR += p5-Email-Sender-Transport-SQLite SUBDIR += p5-Email-Simple SUBDIR += p5-Email-Simple-FromHandle SUBDIR += p5-Email-Stuffer SUBDIR += p5-Email-Valid SUBDIR += p5-Email-Valid-Loose SUBDIR += p5-FuzzyOcr-devel SUBDIR += p5-GMail-IMAPD SUBDIR += p5-IMAP-Admin SUBDIR += p5-IMAP-Client SUBDIR += p5-IMAP-Sieve SUBDIR += p5-LMAP-CID2SPF SUBDIR += p5-Log-Procmail SUBDIR += p5-MIME-AltWords SUBDIR += p5-MIME-Charset SUBDIR += p5-MIME-EcoEncode SUBDIR += p5-MIME-EncWords SUBDIR += p5-MIME-Explode SUBDIR += p5-MIME-Fast SUBDIR += p5-MIME-Lite SUBDIR += p5-MIME-Lite-HTML SUBDIR += p5-MIME-Lite-TT SUBDIR += p5-MIME-Lite-TT-HTML SUBDIR += p5-MIME-Tools SUBDIR += p5-MIME-Types SUBDIR += p5-Mail-Address-MobileJp SUBDIR += p5-Mail-Alias SUBDIR += p5-Mail-Audit SUBDIR += p5-Mail-Audit-Attach SUBDIR += p5-Mail-Box SUBDIR += p5-Mail-Box-IMAP4 SUBDIR += p5-Mail-Box-IMAP4-SSL SUBDIR += p5-Mail-Box-POP3 SUBDIR += p5-Mail-Box-Parser-C SUBDIR += p5-Mail-Bulkmail SUBDIR += p5-Mail-CheckUser SUBDIR += p5-Mail-ClamAV SUBDIR += p5-Mail-DKIM SUBDIR += p5-Mail-DMARC SUBDIR += p5-Mail-DeliveryStatus-BounceParser SUBDIR += p5-Mail-DomainKeys SUBDIR += p5-Mail-Ezmlm SUBDIR += p5-Mail-Field-Received SUBDIR += p5-Mail-FilterXML SUBDIR += p5-Mail-Folder SUBDIR += p5-Mail-Freshmeat SUBDIR += p5-Mail-GnuPG SUBDIR += p5-Mail-Graph SUBDIR += p5-Mail-IMAPClient SUBDIR += p5-Mail-IMAPTalk SUBDIR += p5-Mail-LMLM SUBDIR += p5-Mail-ListDetector SUBDIR += p5-Mail-MailStats SUBDIR += p5-Mail-Mbox-MessageParser SUBDIR += p5-Mail-MboxParser SUBDIR += p5-Mail-Message SUBDIR += p5-Mail-OpenDKIM SUBDIR += p5-Mail-OpenRelay-Simple SUBDIR += p5-Mail-POP3Client SUBDIR += p5-Mail-Procmail SUBDIR += p5-Mail-Procmailrc SUBDIR += p5-Mail-RBL SUBDIR += p5-Mail-RFC822-Address SUBDIR += p5-Mail-SPF SUBDIR += p5-Mail-SRS SUBDIR += p5-Mail-SendEasy SUBDIR += p5-Mail-Sender SUBDIR += p5-Mail-Sendmail SUBDIR += p5-Mail-Spool SUBDIR += p5-Mail-Tools SUBDIR += p5-Mail-Transport SUBDIR += p5-Mail-Transport-Dbx SUBDIR += p5-Mail-Verify SUBDIR += p5-Mail-Verp SUBDIR += p5-Mail-Webmail-Gmail SUBDIR += p5-Mojolicious-Plugin-Mail SUBDIR += p5-Net-IMAP-Client SUBDIR += p5-Net-IMAP-Server SUBDIR += p5-Net-IMAP-Simple SUBDIR += p5-Net-IMAP-Simple-SSL SUBDIR += p5-Net-LMTP SUBDIR += p5-Net-ManageSieve SUBDIR += p5-Net-POP3-SSLWrapper SUBDIR += p5-Net-QMTP SUBDIR += p5-Net-SMTP-Server SUBDIR += p5-Net-SMTP-TLS SUBDIR += p5-Net-SMTP-TLS-ButMaintained SUBDIR += p5-Net-SMTPS SUBDIR += p5-Net-SMTP_auth SUBDIR += p5-Net-SenderBase SUBDIR += p5-Net-Server-Mail SUBDIR += p5-POE-Component-Client-POP3 SUBDIR += p5-POE-Component-Client-SMTP SUBDIR += p5-POE-Component-SMTP SUBDIR += p5-POE-Filter-Transparent-SMTP SUBDIR += p5-Parse-MIME SUBDIR += p5-Parse-Syslog-Mail SUBDIR += p5-Qmail-Envelope SUBDIR += p5-SES SUBDIR += p5-Sendmail-AccessDB SUBDIR += p5-Sendmail-Milter SUBDIR += p5-Sisimai SUBDIR += p5-Test-Email SUBDIR += p5-URI-imap SUBDIR += p5-URI-imaps SUBDIR += p5-WWW-GMail SUBDIR += p5-WWW-Hotmail SUBDIR += p5-qpsmtpd SUBDIR += panda-cclient SUBDIR += panda-imap SUBDIR += pantomime SUBDIR += pathalias SUBDIR += pear-Contact_Vcard_Build SUBDIR += pear-Contact_Vcard_Parse SUBDIR += pear-Horde_Imap_Client SUBDIR += pear-Horde_Kolab_Storage SUBDIR += pear-Horde_ListHeaders SUBDIR += pear-Horde_Mail SUBDIR += pear-Horde_Mail_Autoconfig SUBDIR += pear-Horde_Mapi SUBDIR += pear-Horde_Mime SUBDIR += pear-Horde_Mime_Viewer SUBDIR += pear-Horde_Smtp SUBDIR += pear-MIME_Type SUBDIR += pear-Mail SUBDIR += pear-Mail_Mbox SUBDIR += pear-Mail_Mime SUBDIR += pear-Mail_Queue SUBDIR += pear-Mail_mimeDecode SUBDIR += pear-Net_Cyrus SUBDIR += pear-Net_IMAP SUBDIR += pear-Net_LMTP SUBDIR += pecl-mailparse SUBDIR += perdition SUBDIR += pflogsumm SUBDIR += pfqueue SUBDIR += php71-imap SUBDIR += php72-imap SUBDIR += php73-imap SUBDIR += phplist SUBDIR += phpmailer SUBDIR += phpmailer6 SUBDIR += pine-pgp-filters SUBDIR += pm-lib SUBDIR += policyd2 SUBDIR += pop3proxy SUBDIR += popa3d SUBDIR += popa3d-before-sendmail SUBDIR += popcheck SUBDIR += popfile SUBDIR += poppassd SUBDIR += poppwd SUBDIR += poppy SUBDIR += popular SUBDIR += postfinger SUBDIR += postfix SUBDIR += postfix-current SUBDIR += postfix-current-sasl SUBDIR += postfix-ldap-sasl SUBDIR += postfix-logwatch SUBDIR += postfix-policyd-sf SUBDIR += postfix-policyd-spf-perl SUBDIR += postfix-policyd-spf-python SUBDIR += postfix-policyd-weight SUBDIR += postfix-postfwd SUBDIR += postfix-sasl SUBDIR += postfixadmin SUBDIR += postgrey SUBDIR += postsrsd SUBDIR += prayer SUBDIR += prepflog SUBDIR += procmail SUBDIR += prom-wl SUBDIR += proxsmtp SUBDIR += py-Products.MailHost SUBDIR += py-Products.SecureMailHost SUBDIR += py-afew SUBDIR += py-aiosmtpd SUBDIR += py-alot SUBDIR += py-apolicy SUBDIR += py-authres SUBDIR += py-cyruslib SUBDIR += py-dkimpy SUBDIR += py-email_reply_parser SUBDIR += py-flask-mail SUBDIR += py-flufl.bounce SUBDIR += py-fuglu SUBDIR += py-libgmail SUBDIR += py-mail-parser SUBDIR += py-managesieve3 SUBDIR += py-milter SUBDIR += py-notmuch SUBDIR += py-ppolicy SUBDIR += py-premailer SUBDIR += py-pymailq SUBDIR += py-pyspf SUBDIR += py-pyzmail SUBDIR += py-spambayes SUBDIR += py-validate_email SUBDIR += py-zope.sendmail SUBDIR += pymsgauth SUBDIR += pysieved SUBDIR += pyzor SUBDIR += qconfirm SUBDIR += qmail SUBDIR += qmail-activedir SUBDIR += qmail-auditor SUBDIR += qmail-autoresponder SUBDIR += qmail-conf SUBDIR += qmail-contrib SUBDIR += qmail-dk SUBDIR += qmail-ldap SUBDIR += qmail-mysql SUBDIR += qmail-notify SUBDIR += qmail-qfilter SUBDIR += qmail-rblchk SUBDIR += qmail-remove SUBDIR += qmail-spamcontrol SUBDIR += qmail-tls SUBDIR += qmailadmin SUBDIR += qmailanalog SUBDIR += qmailmrtg7 SUBDIR += qmhandle SUBDIR += qmqtool SUBDIR += qpopper SUBDIR += qsf SUBDIR += qsheff SUBDIR += qtools SUBDIR += queue-fix SUBDIR += queue-repair SUBDIR += rainloop SUBDIR += rainloop-community SUBDIR += ratelimit-policyd SUBDIR += raysfilter SUBDIR += razor-agents SUBDIR += rbl-milter SUBDIR += rblcheck SUBDIR += relaydb SUBDIR += renattach SUBDIR += rftp SUBDIR += ripmime SUBDIR += rlytest SUBDIR += rmilter SUBDIR += roundcube SUBDIR += roundcube-automatic_addressbook SUBDIR += roundcube-carddav SUBDIR += roundcube-contextmenu SUBDIR += roundcube-html5_notifier SUBDIR += roundcube-identity_smtp SUBDIR += roundcube-login_info SUBDIR += roundcube-markasjunk2 SUBDIR += roundcube-mobilecube SUBDIR += roundcube-mvision2 SUBDIR += roundcube-sauserprefs SUBDIR += roundcube-sieverules SUBDIR += roundcube-thunderbird_labels SUBDIR += roundcube-umich SUBDIR += roundcube-veximaccountadmin SUBDIR += roundcube-yubikey_auth SUBDIR += rspamd SUBDIR += rspamd-devel SUBDIR += rss2email2 SUBDIR += rss2email3 SUBDIR += rubygem-actionmailer4 SUBDIR += rubygem-actionmailer5 SUBDIR += rubygem-actionmailer50 SUBDIR += rubygem-email_reply_parser SUBDIR += rubygem-email_reply_parser-discourse SUBDIR += rubygem-email_reply_trimmer SUBDIR += rubygem-exception_notification SUBDIR += rubygem-mail SUBDIR += rubygem-mail_room SUBDIR += rubygem-mailboxer SUBDIR += rubygem-mailfactory SUBDIR += rubygem-mini_mime SUBDIR += rubygem-pony SUBDIR += rubygem-premailer SUBDIR += rubygem-premailer-rails SUBDIR += rubygem-premailer-rails-rails5 SUBDIR += rubygem-premailer-rails19-rails50 SUBDIR += rubygem-rmail SUBDIR += rubygem-roadie SUBDIR += rubygem-roadie-rails SUBDIR += rubygem-ruby-qmail SUBDIR += rubygem-tmail SUBDIR += rubygem-vmail SUBDIR += s-nail SUBDIR += sa-stats SUBDIR += sa-utils SUBDIR += scam-backscatter SUBDIR += sendmail + SUBDIR += sendmail-devel SUBDIR += sendok SUBDIR += sentinel SUBDIR += serialmail SUBDIR += sgwi SUBDIR += sid-milter SUBDIR += sieve-connect SUBDIR += sigrot SUBDIR += simscan SUBDIR += slapd-cyrus SUBDIR += sma SUBDIR += smfsav SUBDIR += smfsav-devel SUBDIR += smtp-cli SUBDIR += smtp-gated SUBDIR += smtpfeed SUBDIR += smtpmail SUBDIR += smtprc SUBDIR += smtprelay SUBDIR += smtptrapd SUBDIR += sortmail SUBDIR += spamass-ixhash SUBDIR += spamass-milter SUBDIR += spamass-rules SUBDIR += spamassassin SUBDIR += spambnc SUBDIR += spamcup SUBDIR += spamd SUBDIR += spamdb-curses SUBDIR += spamdyke SUBDIR += spamguard SUBDIR += spamilter SUBDIR += spamoracle SUBDIR += spampd SUBDIR += spamprobe SUBDIR += spamstats SUBDIR += spfmilter SUBDIR += spfval SUBDIR += spmfilter SUBDIR += spmfilter-clamav SUBDIR += sqlgrey SUBDIR += squirrelmail SUBDIR += squirrelmail-abook_import_export-plugin SUBDIR += squirrelmail-askuserinfo-plugin SUBDIR += squirrelmail-avelsieve-plugin SUBDIR += squirrelmail-calendar_file_backend-plugin SUBDIR += squirrelmail-change_ldappass-plugin SUBDIR += squirrelmail-change_sqlpass-plugin SUBDIR += squirrelmail-check_quota-plugin SUBDIR += squirrelmail-compatibility-plugin SUBDIR += squirrelmail-decode SUBDIR += squirrelmail-email_footer-plugin SUBDIR += squirrelmail-login_auth-plugin SUBDIR += squirrelmail-login_notes-plugin SUBDIR += squirrelmail-mark_read-plugin SUBDIR += squirrelmail-multilogin-plugin SUBDIR += squirrelmail-notes-plugin SUBDIR += squirrelmail-notify-plugin SUBDIR += squirrelmail-password_forget-plugin SUBDIR += squirrelmail-plugins SUBDIR += squirrelmail-pupdate-plugin SUBDIR += squirrelmail-qmailadmin_login-plugin SUBDIR += squirrelmail-quota_usage-plugin SUBDIR += squirrelmail-sasql-plugin SUBDIR += squirrelmail-secure_login-plugin SUBDIR += squirrelmail-shared_calendars-plugin SUBDIR += squirrelmail-spam-buttons-plugin SUBDIR += squirrelmail-squirrel_logger-plugin SUBDIR += squirrelmail-timeout_user-plugin SUBDIR += squirrelmail-tmda-plugin SUBDIR += squirrelmail-translations SUBDIR += squirrelmail-unsafe_image_rules-plugin SUBDIR += squirrelmail-user_special_mailboxes-plugin SUBDIR += squirrelmail-vlogin-plugin SUBDIR += squirrelmail-websearch-plugin SUBDIR += squirrelmail-wetteronline-plugin SUBDIR += sqwebmail SUBDIR += ssmtp SUBDIR += surblhost SUBDIR += svnmailer SUBDIR += swaks SUBDIR += sylpheed SUBDIR += sympa SUBDIR += t-prot SUBDIR += textmail SUBDIR += thunderbird SUBDIR += thunderbird-dictionaries SUBDIR += tlb SUBDIR += tmda SUBDIR += tpop3d SUBDIR += trojita SUBDIR += tumgreyspf SUBDIR += up-imapproxy SUBDIR += usendmail SUBDIR += vacation SUBDIR += vbsfilter SUBDIR += vexim SUBDIR += vmailmgr SUBDIR += vpopmail SUBDIR += vqadmin SUBDIR += vrfy SUBDIR += wanderlust SUBDIR += websieve SUBDIR += whoson SUBDIR += wmbiff SUBDIR += wmmaiload SUBDIR += x-face-e21 SUBDIR += xbuffy SUBDIR += xcite SUBDIR += xfaces SUBDIR += xfce4-mailwatch-plugin SUBDIR += xlbiff SUBDIR += xmail SUBDIR += xmailbox SUBDIR += xmailwatcher SUBDIR += xpbiff .include Index: head/mail/sendmail-devel/Makefile =================================================================== --- head/mail/sendmail-devel/Makefile (nonexistent) +++ head/mail/sendmail-devel/Makefile (revision 497812) @@ -0,0 +1,382 @@ +# $FreeBSD$ + +PORTNAME= sendmail +PORTVERSION= 8.16.0.41 +PORTREVISION= 0 +CATEGORIES= mail ipv6 +MASTER_SITES= ftp://ftp.sendmail.org/pub/sendmail/snapshots/ +PKGNAMESUFFIX?= -devel${PKGNAMESUFFIX2} +DISTNAME= ${PORTNAME}.${PORTVERSION} + +MAINTAINER= dinoex@FreeBSD.org +COMMENT= Reliable, highly configurable mail transfer agent with utilities + +LICENSE= Sendmail +LICENSE_NAME= Sendmail License +LICENSE_FILE= ${WRKSRC}/LICENSE +LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept + +CONFLICTS?= courier-0.* postfix-1.* postfix-2.* smail-3.* zmailer-2.* opensmtpd-* + +USERS= smmsp +GROUPS= smmsp + +USES= cpe uidfix groff +MAKE_ARGS= UBINOWN=${UID} UBINGRP=${GID} \ + SBINOWN=${UID} SBINGRP=${GID} \ + GBINOWN=${UID} GBINGRP=${GID} \ + MANOWN=${UID} MANGRP=${GID} \ + CFOWN=${UID} CFGRP=${GID} \ + MSPQOWN=${UID} \ + LIBMODE=0644 UBINMODE=0755 GBINMODE=2755 +WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION} +DOCS= KNOWNBUGS LICENSE PGPKEYS README RELEASE_NOTES \ + sendmail/TRACEFLAGS sendmail/SECURITY sendmail/TUNING +PLIST_SUB+= PREFIX=${PREFIX:S=${PREFIX}/==} \ + MANPREFIX=${MANPREFIX:S=$=/=:S=${PREFIX}==:S=^/==} +PKGMESSAGE= ${WRKSRC}/pkg-message + +WCONF= ${WRKSRC}/devtools/Site +SITE= ${FILESDIR}/site.config.m4.pre4 +PLIST= ${WRKDIR}/.PLIST.more +LMAN1= mailq.1 newaliases.1 vacation.1 +LMAN5= aliases.5 +LMAN8= 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 +MILTER_SOVER?= 6 + +OPTIONS_DEFINE?= SHMEM SEM LA NIS IPV6 TLS SASL SASLAUTHD LDAP BDB \ + GDBM SOCKETMAP CYRUSLOOKUP BLACKLISTD SMTPUTF8 \ + PICKY_HELO_CHECK MILTER DOCS +OPTIONS_DEFAULT?= SHMEM SEM LA NIS TLS SASL SASLAUTHD BDB1 \ + BLACKLISTD PICKY_HELO_CHECK MILTER +NO_OPTIONS_SORT=yes +SHMEM_DESC= System V shared memory support +LA_DESC= load averages support +TLS_DESC= SMTP-TLS and SMTPS support +SASLAUTHD_DESC= SASLAUTHD support +BDB_DESC= Berkeley DB version 4+ support +GDBM_DESC= GNU dbm library support (option COMPAT needed) +SOCKETMAP_DESC= Enable socketmap feature +BLACKLISTD_DESC= Enable blacklistd support +CYRUSLOOKUP_DESC= Enable cyruslookup feature +PICKY_HELO_CHECK_DESC= Enable picky HELO check +MILTER_DESC= Enable milter support +SMTPUTF8_DESC= Enable unicode address support + +TLS_USES= ssl +SASL_LIB_DEPENDS= libsasl2.so:security/cyrus-sasl2 +SASLAUTHD_RUN_DEPENDS= ${LOCALBASE}/sbin/saslauthd:security/cyrus-sasl2-saslauthd +LDAP_USE= OPENLDAP=yes +BDB_USES= bdb +GDBM_LIB_DEPENDS= libgdbm.so:databases/gdbm +GDBM_CONFIGURE_WITH= compat +SMTPUTF8_LIB_DEPENDS= libidn2.so:dns/libidn2 libicui18n.so:devel/icu + +.include +.if ${PORT_OPTIONS:MSHMEM} && !defined(BUILDING_INDEX) +IPCCHECK!= ipcrm -q 0 2>&1 || true +.if ${IPCCHECK:Mimplemented} +IGNORE= your system does not support sysvipc +.endif +.endif + +.if ${PORT_OPTIONS:MBDB} +BDB_SUFFIX= +${BDB_INCLUDE_DIR:S,^${LOCALBASE}/include/,,} +CONFLICTS+= sendmail-ldap-8.* sendmail-sasl2-8.* sendmail-tls-8.* +.endif +.if ${PORT_OPTIONS:MLDAP} +LDAP_SUFFIX?= +ldap +CONFLICTS+= sendmail-sasl2-8.* sendmail-tls-8.* +.endif +.if ${PORT_OPTIONS:MSASL} +SASL_SUFFIX?= +sasl2 +CONFLICTS+= sendmail-ldap-8.* sendmail-tls-8.* +.endif +.if ${PORT_OPTIONS:MCYRUSLOOKUP} +.if ! ${PORT_OPTIONS:MSOCKETMAP} +IGNORE= option CYRUSLOOKUP requires option SOCKETMAP +.else +EXTRA_PATCHES+= ${FILESDIR}/cyruslookup.patch +.endif +.endif +.if ${PORT_OPTIONS:MSMTPUTF8} +EXTRA_PATCHES+= ${FILESDIR}/smtputf8.patch +.endif +.if ${PORT_OPTIONS:MTLS} +TLS_SUFFIX?= +tls +CONFLICTS+= sendmail-ldap-8.* sendmail-sasl2-8.* +.endif + +MAKE_PKGNAMES= for i in "" +tls; do \ + for j in "" +sasl2; do \ + for k in "" +ldap; do \ + for l in "" +db48 +db5 +db6; do \ + echo "sendmail$${i}$${j}$${k}$${l}-8.*" ;\ + done done done done + +ALL_PKGNAMES!= ${MAKE_PKGNAMES} +CONFLICTS2!= ${MAKE_PKGNAMES} | ${GREP} -v "${PORTNAME}${PKGNAMESUFFIX:S|${PKGNAMESUFFIX2}||}-8." +CONFLICTS+= ${CONFLICTS2} + +# Build site.config.m4 +SITE+= ${FILESDIR}/site.config.m4 +.if ${PORT_OPTIONS:MIPV6} +SITE+= ${FILESDIR}/site.config.m4.ipv6 +.endif +.if ${PORT_OPTIONS:MSASL} +SITE+= ${FILESDIR}/site.config.m4.sasl2 +.endif +.if ${PORT_OPTIONS:MLDAP} +SITE+= ${FILESDIR}/site.config.m4.ldap +.endif +.if ${PORT_OPTIONS:MBLACKLISTD} +SITE+= ${FILESDIR}/site.config.m4.blacklistd +.endif +.if ${PORT_OPTIONS:MSMTPUTF8} +SITE+= ${FILESDIR}/site.config.m4.smtputf8 +.endif +.if ${PORT_OPTIONS:MMILTER} +SITE+= ${FILESDIR}/site.config.m4.milter +.endif +.if ${PORT_OPTIONS:MGDBM} +NO_PACKAGE= GPLv3 license conflict +SITE+= ${FILESDIR}/site.config.m4.gdbm +.endif + +SED_SCRIPT= -e "s|\`-O'|\`${CFLAGS}'|" \ + -e 's|%%CC%%|${CC}|' -e 's|%%LD%%|${LD}|' + +.if ! ${PORT_OPTIONS:MNIS} +SED_SCRIPT+= -e "s;-DNIS ;;" +.endif + +post-patch: + @${SED} -e "s=%%PREFIX%%=${PREFIX}=g" \ + -e "s=%%LOCALBASE%%=${LOCALBASE}=g" \ + -e "s=%%PORTSDIR%%=${PORTSDIR}=g" \ + ${PKGDIR}/pkg-message > ${WRKSRC}/pkg-message + +do-configure: +.if ${PORT_OPTIONS:MGDBM} + @(if [ ! -e "${LOCALBASE}/lib/libgdbm_compat.so" ] ; then \ + ${ECHO_MSG} "===> option COMPAT is missing in databases/gdbm."; \ + ${FALSE}; \ + fi) +.endif +.if ${PORT_OPTIONS:MBLACKLISTD} + @(if [ ! -e "${DESTDIR}/usr/lib/libblacklist.so" ] ; then \ + ${ECHO_MSG} "===> libblacklist.so not found. Please update to FreeBSD 11"; \ + ${FALSE}; \ + fi) +.endif + ${REINPLACE_CMD} ${SED_SCRIPT} ${WRKSRC}/devtools/OS/FreeBSD + ${SED} -e "s=%%PREFIX%%=${PREFIX}=g" \ + -e "s=%%LOCALBASE%%=${LOCALBASE}=g" \ + ${SITE} > ${WCONF}/site.config.m4 +.if ${PORT_OPTIONS:MBDB} + ${ECHO_CMD} \ + 'APPENDDEF(`confENVDEF'\'', `-I${BDB_INCLUDE_DIR}'\'')' \ + >> ${WCONF}/site.config.m4 + ${ECHO_CMD} \ + 'APPENDDEF(`confLIBDIRS'\'', `-L${LOCALBASE}/lib'\'')' \ + >> ${WCONF}/site.config.m4 +.for i in sendmail editmap makemap praliases vacation + ${ECHO_CMD} \ + 'APPENDDEF(`conf_${i}_LIBS'\'', `-l${BDB_LIB_NAME}'\'')' \ + >> ${WCONF}/site.config.m4 +.endfor +.endif +.if ${PORT_OPTIONS:MSOCKETMAP} + ${ECHO_CMD} \ + 'APPENDDEF(`conf_sendmail_ENVDEF'\'', `-DSOCKETMAP'\'')' \ + >> ${WCONF}/site.config.m4 +.endif +.if ${PORT_OPTIONS:MPICKY_HELO_CHECK} + ${ECHO_CMD} \ + 'APPENDDEF(`conf_sendmail_ENVDEF'\'', `-DPICKY_HELO_CHECK'\'')' \ + >> ${WCONF}/site.config.m4 +.endif +.if ! ${PORT_OPTIONS:MSHMEM} + ${ECHO_CMD} \ + 'APPENDDEF(`confENVDEF'\'', `-DSM_CONF_SHM=0'\'')' \ + >> ${WCONF}/site.config.m4 +.endif +.if ! ${PORT_OPTIONS:MSEM} + ${ECHO_CMD} \ + 'APPENDDEF(`confENVDEF'\'', `-DSM_CONF_SEM=0'\'')' \ + >> ${WCONF}/site.config.m4 +.endif +.if ! ${PORT_OPTIONS:MLA} + ${ECHO_CMD} \ + 'APPENDDEF(`confENVDEF'\'', `-DLA_TYPE=LA_ZERO'\'')' \ + >> ${WCONF}/site.config.m4 +.endif + +post-build: + (cd ${WRKSRC}/doc/op && \ + ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} op.txt) + +pre-install: + ${MKDIR} ${STAGEDIR}/etc/mail + @${CAT} ${PKGDIR}/pkg-plist >${PLIST} + @cd ${WRKSRC} && ${FIND} cf -type f | \ + ${AWK} '{print "share/sendmail/" $$1}' >>${PLIST} +.if ${PORT_OPTIONS:MDOCS} +.for i in ${DOCS} + @${ECHO_CMD} `${BASENAME} ${i}` | \ + ${AWK} '{print "%%DOCSDIR%%/" $$1}' >>${PLIST} +.endfor +.if ${PORT_OPTIONS:MCYRUSLOOKUP} + @${ECHO_CMD} "share/doc/sendmail/CYRUS_LOOKUP" >>${PLIST} +.endif +.endif + ${MKDIR} ${STAGEDIR}${PREFIX}/etc/mail + @${SED} \ + -e "s=\([ ]\)/.*$$=\\1${SENDMAIL}=" \ + ${FILESDIR}/mailer.conf \ + > ${STAGEDIR}${PREFIX}/etc/mail/mailer.conf.sendmail + +# 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 && \ + ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} force-install) + (cd ${WRKSRC}/rmail && \ + ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} force-install) +.for i in ${LMAN8} + ${INSTALL_MAN} ${WRKSRC}/*/${i} ${STAGEDIR}${MANPREFIX}/man/man8/ +.endfor +.for i in ${LMAN5} + ${INSTALL_MAN} ${WRKSRC}/*/${i} ${STAGEDIR}${MANPREFIX}/man/man5/ +.endfor +.for i in ${LMAN1} + ${INSTALL_MAN} ${WRKSRC}/*/${i} ${STAGEDIR}${MANPREFIX}/man/man1/ +.endfor + ${MKDIR} ${STAGEDIR}${PREFIX}/share/sendmail + ${TAR} -C ${WRKSRC} -cf - cf | \ + ${TAR} -C ${STAGEDIR}${PREFIX}/share/sendmail -xf - + ${RM} ${STAGEDIR}${PREFIX}/man/cat*/* +# final perm of sendmail is 2555 (see plist), needed for strip cmd + ${CHMOD} 755 ${STAGEDIR}${PREFIX}/sbin/sendmail + ${RM} ${STAGEDIR}/etc/mail/submit.cf + ${RMDIR} ${STAGEDIR}/var/spool/clientmqueue + + ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/vacation + ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/rmail + ${STRIP_CMD} ${STAGEDIR}${PREFIX}/sbin/* + ${STRIP_CMD} ${STAGEDIR}${PREFIX}/libexec/* + +post-install-DOCS-on: + ${MKDIR} ${STAGEDIR}${DOCSDIR} + cd ${WRKSRC} && ${INSTALL_DATA} ${DOCS} ${STAGEDIR}${DOCSDIR}/ + ${INSTALL_DATA} ${WRKSRC}/doc/op/op.ps ${STAGEDIR}${DOCSDIR}/op.ps + ${INSTALL_DATA} ${WRKSRC}/doc/op/op.txt ${STAGEDIR}${DOCSDIR}/op.txt + ${INSTALL_DATA} ${WRKSRC}/devtools/README ${STAGEDIR}${DOCSDIR}/DEVTOOLS + ${INSTALL_DATA} ${WRKSRC}/sendmail/README ${STAGEDIR}${DOCSDIR}/SENDMAIL + ${INSTALL_DATA} ${WRKSRC}/mail.local/README ${STAGEDIR}${DOCSDIR}/MAIL.LOCAL + ${INSTALL_DATA} ${WRKSRC}/smrsh/README ${STAGEDIR}${DOCSDIR}/SMRSH +.if ${PORT_OPTIONS:MCYRUSLOOKUP} + ${INSTALL_DATA} ${FILESDIR}/CYRUS_LOOKUP ${STAGEDIR}${DOCSDIR}/CYRUS_LOOKUP +.endif + +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: +.if exists(${DESTDIR}${PREFIX}/etc/mail/mailer.conf.sendmail) + @${CP} -v ${DESTDIR}${PREFIX}/etc/mail/mailer.conf.sendmail \ + ${DESTDIR}${PREFIX}/etc/mail/mailer.conf +.else + @${MKDIR} ${DESTDIR}${PREFIX}/etc/mail + @${SED} \ + -e "s=\([ ]\)/.*$$=\\1${SENDMAIL}=" \ + ${FILESDIR}/mailer.conf \ + > ${DESTDIR}${PREFIX}/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.bme.ogi.edu/~pchytil/linux/sendmail/" + @${ECHO_CMD} "# http://blue-labs.org/software/sm-pgsql/" + @${ECHO_CMD} "# http://www.falkotimme.com/howtos/sendmail_smtp_auth_tls/" + @${ECHO_CMD} "#" + +# create certificates for TLS/SSL +# +tls-install: + ${SETENV} DESTDIR=${DESTDIR} FILESDIR=${FILESDIR} \ + ${SH} ${FILESDIR}/tls-install.sh + +help: + @${ECHO_CMD} "# additional targets:" + @${ECHO_CMD} "#" + @${ECHO_CMD} "# configure ${DESTDIR}/etc/mail/mailer.conf" + @${ECHO_CMD} "# for sendmail from ports" + @${ECHO_CMD} "make mailer.conf" + @${ECHO_CMD} "# for sendmail in the base" + @${ECHO_CMD} "make mailer.base" + @${ECHO_CMD} "#" + @${ECHO_CMD} "# show howto for configuring sasldb" + @${ECHO_CMD} "make howto-sasldb" + @${ECHO_CMD} "#" + @${ECHO_CMD} "# create a self-signed certificate" + @${ECHO_CMD} "make tls-install" + @${ECHO_CMD} "#" + +.include + +.if ${PORT_OPTIONS:MTLS} +.if ${SSL_DEFAULT} != 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 ${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 Property changes on: head/mail/sendmail-devel/Makefile ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +FreeBSD=%H \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/mail/sendmail-devel/distinfo =================================================================== --- head/mail/sendmail-devel/distinfo (nonexistent) +++ head/mail/sendmail-devel/distinfo (revision 497812) @@ -0,0 +1,3 @@ +TIMESTAMP = 1553765712 +SHA256 (sendmail.8.16.0.41.tar.gz) = e01b73de900e419248a5ff0ab38b9dc4873847fba70e98e4ce994452936ffdc2 +SIZE (sendmail.8.16.0.41.tar.gz) = 2262860 Property changes on: head/mail/sendmail-devel/distinfo ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/mail/sendmail-devel/files/patch-Makefile.m4 =================================================================== --- head/mail/sendmail-devel/files/patch-Makefile.m4 (nonexistent) +++ head/mail/sendmail-devel/files/patch-Makefile.m4 (revision 497812) @@ -0,0 +1,10 @@ +--- sendmail/Makefile.m4.orig 2019-02-15 10:30:19 UTC ++++ sendmail/Makefile.m4 +@@ -7,6 +7,7 @@ bldPRODUCT_START(`executable', `sendmail + define(`bldBIN_TYPE', `G') + define(`bldINSTALL_DIR', `') + define(`bldSOURCES', `main.c alias.c arpadate.c bf.c collect.c conf.c control.c convtime.c daemon.c deliver.c domain.c envelope.c err.c headers.c macro.c map.c mci.c milter.c mime.c parseaddr.c queue.c ratectrl.c readcf.c recipient.c sasl.c savemail.c sfsasl.c shmticklib.c sm_resolve.c srvrsmtp.c stab.c stats.c sysexits.c timers.c tlsh.c tls.c trace.c udb.c usersmtp.c util.c version.c ') ++APPENDDEF(`bldSOURCES',`blacklist.c ') + PREPENDDEF(`confENVDEF', `confMAPDEF') + bldPUSH_SMLIB(`sm') + bldPUSH_SMLIB(`smutil') Property changes on: head/mail/sendmail-devel/files/patch-Makefile.m4 ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/mail/sendmail-devel/files/patch-cfhead.m4 =================================================================== --- head/mail/sendmail-devel/files/patch-cfhead.m4 (nonexistent) +++ head/mail/sendmail-devel/files/patch-cfhead.m4 (revision 497812) @@ -0,0 +1,12 @@ +--- cf/m4/cfhead.m4.orig 2019-02-15 10:30:19 UTC ++++ cf/m4/cfhead.m4 +@@ -278,7 +278,8 @@ define(`_REC_AUTH_', `$.$?{auth_type}(au + define(`_REC_FULL_AUTH_', `$.$?{auth_type}(user=${auth_authen} $?{auth_author}author=${auth_author} $.mech=${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_ Property changes on: head/mail/sendmail-devel/files/patch-cfhead.m4 ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/mail/sendmail-devel/files/patch-readcf.c =================================================================== --- head/mail/sendmail-devel/files/patch-readcf.c (nonexistent) +++ head/mail/sendmail-devel/files/patch-readcf.c (revision 497812) @@ -0,0 +1,26 @@ +--- sendmail/readcf.c.orig 2019-02-15 10:30:19 UTC ++++ sendmail/readcf.c +@@ -2988,6 +2988,10 @@ static struct optioninfo + { "ClientCACertPath", O_CLTCACERTPATH, OI_NONE }, + #endif + ++#if USE_BLACKLIST ++# define O_BLACKLIST 0xf2 ++ { "UseBlacklist", O_BLACKLIST, OI_NONE }, ++#endif + { NULL, '\0', OI_NONE } + }; + +@@ -4661,6 +4665,12 @@ setoption(opt, val, safe, sticky, e) + break; + #endif + ++#if USE_BLACKLIST ++ case O_BLACKLIST: ++ UseBlacklist = atobool(val); ++ break; ++#endif ++ + default: + if (tTd(37, 1)) + { Property changes on: head/mail/sendmail-devel/files/patch-readcf.c ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/mail/sendmail-devel/files/patch-sendmail.h =================================================================== --- head/mail/sendmail-devel/files/patch-sendmail.h (nonexistent) +++ head/mail/sendmail-devel/files/patch-sendmail.h (revision 497812) @@ -0,0 +1,24 @@ +--- sendmail/sendmail.h.orig 2019-02-15 10:30:19 UTC ++++ sendmail/sendmail.h +@@ -61,6 +61,10 @@ SM_UNUSED(static char SmailId[]) = "@(#) + #endif /* _DEFINE */ + + #include "bf.h" ++#if USE_BLACKLIST ++#include ++#endif ++#include "blacklist_client.h" + #include "timers.h" + #include + #include +@@ -2513,6 +2517,10 @@ EXTERN int Hacks; /* bit field of run-ti + + EXTERN int ConnectionRateWindowSize; + ++#if USE_BLACKLIST ++EXTERN bool UseBlacklist; ++#endif ++ + /* + ** Declarations of useful functions + */ Property changes on: head/mail/sendmail-devel/files/patch-sendmail.h ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/mail/sendmail-devel/files/patch-srvrsmtp.c =================================================================== --- head/mail/sendmail-devel/files/patch-srvrsmtp.c (nonexistent) +++ head/mail/sendmail-devel/files/patch-srvrsmtp.c (revision 497812) @@ -0,0 +1,92 @@ +--- sendmail/srvrsmtp.c.orig 2019-02-15 10:30:19 UTC ++++ sendmail/srvrsmtp.c +@@ -878,6 +878,9 @@ smtp(nullserver, d_flags, e) + #if _FFR_BADRCPT_SHUTDOWN + int n_badrcpts_adj; + #endif ++#ifdef USE_BLACKLIST ++ int saved_bl_fd; ++#endif + + RESET_AUTH_FAIL_LOG_USER; + SevenBitInput_Saved = SevenBitInput; +@@ -1377,6 +1380,7 @@ smtp(nullserver, d_flags, e) + (int) tp.tv_sec + + (tp.tv_usec >= 500000 ? 1 : 0) + ); ++ BLACKLIST_NOTIFY(BLACKLIST_AUTH_FAIL, fd, "pre-greeting traffic"); + } + } + } +@@ -1479,6 +1483,10 @@ smtp(nullserver, d_flags, e) + SmtpPhase = "server cmd read"; + sm_setproctitle(true, e, "server %s cmd read", CurSmtpClient); + ++#ifdef USE_BLACKLIST ++ saved_bl_fd = dup(sm_io_getinfo(InChannel, SM_IO_WHAT_FD, NULL)); ++#endif ++ + /* handle errors */ + if (sm_io_error(OutChannel) || + (p = sfgets(inp, sizeof(inp), InChannel, +@@ -1792,8 +1800,11 @@ smtp(nullserver, d_flags, e) + #define LOGAUTHFAIL \ + do \ + { \ ++ int fd; \ + SET_AUTH_USER_CONDITIONALLY \ + message("535 5.7.0 authentication failed"); \ ++ fd = sm_io_getinfo(InChannel, SM_IO_WHAT_FD, NULL); \ ++ BLACKLIST_NOTIFY(BLACKLIST_AUTH_FAIL, fd, "AUTH FAIL"); \ + if (LogLevel >= 9) \ + sm_syslog(LOG_WARNING, e->e_id, \ + "AUTH failure (%s): %s (%d) %s%s%.*s, relay=%.100s", \ +@@ -1943,6 +1954,9 @@ smtp(nullserver, d_flags, e) + DELAY_CONN("AUTH"); + if (!sasl_ok || n_mechs <= 0) + { ++ int fd; ++ fd = sm_io_getinfo(InChannel, SM_IO_WHAT_FD, NULL); ++ BLACKLIST_NOTIFY(BLACKLIST_AUTH_FAIL, fd, "AUTH LOGIN FAIL"); + message("503 5.3.3 AUTH not available"); + break; + } +@@ -3546,10 +3560,17 @@ doquit: + ** timeouts for the same connection. + */ + ++#ifdef USE_BLACKLIST ++ /* no immediate BLACKLIST_ABUSIVE_BEHAVIOR */ ++ BLACKLIST_NOTIFY(BLACKLIST_AUTH_FAIL, saved_bl_fd, "no command issued"); ++#endif + sm_syslog(LOG_INFO, e->e_id, + "%s did not issue MAIL/EXPN/VRFY/ETRN during connection to %s", + CurSmtpClient, d); + } ++#ifdef USE_BLACKLIST ++ close(saved_bl_fd); ++#endif + if (tTd(93, 100)) + { + /* return to handle next connection */ +@@ -3607,7 +3628,10 @@ doquit: + #if MAXBADCOMMANDS > 0 + if (++n_badcmds > MAXBADCOMMANDS) + { ++ int fd; + stopattack: ++ fd = sm_io_getinfo(InChannel, SM_IO_WHAT_FD, NULL); ++ BLACKLIST_NOTIFY(BLACKLIST_ABUSIVE_BEHAVIOR, fd, "too many bad commands"); + message("421 4.7.0 %s Too many bad commands; closing connection", + MyHostName); + +@@ -3659,6 +3683,9 @@ doquit: + #if SASL + } + #endif ++#ifdef USE_BLACKLIST ++ close(saved_bl_fd); ++#endif + } + SM_EXCEPT(exc, "[!F]*") + { Property changes on: head/mail/sendmail-devel/files/patch-srvrsmtp.c ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/mail/sendmail-devel/files/site.config.m4.tls =================================================================== --- head/mail/sendmail-devel/files/site.config.m4.tls (nonexistent) +++ head/mail/sendmail-devel/files/site.config.m4.tls (revision 497812) @@ -0,0 +1,2 @@ +APPENDDEF(`conf_sendmail_ENVDEF', `-DSTARTTLS -DTLS_EC') +APPENDDEF(`conf_sendmail_LIBS', `-lssl -lcrypto') Property changes on: head/mail/sendmail-devel/files/site.config.m4.tls ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/mail/sendmail-devel/files/smtputf8.patch =================================================================== --- head/mail/sendmail-devel/files/smtputf8.patch (nonexistent) +++ head/mail/sendmail-devel/files/smtputf8.patch (revision 497812) @@ -0,0 +1,600 @@ +diff --git a/sendmail/conf.c b/sendmail/conf.c +index c73334e..28328e6 100644 +--- sendmail/conf.c.orig ++++ sendmail/conf.c +@@ -314,6 +314,9 @@ setdefaults(e) + e->e_xfqgrp = NOQGRP; + e->e_xfqdir = NOQDIR; + e->e_ctime = curtime(); ++#if _FFR_EAI ++ e->e_smtputf8 = false; ++#endif + SevenBitInput = false; /* option 7 */ + MaxMciCache = 1; /* option k */ + MciCacheTimeout = 5 MINUTES; /* option K */ +@@ -5746,6 +5749,9 @@ char *CompileOptions[] = + "DNSMAP", + # endif + #endif ++#if _FFR_EAI ++ "EAI", ++#endif + #if EGD + "EGD", + #endif +@@ -6590,3 +6596,6 @@ char *FFRCompileOptions[] = + NULL + }; + ++#if _FFR_EAI && _FFR_EIGHT_BIT_ADDR_OK ++#error "Cannot enable both of these FFRs" ++#endif +diff --git a/sendmail/domain.c b/sendmail/domain.c +index 4d1b92d..adaa6ac 100644 +--- sendmail/domain.c.orig ++++ sendmail/domain.c +@@ -13,6 +13,9 @@ + + #include + #include "map.h" ++#if _FFR_EAI ++#include ++#endif + + #if NAMED_BIND + SM_RCSID("@(#)$Id: domain.c,v 8.205 2013-11-22 20:51:55 ca Exp $ (with name server)") +@@ -236,6 +239,26 @@ getmxrr(host, mxhosts, mxprefs, droplocalhost, rcode, tryfallback, pttl) + if (host[0] == '[') + goto punt; + ++#if _FFR_EAI ++ if (!addr_is_ascii(host)) ++ { ++ char buf[1024]; ++ UErrorCode error = U_ZERO_ERROR; ++ UIDNAInfo info = UIDNA_INFO_INITIALIZER; ++ UIDNA *idna; ++ int anl; ++ ++ idna = uidna_openUTS46(UIDNA_NONTRANSITIONAL_TO_ASCII, &error); ++ anl = uidna_nameToASCII_UTF8(idna, ++ host, strlen(host), ++ buf, sizeof(buf) - 1, ++ &info, ++ &error); ++ uidna_close(idna); ++ host = sm_rpool_strdup_x(CurEnv->e_rpool, buf); ++ } ++#endif /* _FFR_EAI */ ++ + /* + ** If we don't have MX records in our host switch, don't + ** try for MX records. Note that this really isn't "right", +diff --git a/sendmail/err.c b/sendmail/err.c +index 0594eb9..67d0d09 100644 +--- sendmail/err.c.orig ++++ sendmail/err.c +@@ -1010,15 +1010,23 @@ fmtmsg(eb, to, num, enhsc, eno, fmt, ap) + (void) sm_strlcpyn(eb, spaceleft, 2, + shortenstring(to, MAXSHORTSTR), "... "); + spaceleft -= strlen(eb); ++#if _FFR_EAI ++ eb += strlen(eb); ++#else + while (*eb != '\0') + *eb++ &= 0177; ++#endif + } + + /* output the message */ + (void) sm_vsnprintf(eb, spaceleft, fmt, ap); + spaceleft -= strlen(eb); ++#if _FFR_EAI ++ eb += strlen(eb); ++#else + while (*eb != '\0') + *eb++ &= 0177; ++#endif + + /* output the error code, if any */ + if (eno != 0) +diff --git a/sendmail/main.c b/sendmail/main.c +index 38eebbf..43e17a5 100644 +--- sendmail/main.c.orig ++++ sendmail/main.c +@@ -1854,6 +1854,9 @@ main(argc, argv, envp) + + /* MIME message/xxx subtypes that can be treated as messages */ + setclass('s', "rfc822"); ++#ifdef _FFR_EAI ++ setclass('s', "global"); ++#endif + + /* MIME Content-Transfer-Encodings that can be encoded */ + setclass('e', "7bit"); +diff --git a/sendmail/parseaddr.c b/sendmail/parseaddr.c +index 2adb39c..9ab0729 100644 +--- sendmail/parseaddr.c.orig ++++ sendmail/parseaddr.c +@@ -273,12 +273,14 @@ invalidaddr(addr, delimptr, isrcpt) + } + for (; *addr != '\0'; addr++) + { ++#ifndef _FFR_EAI + if (!EightBitAddrOK && (*addr & 0340) == 0200) + { + setstat(EX_USAGE); + result = true; + *addr = BAD_CHAR_REPLACEMENT; + } ++#endif + if (++len > MAXNAME - 1) + { + char saved = *addr; +@@ -350,7 +352,7 @@ hasctrlchar(addr, isrcpt, complain) + } + result = "too long"; + } +- if (!EightBitAddrOK && !quoted && (*addr < 32 || *addr == 127)) ++ if (!quoted && ((unsigned char)*addr < 32 || *addr == 127)) + { + result = "non-printable character"; + *addr = BAD_CHAR_REPLACEMENT; +@@ -368,6 +370,7 @@ hasctrlchar(addr, isrcpt, complain) + break; + } + } ++#ifndef _FFR_EAI + if (!EightBitAddrOK && (*addr & 0340) == 0200) + { + setstat(EX_USAGE); +@@ -375,6 +378,7 @@ hasctrlchar(addr, isrcpt, complain) + *addr = BAD_CHAR_REPLACEMENT; + continue; + } ++#endif + } + if (quoted) + result = "unbalanced quote"; /* unbalanced quote */ +diff --git a/sendmail/queue.c b/sendmail/queue.c +index a323301..95344d3 100644 +--- sendmail/queue.c.orig ++++ sendmail/queue.c +@@ -665,6 +665,10 @@ queueup(e, announce, msync) + *p++ = 'n'; + if (bitset(EF_SPLIT, e->e_flags)) + *p++ = 's'; ++#if _FFR_EAI ++ if (e->e_smtputf8) ++ *p++ = 'e'; ++#endif + *p++ = '\0'; + if (buf[0] != '\0') + (void) sm_io_fprintf(tfp, SM_TIME_DEFAULT, "F%s\n", buf); +@@ -4285,6 +4289,12 @@ readqf(e, openonly) + case 'w': /* warning sent */ + e->e_flags |= EF_WARNING; + break; ++ ++#if _FFR_EAI ++ case 'e': /* message requires EAI */ ++ e->e_smtputf8 = true; ++ break; ++#endif /* _FFR_EAI */ + } + } + break; +@@ -4550,6 +4560,23 @@ readqf(e, openonly) + /* other checks? */ + #endif /* _FFR_QF_PARANOIA */ + ++#if _FFR_EAI ++ /* ++ ** If this message originates from something other than ++ ** srvrsmtp.c, then it might use UTF8 addresses but not be ++ ** marked. We'll just add the mark so we're sure that it ++ ** either can be delivered or will be returned. ++ */ ++ if (!e->e_smtputf8) { ++ ADDRESS *q; ++ for (q = e->e_sendqueue; q != NULL; q = q->q_next) ++ if (!addr_is_ascii(q->q_paddr) && !e->e_smtputf8) ++ e->e_smtputf8 = true; ++ if (!addr_is_ascii(e->e_from.q_paddr) && !e->e_smtputf8) ++ e->e_smtputf8 = true; ++ } ++#endif /* _FFR_EAI */ ++ + /* possibly set ${dsn_ret} macro */ + if (bitset(EF_RET_PARAM, e->e_flags)) + { +diff --git a/sendmail/recipient.c b/sendmail/recipient.c +index 3fad957..09eac64 100644 +--- sendmail/recipient.c.orig ++++ sendmail/recipient.c +@@ -508,6 +508,11 @@ recipient(new, sendq, aliaslevel, e) + p = e->e_from.q_mailer->m_addrtype; + if (p == NULL) + p = "rfc822"; ++#ifdef _FFR_EAI ++ if (sm_strcasecmp(p, "rfc822") == 0 && ++ !addr_is_ascii(q->q_user)) ++ p = "utf-8"; ++#endif + if (sm_strcasecmp(p, "rfc822") != 0) + { + (void) sm_snprintf(frbuf, sizeof(frbuf), "%s; %.800s", +diff --git a/sendmail/savemail.c b/sendmail/savemail.c +index 6de8f2f..8a9df36 100644 +--- sendmail/savemail.c.orig ++++ sendmail/savemail.c +@@ -744,6 +744,34 @@ returntosender(msg, returnq, flags, e) + return ret; + } + ++ ++/* ++** DSNTYPENAME -- Returns the DSN name of the addrtype for this address ++** ++** Sendmail's addrtypes are largely in different universes, and ++** 'fred' may be a valid address in different addrtype ++** universes. ++** ++** EAI extends the rfc822 universe rather than introduce a new ++** universe. Because of that, sendmail uses the rfc822 addrtype, ++** but names it utf-8 when the EAI DSN extension requires that. ++*/ ++ ++const char * ++dsntypename(addrtype, addr) ++ const char * addrtype; ++ const char * addr; ++{ ++ if (sm_strcasecmp(addrtype, "rfc822") != 0) ++ return addrtype; ++#ifdef _FFR_EAI ++ if (!addr_is_ascii(addr)) ++ return "utf-8"; ++#endif ++ return "rfc822"; ++} ++ ++ + /* + ** ERRBODY -- output the body of an error message. + ** +@@ -1082,7 +1110,13 @@ errbody(mci, e, separator) + (void) sm_strlcpyn(buf, sizeof(buf), 2, "--", e->e_msgboundary); + if (!putline("", mci) || + !putline(buf, mci) || ++#ifdef _FFR_EAI ++ !putline(e->e_parent->e_smtputf8 ++ ? "Content-Type: message/global-delivery-status" ++ : "Content-Type: message/delivery-status", mci) || ++#else + !putline("Content-Type: message/delivery-status", mci) || ++#endif + !putline("", mci)) + goto writeerr; + +@@ -1223,7 +1257,8 @@ errbody(mci, e, separator) + (void) sm_snprintf(actual, + sizeof(actual), + "%s; %.700s@%.100s", +- p, q->q_user, ++ dsntypename(p, q->q_user), ++ q->q_user, + MyHostName); + } + else +@@ -1231,7 +1266,8 @@ errbody(mci, e, separator) + (void) sm_snprintf(actual, + sizeof(actual), + "%s; %.800s", +- p, q->q_user); ++ dsntypename(p, q->q_user), ++ q->q_user); + } + } + +@@ -1248,6 +1284,21 @@ errbody(mci, e, separator) + actual); + } + ++#ifdef _FFR_EAI ++ if (sm_strncasecmp("rfc822;", q->q_finalrcpt, 7) == 0 && ++ !addr_is_ascii(q->q_user)) { ++ char utf8rcpt[1024]; ++ char * a; ++ a = strchr(q->q_finalrcpt, ';'); ++ while(*a == ';' || *a == ' ') ++ a++; ++ sm_snprintf(utf8rcpt, 1023, ++ "utf-8; %.800s", a); ++ q->q_finalrcpt = sm_rpool_strdup_x(e->e_rpool, ++ utf8rcpt); ++ } ++#endif ++ + if (q->q_finalrcpt != NULL) + { + (void) sm_snprintf(buf, sizeof(buf), +@@ -1373,9 +1424,21 @@ errbody(mci, e, separator) + + if (!putline(buf, mci)) + goto writeerr; ++#ifdef _FFR_EAI ++ if (e->e_parent->e_smtputf8) ++ (void) sm_strlcpyn(buf, sizeof(buf), 2, ++ "Content-Type: message/global", ++ sendbody ? "" : "-headers"); ++ else ++ (void) sm_strlcpyn(buf, sizeof(buf), 2, ++ "Content-Type: ", ++ sendbody ? "message/rfc822" ++ : "text/rfc822-headers"); ++#else + (void) sm_strlcpyn(buf, sizeof(buf), 2, "Content-Type: ", + sendbody ? "message/rfc822" + : "text/rfc822-headers"); ++#endif + if (!putline(buf, mci)) + goto writeerr; + +diff --git a/sendmail/sendmail.h b/sendmail/sendmail.h +index b2d0211..63a2378 100644 +--- sendmail/sendmail.h.orig ++++ sendmail/sendmail.h +@@ -781,8 +781,13 @@ MCI + #else + # define MCIF_NOTSTICKY 0 + #endif ++#if _FFR_EAI ++#define MCIF_EAI 0x40000000 /* SMTPUTF8 supported */ ++#else ++#define MCIF_EAI 0x00000000 /* for MCIF_EXTENS */ ++#endif /* _FFR_EAI */ + +-#define MCIF_EXTENS (MCIF_EXPN|MCIF_SIZE|MCIF_8BITMIME|MCIF_DSN|MCIF_8BITOK|MCIF_AUTH|MCIF_ENHSTAT|MCIF_PIPELINED|MCIF_VERB|MCIF_TLS|MCIF_DLVR_BY|MCIF_AUTH2) ++#define MCIF_EXTENS (MCIF_EXPN|MCIF_SIZE|MCIF_8BITMIME|MCIF_DSN|MCIF_8BITOK|MCIF_AUTH|MCIF_ENHSTAT|MCIF_PIPELINED|MCIF_VERB|MCIF_TLS|MCIF_DLVR_BY|MCIF_AUTH2|MCIF_EAI) + + /* states */ + #define MCIS_CLOSED 0 /* no traffic on this connection */ +@@ -921,6 +926,9 @@ struct envelope + ADDRESS e_from; /* the person it is from */ + char *e_sender; /* e_from.q_paddr w comments stripped */ + char **e_fromdomain; /* the domain part of the sender */ ++#if _FFR_EAI ++ bool e_smtputf8; /* whether the sender demanded SMTPUTF8 */ ++#endif + ADDRESS *e_sendqueue; /* list of message recipients */ + ADDRESS *e_errorqueue; /* the queue for error responses */ + +@@ -1928,6 +1936,9 @@ struct termescape + #define D_CANONREQ 'c' /* canonification required (cf) */ + #define D_IFNHELO 'h' /* use if name for HELO */ + #define D_FQMAIL 'f' /* fq sender address required (cf) */ ++#if _FFR_EAI ++#define D_EAI 'I' /* EAI supported */ ++#endif + #define D_FQRCPT 'r' /* fq recipient address required (cf) */ + #define D_SMTPS 's' /* SMTP over SSL (smtps) */ + #define D_UNQUALOK 'u' /* unqualified address is ok (cf) */ +@@ -2355,7 +2366,7 @@ EXTERN bool ForkQueueRuns; /* fork for each job when running the queue */ + EXTERN bool FromFlag; /* if set, "From" person is explicit */ + EXTERN bool FipsMode; + EXTERN bool GrabTo; /* if set, get recipients from msg */ +-EXTERN bool EightBitAddrOK; /* we'll let 8-bit addresses through */ ++EXTERN bool EightBitAddrOK; /* we'll let 8-bit addresses through */ + EXTERN bool HasEightBits; /* has at least one eight bit input byte */ + EXTERN bool HasWildcardMX; /* don't use MX records when canonifying */ + EXTERN bool HoldErrs; /* only output errors to transcript */ +@@ -2855,6 +2866,10 @@ extern bool xtextok __P((char *)); + extern int xunlink __P((char *)); + extern char *xuntextify __P((char *)); + ++#if _FFR_EAI ++extern bool addr_is_ascii __P((const char *)); ++#endif ++ + #if _FFR_RCPTFLAGS + extern bool newmodmailer __P((ADDRESS *, int)); + #endif +diff --git a/sendmail/srvrsmtp.c b/sendmail/srvrsmtp.c +index b05348d..91e6956 100644 +--- sendmail/srvrsmtp.c.orig ++++ sendmail/srvrsmtp.c +@@ -65,6 +65,9 @@ static bool NotFirstDelivery = false; + #define SRV_REQ_AUTH 0x0400 /* require AUTH */ + #define SRV_REQ_SEC 0x0800 /* require security - equiv to AuthOptions=p */ + #define SRV_TMP_FAIL 0x1000 /* ruleset caused a temporary failure */ ++#if _FFR_EAI ++# define SRV_OFFER_EAI 0x2000 /* offer SMTPUTF* */ ++#endif + + static unsigned int srvfeatures __P((ENVELOPE *, char *, unsigned int)); + +@@ -122,6 +125,29 @@ extern ENVELOPE BlankEnvelope; + #define SKIP_SPACE(s) while (isascii(*s) && isspace(*s)) \ + (s)++ + ++#if _FFR_EAI ++/* ++** ADDR_IS_ASCII -- check whether an address is 100% printable ASCII ++** ++** Parameters: ++** a -- an address (or other string) ++** ++** Returns: ++** TRUE if a is non-NULL and points to only printable ASCII ++** FALSE if a is NULL and points to printable ASCII ++** FALSE if a is non-NULL and points to something containing 8-bittery ++*/ ++ ++bool ++addr_is_ascii(a) ++ const char * a; ++{ ++ while (a != NULL && *a != '\0' && *a >= ' ' && (unsigned char)*a < 127) ++ a++; ++ return (a != NULL && *a == '\0'); ++} ++#endif ++ + /* + ** PARSE_ESMTP_ARGS -- parse EMSTP arguments (for MAIL, RCPT) + ** +@@ -722,10 +748,21 @@ do \ + #else + # define auth_active false + #endif ++#ifdef _FFR_EAI ++#define GET_PROTOCOL() \ ++ (e->e_smtputf8 \ ++ ? (auth_active \ ++ ? (tls_active ? "UTF8SMTPSA" : "UTF8SMTPA") \ ++ : (tls_active ? "UTF8SMTPS" : "UTF8SMTP")) \ ++ : (auth_active \ ++ ? (tls_active ? "ESMTPSA" : "ESMTPA") \ ++ : (tls_active ? "ESMTPS" : "ESMTP"))) ++#else + #define GET_PROTOCOL() \ + (auth_active \ + ? (tls_active ? "ESMTPSA" : "ESMTPA") \ + : (tls_active ? "ESMTPS" : "ESMTP")) ++#endif + + static bool SevenBitInput_Saved; /* saved version of SevenBitInput */ + +@@ -898,6 +935,9 @@ smtp(nullserver, d_flags, e) + | (bitset(TLS_I_NO_VRFY, TLS_Srv_Opts) ? SRV_NONE + : SRV_VRFY_CLT) + #endif /* STARTTLS */ ++#if _FFR_EAI ++ | SRV_OFFER_EAI ++#endif /* _FFR_EAI */ + ; + if (nullserver == NULL) + { +@@ -2523,6 +2563,10 @@ smtp(nullserver, d_flags, e) + if (SendMIMEErrors && bitset(SRV_OFFER_DSN, features)) + message("250-DSN"); + #endif ++#if _FFR_EAI ++ if (bitset(SRV_OFFER_EAI, features)) ++ message("250-SMTPUTF8"); ++#endif /* _FFR_EAI */ + if (bitset(SRV_OFFER_ETRN, features)) + message("250-ETRN"); + #if SASL +@@ -2696,6 +2740,18 @@ smtp(nullserver, d_flags, e) + if (Errors > 0) + sm_exc_raisenew_x(&EtypeQuickAbort, 1); + ++#if _FFR_EAI ++ if (e->e_smtputf8) { ++ protocol = GET_PROTOCOL(); ++ macdefine(&e->e_macro, A_PERM, 'r', protocol); ++ } ++ /* UTF8 addresses are only legal with SMTPUTF8 */ ++ if (!e->e_smtputf8 && !addr_is_ascii(e->e_from.q_paddr)) { ++ usrerr("553 5.6.7 That address requires SMTPUTF8"); ++ sm_exc_raisenew_x(&EtypeQuickAbort, 1); ++ } ++#endif ++ + #if SASL + # if _FFR_AUTH_PASSING + /* set the default AUTH= if the sender didn't */ +@@ -2933,6 +2989,13 @@ smtp(nullserver, d_flags, e) + usrerr("501 5.0.0 Missing recipient"); + goto rcpt_done; + } ++#if _FFR_EAI ++ if (!e->e_smtputf8 && !addr_is_ascii(a->q_paddr)) ++ { ++ usrerr("553 5.6.7 Address requires SMTPUTF8"); ++ goto rcpt_done; ++ } ++#endif + + if (delimptr != NULL && *delimptr != '\0') + *delimptr++ = '\0'; +@@ -4820,6 +4883,17 @@ mail_esmtp_args(a, kp, vp, e) + + /* XXX: check whether more characters follow? */ + } ++#if _FFR_EAI ++ else if (sm_strcasecmp(kp, "smtputf8") == 0) ++ { ++ if (!bitset(SRV_OFFER_EAI, e->e_features)) ++ { ++ usrerr("504 5.7.0 Sorry, SMTPUTF8 not supported/enabled"); ++ /* NOTREACHED */ ++ } ++ e->e_smtputf8 = true; ++ } ++#endif + else + { + usrerr("555 5.5.4 %s parameter unrecognized", kp); +@@ -5174,6 +5248,9 @@ static struct + { 'C', SRV_REQ_SEC }, + { 'D', SRV_OFFER_DSN }, + { 'E', SRV_OFFER_ETRN }, ++#if _FFR_EAI ++ { 'I', SRV_OFFER_EAI }, ++#endif + { 'L', SRV_REQ_AUTH }, + #if PIPELINING + # if _FFR_NO_PIPE +diff --git a/sendmail/usersmtp.c b/sendmail/usersmtp.c +index 24d38ee..cbc6bb7 100644 +--- sendmail/usersmtp.c.orig ++++ sendmail/usersmtp.c +@@ -465,6 +465,10 @@ helo_options(line, firstline, m, mci, e) + mci->mci_flags |= MCIF_PIPELINED; + else if (sm_strcasecmp(line, "verb") == 0) + mci->mci_flags |= MCIF_VERB; ++#if _FFR_EAI ++ else if (sm_strcasecmp(line, "smtputf8") == 0) ++ mci->mci_flags |= MCIF_EAI; ++#endif /* _FFR_EAI */ + #if STARTTLS + else if (sm_strcasecmp(line, "starttls") == 0) + mci->mci_flags |= MCIF_TLS; +@@ -2027,6 +2031,19 @@ smtpmailfrom(m, mci, e) + return EX_TEMPFAIL; + } + ++#if _FFR_EAI ++ /* ++ ** Abort right away if the message needs SMTPUTF8 and the ++ ** server does not advertise SMTPUTF8. ++ */ ++ ++ if (e->e_smtputf8 && !bitset(MCIF_EAI, mci->mci_flags)) { ++ usrerrenh("5.6.7", "%s does not support SMTPUTF8", CurHostName); ++ mci_setstat(mci, EX_NOTSTICKY, "5.6.7", NULL); ++ return EX_DATAERR; ++ } ++#endif /* _FFR_EAI */ ++ + /* set up appropriate options to include */ + if (bitset(MCIF_SIZE, mci->mci_flags) && e->e_msgsize > 0) + { +@@ -2040,6 +2057,14 @@ smtpmailfrom(m, mci, e) + bufp = optbuf; + } + ++#if _FFR_EAI ++ if (e->e_smtputf8) { ++ (void) sm_snprintf(bufp, SPACELEFT(optbuf, bufp), ++ " SMTPUTF8"); ++ bufp += strlen(bufp); ++ } ++#endif /* _FFR_EAI */ ++ + bodytype = e->e_bodytype; + if (bitset(MCIF_8BITMIME, mci->mci_flags)) + { Property changes on: head/mail/sendmail-devel/files/smtputf8.patch ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/mail/sendmail-devel/files/mailer.conf =================================================================== --- head/mail/sendmail-devel/files/mailer.conf (nonexistent) +++ head/mail/sendmail-devel/files/mailer.conf (revision 497812) @@ -0,0 +1,10 @@ +# $FreeBSD$ +# +# Execute the "real" sendmail program, named /usr/local/sbin/sendmail +# +sendmail /usr/local/sbin/sendmail +send-mail /usr/local/sbin/sendmail +mailq /usr/local/sbin/sendmail +newaliases /usr/local/sbin/sendmail +hoststat /usr/local/sbin/sendmail +purgestat /usr/local/sbin/sendmail Property changes on: head/mail/sendmail-devel/files/mailer.conf ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +FreeBSD=%H \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/mail/sendmail-devel/files/patch-FreeBSD =================================================================== --- head/mail/sendmail-devel/files/patch-FreeBSD (nonexistent) +++ head/mail/sendmail-devel/files/patch-FreeBSD (revision 497812) @@ -0,0 +1,11 @@ +--- devtools/OS/FreeBSD.orig 2014-03-05 00:59:45 UTC ++++ devtools/OS/FreeBSD +@@ -6,7 +6,7 @@ dnl Place personal settings in devtools/ + define(`confMAPDEF', `-DNEWDB -DNIS -DMAP_REGEX') + define(`confLIBS', `-lutil') + +-define(`confLD', `cc') ++define(`confCC', `%%CC%%') + define(`confMTLDOPTS', `-pthread') + define(`confMTCCOPTS', `-D_THREAD_SAFE') + define(`confLDOPTS_SO', `-shared') Property changes on: head/mail/sendmail-devel/files/patch-FreeBSD ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/mail/sendmail-devel/files/patch-bsd4.4.m4 =================================================================== --- head/mail/sendmail-devel/files/patch-bsd4.4.m4 (nonexistent) +++ head/mail/sendmail-devel/files/patch-bsd4.4.m4 (revision 497812) @@ -0,0 +1,8 @@ +--- cf/ostype/bsd4.4.m4.orig 2014-03-05 00:59:45 UTC ++++ cf/ostype/bsd4.4.m4 +@@ -17,4 +17,5 @@ divert(0) + VERSIONID(`$Id: bsd4.4.m4,v 8.15 2013-11-22 20:51:15 ca 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 Property changes on: head/mail/sendmail-devel/files/patch-bsd4.4.m4 ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/mail/sendmail-devel/files/patch-doc-op-Makefile =================================================================== --- head/mail/sendmail-devel/files/patch-doc-op-Makefile (nonexistent) +++ head/mail/sendmail-devel/files/patch-doc-op-Makefile (revision 497812) @@ -0,0 +1,11 @@ +--- doc/op/Makefile.orig 2014-03-05 00:59:45 UTC ++++ doc/op/Makefile +@@ -12,7 +12,7 @@ PS2PDF_CMD= ps2pdf + PIC= ${PIC_CMD} -C + EQNASCII= ${EQN_CMD} -C -Tascii + EQNPS= ${EQN_CMD} -C -Tps +-ROFFASCII= ${ROFF_CMD} -Tascii ${MACROS} ++ROFFASCII= ${ROFF_CMD} -P-c -Tascii ${MACROS} + ROFFPS= ${ROFF_CMD} -Tps -mps ${MACROS} + ULASCII= ${UL_CMD} -t dumb + PS2PDF= ${PS2PDF_CMD} Property changes on: head/mail/sendmail-devel/files/patch-doc-op-Makefile ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/mail/sendmail-devel/files/patch-mail.local.8 =================================================================== --- head/mail/sendmail-devel/files/patch-mail.local.8 (nonexistent) +++ head/mail/sendmail-devel/files/patch-mail.local.8 (revision 497812) @@ -0,0 +1,57 @@ +--- mail.local/mail.local.8.orig 2014-03-05 00:59:45 UTC ++++ mail.local/mail.local.8 +@@ -16,9 +16,9 @@ mail.local + \- 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 +38,11 @@ The options are as follows: + .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 +61,13 @@ Specify the sender's name. + .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). +@@ -120,7 +132,7 @@ Used to set the appropriate time zone on + .SH FILES + .PD 0.2v + .TP 2.2i +-/tmp/local.XXXXXX ++/var/tmp/local.XXXXXX + temporary files + .TP + /var/mail/user +@@ -131,7 +143,6 @@ lock file for a user's default mailbox + .PD + .SH SEE ALSO + mail(1), +-xsend(1), + flock(2), + getservbyname(3), + comsat(8), Property changes on: head/mail/sendmail-devel/files/patch-mail.local.8 ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/mail/sendmail-devel/files/patch-mail.local.c =================================================================== --- head/mail/sendmail-devel/files/patch-mail.local.c (nonexistent) +++ head/mail/sendmail-devel/files/patch-mail.local.c (revision 497812) @@ -0,0 +1,97 @@ +--- mail.local/mail.local.c.orig 2014-06-12 17:30:47 UTC ++++ mail.local/mail.local.c +@@ -153,6 +153,8 @@ int ExitVal = EX_OK; /* sysexits.h erro + bool HoldErrs = false; /* Hold errors in ErrBuf */ + bool LMTPMode = false; + bool BounceQuota = false; /* permanent error when over quota */ ++bool NoBiff = false; ++bool NoFsync = false; + bool CloseMBDB = false; + char *HomeMailFile = NULL; /* store mail in homedir */ + +@@ -234,12 +236,12 @@ main(argc, argv) + sm_exit(EX_CONFIG); + } + #if HASHSPOOL +- while ((ch = getopt(argc, argv, "7bdD:f:h:r:lH:p:n")) != -1) ++ while ((ch = getopt(argc, argv, "7bBdD:f:h:r:lsH:p:n")) != -1) + #else /* HASHSPOOL */ + # if _FFR_SPOOL_PATH +- while ((ch = getopt(argc, argv, "7bdD:f:h:r:lp:")) != -1) ++ while ((ch = getopt(argc, argv, "7bBdD:f:h:r:lsp:")) != -1) + # else /* _FFR_SPOOL_PATH */ +- while ((ch = getopt(argc, argv, "7bdD:f:h:r:l")) != -1) ++ while ((ch = getopt(argc, argv, "7bBdD:f:h:r:ls")) != -1) + # endif /* _FFR_SPOOL_PATH */ + #endif /* HASHSPOOL */ + { +@@ -249,6 +251,10 @@ main(argc, argv) + EightBitMime = false; + break; + ++ case 'B': ++ NoBiff = true; ++ break; ++ + case 'b': /* bounce mail when over quota. */ + BounceQuota = true; + break; +@@ -342,6 +348,10 @@ main(argc, argv) + break; + #endif /* HASHSPOOL || _FFR_SPOOL_PATH */ + ++ case 's': ++ NoFsync = true; ++ break; ++ + case '?': + default: + usage(); +@@ -351,7 +361,8 @@ main(argc, argv) + argv += optind; + + /* initialize biff structures */ +- notifybiff(NULL); ++ if (!NoBiff) ++ notifybiff(NULL); + + err = sm_mbdb_initialize(mbdbname); + if (err != EX_OK) +@@ -1273,6 +1284,7 @@ tryagain: + + /* Get the starting offset of the new message */ + curoff = lseek(mbfd, (off_t) 0, SEEK_END); ++ if (!NoBiff) + (void) sm_snprintf(biffmsg, sizeof(biffmsg), "%s@%lld\n", + name, (LONGLONG_T) curoff); + +@@ -1335,7 +1347,7 @@ tryagain: + } + + /* 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: +@@ -1402,7 +1414,7 @@ err0: (void) setreuid(0, 0); + /* Attempt to truncate back to pre-write size */ + goto err3; + } +- else ++ else if (!NoBiff) + notifybiff(biffmsg); + + if (setreuid(0, 0) < 0) +@@ -1582,9 +1594,9 @@ usage() + { + ExitVal = EX_USAGE; + # if _FFR_SPOOL_PATH +- mailerr(NULL, "usage: mail.local [-7] [-b] [-d] [-l] [-f from|-r from] [-h filename] [-p path] user ..."); ++ mailerr(NULL, "usage: mail.local [-7] [-b] [-B] [-d] [-l] [-s] [-f from|-r from] [-h filename] [-p path] user ..."); + # else /* _FFR_SPOOL_PATH */ +- 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 ..."); + # endif /* _FFR_SPOOL_PATH */ + sm_exit(ExitVal); + } Property changes on: head/mail/sendmail-devel/files/patch-mail.local.c ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/mail/sendmail-devel/files/patch-makeinfo.sh =================================================================== --- head/mail/sendmail-devel/files/patch-makeinfo.sh (nonexistent) +++ head/mail/sendmail-devel/files/patch-makeinfo.sh (revision 497812) @@ -0,0 +1,11 @@ +--- cf/sh/makeinfo.sh.orig 2014-03-05 00:59:45 UTC ++++ cf/sh/makeinfo.sh +@@ -52,7 +52,7 @@ then + 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" Property changes on: head/mail/sendmail-devel/files/patch-makeinfo.sh ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/mail/sendmail-devel/files/patch-rmail.c =================================================================== --- head/mail/sendmail-devel/files/patch-rmail.c (nonexistent) +++ head/mail/sendmail-devel/files/patch-rmail.c (revision 497812) @@ -0,0 +1,14 @@ +--- rmail/rmail.c.orig 2014-03-05 00:59:45 UTC ++++ rmail/rmail.c +@@ -276,7 +276,11 @@ main(argc, argv) + 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 */ Property changes on: head/mail/sendmail-devel/files/patch-rmail.c ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/mail/sendmail-devel/files/patch-smrsh.8 =================================================================== --- head/mail/sendmail-devel/files/patch-smrsh.8 (nonexistent) +++ head/mail/sendmail-devel/files/patch-smrsh.8 (revision 497812) @@ -0,0 +1,27 @@ +--- smrsh/smrsh.8.orig 2014-03-05 00:59:45 UTC ++++ smrsh/smrsh.8 +@@ -39,7 +39,7 @@ Briefly, + .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 +50,12 @@ It allows ``||'' and ``&&'' to enable co + ``"|exec /usr/local/bin/filter || 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. Property changes on: head/mail/sendmail-devel/files/patch-smrsh.8 ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/mail/sendmail-devel/files/tls-install.sh =================================================================== --- head/mail/sendmail-devel/files/tls-install.sh (nonexistent) +++ head/mail/sendmail-devel/files/tls-install.sh (revision 497812) @@ -0,0 +1,93 @@ +#!/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/verify')dnl +Xdefine(`confCACERT', `MAIL_SETTINGS_DIR`'certs/chain.pem')dnl +Xdefine(`confSERVER_CERT', `MAIL_SETTINGS_DIR`'certs/sendmailcert.pem')dnl +Xdefine(`confSERVER_KEY', `MAIL_SETTINGS_DIR`'certs/private/sendmailkey.pem')dnl +Xdefine(`confCLIENT_CERT', `MAIL_SETTINGS_DIR`'certs/sendmailcert.pem')dnl +Xdefine(`confCLIENT_KEY', `MAIL_SETTINGS_DIR`'certs/private/sendmailkey.pem')dnl +Xdefine(`confDH_PARAMETERS', `MAIL_SETTINGS_DIR`'certs/dhparam')dnl +X +END-of-files/tls.m4 +exit Property changes on: head/mail/sendmail-devel/files/tls-install.sh ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/mail/sendmail-devel/files/patch-blacklist.c =================================================================== --- head/mail/sendmail-devel/files/patch-blacklist.c (nonexistent) +++ head/mail/sendmail-devel/files/patch-blacklist.c (revision 497812) @@ -0,0 +1,60 @@ +--- sendmail/blacklist.c.orig 2018-01-02 20:16:44 UTC ++++ sendmail/blacklist.c +@@ -0,0 +1,57 @@ ++/*- ++ * Copyright (c) 2016 The FreeBSD Foundation ++ * All rights reserved. ++ * ++ * This software was developed by Kurt Lidl under sponsorship from the ++ * FreeBSD Foundation. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * 1. Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * 2. Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in the ++ * documentation and/or other materials provided with the distribution. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ++ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE ++ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++ * SUCH DAMAGE. */ ++ ++/* $FreeBSD$ */ ++ ++#ifdef USE_BLACKLIST ++#include ++#include /* for EXTERN UseBlacklist */ ++ ++#include ++#include "blacklist_client.h" ++ ++static struct blacklist *blstate; ++ ++void ++blacklist_init(void) ++{ ++ ++ if (UseBlacklist) ++ blstate = blacklist_open(); ++} ++ ++void ++blacklist_notify(int action, int fd, const char *msg) ++{ ++ ++ if (blstate == NULL) ++ return; ++ (void)blacklist_r(blstate, action, fd, msg); ++} ++ ++#endif /* USE_BLACKLIST */ Property changes on: head/mail/sendmail-devel/files/patch-blacklist.c ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/mail/sendmail-devel/files/patch-blacklist_client.h =================================================================== --- head/mail/sendmail-devel/files/patch-blacklist_client.h (nonexistent) +++ head/mail/sendmail-devel/files/patch-blacklist_client.h (revision 497812) @@ -0,0 +1,60 @@ +--- sendmail/blacklist_client.h.orig 2018-01-02 20:16:44 UTC ++++ sendmail/blacklist_client.h +@@ -0,0 +1,57 @@ ++/*- ++ * Copyright (c) 2016 The FreeBSD Foundation ++ * All rights reserved. ++ * ++ * This software was developed by Kurt Lidl under sponsorship from the ++ * FreeBSD Foundation. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * 1. Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * 2. Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in the ++ * documentation and/or other materials provided with the distribution. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ++ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE ++ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++ * SUCH DAMAGE. */ ++ ++/* $FreeBSD$ */ ++ ++#ifndef BLACKLIST_CLIENT_H ++#define BLACKLIST_CLIENT_H ++ ++#ifndef BLACKLIST_API_ENUM ++enum { ++ BLACKLIST_AUTH_OK = 0, ++ BLACKLIST_AUTH_FAIL, ++ BLACKLIST_ABUSIVE_BEHAVIOR, ++ BLACKLIST_BAD_USER ++}; ++#endif ++ ++#ifdef USE_BLACKLIST ++void blacklist_init(void); ++void blacklist_notify(int, int, const char *); ++ ++#define BLACKLIST_INIT() blacklist_init() ++#define BLACKLIST_NOTIFY(x, y, msg) blacklist_notify(x, y, msg) ++ ++#else ++ ++#define BLACKLIST_INIT() ++#define BLACKLIST_NOTIFY(x, y, msg) ++ ++#endif ++ ++#endif /* BLACKLIST_CLIENT_H */ Property changes on: head/mail/sendmail-devel/files/patch-blacklist_client.h ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/mail/sendmail-devel/files/patch-daemon.c =================================================================== --- head/mail/sendmail-devel/files/patch-daemon.c (nonexistent) +++ head/mail/sendmail-devel/files/patch-daemon.c (revision 497812) @@ -0,0 +1,11 @@ +--- sendmail/daemon.c.orig 2015-02-28 00:50:03 UTC ++++ sendmail/daemon.c +@@ -754,6 +754,8 @@ getrequests(e) + anynet_ntoa(&RealHostAddr)); + } + ++ BLACKLIST_INIT(); ++ + if (pipefd[0] != -1) + { + auto char c; Property changes on: head/mail/sendmail-devel/files/patch-daemon.c ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/mail/sendmail-devel/files/patch-sendmail.8 =================================================================== --- head/mail/sendmail-devel/files/patch-sendmail.8 (nonexistent) +++ head/mail/sendmail-devel/files/patch-sendmail.8 (revision 497812) @@ -0,0 +1,14 @@ +--- sendmail/sendmail.8.orig 2014-06-13 14:57:59 UTC ++++ sendmail/sendmail.8 +@@ -537,6 +537,11 @@ for this amount of time, + failed messages will be returned to the sender. + The default is five days. + .TP ++UseBlacklist ++If set, send authentication failure and success notifications to the ++.BR blacklistd (8) ++daemon. ++.TP + .RI UserDatabaseSpec= userdatabase + If set, a user database is consulted to get forwarding information. + You can consider this an adjunct to the aliasing mechanism, Property changes on: head/mail/sendmail-devel/files/patch-sendmail.8 ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/mail/sendmail-devel/files/patch-usersmtp.c =================================================================== --- head/mail/sendmail-devel/files/patch-usersmtp.c (nonexistent) +++ head/mail/sendmail-devel/files/patch-usersmtp.c (revision 497812) @@ -0,0 +1,26 @@ +--- sendmail/usersmtp.c.orig 2014-12-05 15:42:28 UTC ++++ sendmail/usersmtp.c +@@ -1825,6 +1825,9 @@ attemptauth(m, mci, e, sai) + + if (saslresult != SASL_OK && saslresult != SASL_CONTINUE) + { ++ int fd = sm_io_getinfo(mci->mci_in, SM_IO_WHAT_FD, NULL); ++ BLACKLIST_NOTIFY(BLACKLIST_AUTH_FAIL, fd, "AUTH FAIL"); ++ + if (tTd(95, 5)) + sm_dprintf("AUTH FAIL=%s (%d)\n", + sasl_errstring(saslresult, NULL, NULL), +@@ -1970,9 +1973,11 @@ smtpauth(m, mci, e) + do + { + result = attemptauth(m, mci, e, &(mci->mci_sai)); +- if (result == EX_OK) ++ if (result == EX_OK) { ++ int fd = sm_io_getinfo(mci->mci_in, SM_IO_WHAT_FD, NULL); ++ BLACKLIST_NOTIFY(BLACKLIST_AUTH_OK, fd, "AUTH OK"); + mci->mci_sasl_auth = true; +- else if (result == EX_TEMPFAIL || result == EX_NOPERM) ++ } else if (result == EX_TEMPFAIL || result == EX_NOPERM) + { + mci->mci_saslcap = removemech((mci->mci_sai)[SASL_MECH], + mci->mci_saslcap, Property changes on: head/mail/sendmail-devel/files/patch-usersmtp.c ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/mail/sendmail-devel/files/site.config.m4.smtputf8 =================================================================== --- head/mail/sendmail-devel/files/site.config.m4.smtputf8 (nonexistent) +++ head/mail/sendmail-devel/files/site.config.m4.smtputf8 (revision 497812) @@ -0,0 +1,2 @@ +APPENDDEF(`confLIBS', `-licui18n -licuuc -licudata') +APPENDDEF(`conf_sendmail_ENVDEF', `-D_FFR_EAI') Property changes on: head/mail/sendmail-devel/files/site.config.m4.smtputf8 ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/mail/sendmail-devel/files/site.config.m4.blacklistd =================================================================== --- head/mail/sendmail-devel/files/site.config.m4.blacklistd (nonexistent) +++ head/mail/sendmail-devel/files/site.config.m4.blacklistd (revision 497812) @@ -0,0 +1,2 @@ +APPENDDEF(`conf_sendmail_ENVDEF', `-DUSE_BLACKLIST') +APPENDDEF(`conf_sendmail_LIBS', `-lblacklist') Property changes on: head/mail/sendmail-devel/files/site.config.m4.blacklistd ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/mail/sendmail-devel/files/site.config.m4.gdbm =================================================================== --- head/mail/sendmail-devel/files/site.config.m4.gdbm (nonexistent) +++ head/mail/sendmail-devel/files/site.config.m4.gdbm (revision 497812) @@ -0,0 +1,4 @@ +APPENDDEF(`confMAPDEF', `-DNDBM') +APPENDDEF(`confINCDIRS', `-I%%LOCALBASE%%/include') +APPENDDEF(`confLIBDIRS', `-L%%LOCALBASE%%/lib') +APPENDDEF(`confLIBS', `-lgdbm_compat -lgdbm') Property changes on: head/mail/sendmail-devel/files/site.config.m4.gdbm ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/mail/sendmail-devel/files/site.config.m4.ipv6 =================================================================== --- head/mail/sendmail-devel/files/site.config.m4.ipv6 (nonexistent) +++ head/mail/sendmail-devel/files/site.config.m4.ipv6 (revision 497812) @@ -0,0 +1,3 @@ +APPENDDEF(`conf_sendmail_ENVDEF', `-DNETINET6') +APPENDDEF(`conf_libmilter_ENVDEF', `-DNETINET6') +APPENDDEF(`conf_libsm_ENVDEF', `-DNETINET6') Property changes on: head/mail/sendmail-devel/files/site.config.m4.ipv6 ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/mail/sendmail-devel/files/site.config.m4.pre4 =================================================================== --- head/mail/sendmail-devel/files/site.config.m4.pre4 (nonexistent) +++ head/mail/sendmail-devel/files/site.config.m4.pre4 (revision 497812) @@ -0,0 +1,2 @@ +APPENDDEF(`conf_smrsh_ENVDEF', `-DCMDDIR="\"%%PREFIX%%/libexec/sm.bin\""') +APPENDDEF(`conf_smrsh_ENVDEF', `-DPATH="\"/bin:/usr/bin\""') Property changes on: head/mail/sendmail-devel/files/site.config.m4.pre4 ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/mail/sendmail-devel/files/site.config.m4.ssl =================================================================== --- head/mail/sendmail-devel/files/site.config.m4.ssl (nonexistent) +++ head/mail/sendmail-devel/files/site.config.m4.ssl (revision 497812) @@ -0,0 +1,4 @@ +APPENDDEF(`confLIBDIRS', `-L%%LOCALBASE%%/lib') +APPENDDEF(`confLDOPTS', ``-Wl,-rpath=%%LOCALBASE%%/lib'') +APPENDDEF(`confINCDIRS', `-I%%LOCALBASE%%/include') +APPENDDEF(`conf_sendmail_ENVDEF', `-DHASSRANDOMDEV') Property changes on: head/mail/sendmail-devel/files/site.config.m4.ssl ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/mail/sendmail-devel/files/CYRUS_LOOKUP =================================================================== --- head/mail/sendmail-devel/files/CYRUS_LOOKUP (nonexistent) +++ head/mail/sendmail-devel/files/CYRUS_LOOKUP (revision 497812) @@ -0,0 +1,79 @@ + + 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, http://anfi.homeunix.net/sendmail/rtcyrus2.html +and +Mike Boev, http://tric.ru/users/mike/ckuser_cyrus/ + +Please, use these urls to learn all configuration details +(although a quick recipe is provided below) and may be to give +credits to the authors. +****************************************************************** +IMPORTANT: +Now that the mrs_cyrus.m4 has been updated, you may need to adjust +the modifications you made to your .mc file if you used the old one! +See http://anfi.homeunix.net/sendmail/rtcyrus2.html for current +installation instructions. +****************************************************************** + +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 added: + + define(`confLOCAL_MAILER', `cyrusv2')dnl + MAILER(`cyrusv2')dnl + + to your sendmail's .mc file to make local delivery to Cyrus mailboxes. + Now, simply add (somewhere near other FEATURES, before MAILER lines): + + FEATURE(`ckuser_cyrus')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 just defining Cyrus + as your local mailer, read Andrzej's article. It covers more of the + other cases. + +****************************************************************** + +2004, September 16th +Michael O. Boev, +mike@tric.ru. Property changes on: head/mail/sendmail-devel/files/CYRUS_LOOKUP ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/mail/sendmail-devel/files/cyruslookup.patch =================================================================== --- head/mail/sendmail-devel/files/cyruslookup.patch (nonexistent) +++ head/mail/sendmail-devel/files/cyruslookup.patch (revision 497812) @@ -0,0 +1,161 @@ +diff -ruN cf.orig/feature/ckuser_cyrus.m4 cf/feature/ckuser_cyrus.m4 +--- cf.orig/feature/ckuser_cyrus.m4 Thu Jan 1 07:00:00 1970 ++++ cf/feature/ckuser_cyrus.m4 Wed Sep 22 19:53:53 2004 +@@ -0,0 +1,34 @@ ++divert(-1) ++# Written by Mike Boev , 2004. ++# Homepage: http://tric.ru/users/mike/ckuser_cyrus/ ++# Inspired by: mrs_cyrus.m4 by Andrzej Adam Filip ++# ++# By using this file, you agree to the terms and conditions set ++# forth in the LICENSE file which can be found at the top level of ++# the sendmail distribution. ++# ++divert(0) ++VERSIONID(`Id: ckuser_cyrus.m4,v 1.4 2004/09/21 19:02:17 m Exp ') ++divert(-1) ++define(`CYRUS_SMMAPD_SOCKET', ++ ifelse(len(X`'_ARG_), `1', `local:/var/imap/socket/smmapd', _ARG_)) ++ ++MODIFY_MAILER_FLAGS(`CYRUSV2',`+5') ++ ++LOCAL_CONFIG ++# Cyrus smmapd(8)'s map for verifying mailboxes of local recipients ++Kcyrus socket -a -T CYRUS_SMMAPD_SOCKET ++ ++LOCAL_RULESETS ++SLocal_localaddr ++R$+ $: $> "ckuser_cyrus" $1 ++ ++Sckuser_cyrus ++#Query smmapd(8) ++R$+ $: $1 $| $(cyrus $1 $: $) ++#Cyrus OK, skip ++R $* $| $* $@ $1 ++#Over quota or lookup failure ++R $* $| $* $# error $@ 4.3.0 $: "451 TEMPFAIL." ++#Mailbox doesn't exist or its ACL forbids posting ++R $* $| $* $# error $@ 5.1.1 $: "550 Mailbox is not available." +diff -ruN cf.orig/feature/mrs.m4 cf/feature/mrs.m4 +--- cf.orig/feature/mrs.m4 Thu Jan 1 07:00:00 1970 ++++ cf/feature/mrs.m4 Wed Sep 22 19:54:56 2004 +@@ -0,0 +1,25 @@ ++divert(-1) ++dnl ++dnl Updates: http://anfi.webhop.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_', `') +diff -ruN cf.orig/feature/mrs_cyrus.m4 cf/feature/mrs_cyrus.m4 +--- cf.orig/feature/mrs_cyrus.m4 Thu Jan 1 07:00:00 1970 ++++ cf/feature/mrs_cyrus.m4 Wed Sep 22 19:55:05 2004 +@@ -0,0 +1,77 @@ ++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.8 2004/08/11 18:20:05 anfi ++dnl "stipdom" replaced by "dummy" ++dnl ++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.8 2004/08/11 18:20:05 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 -T 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<$*> $+ <@$*> $| $* $# error $@ 4.3.0 $: "451 Temporary system failure. Please try again later." ++R<$*> $+ <@$*> $| $* $# cyrusv2 $@ dummy $: $4 ++R<$*> $+ <@$*> $| $* $: <$1> $2 <@$3> ++R $+ <@dummy> $@ $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<$*> $+ <@$+> $| $* $# error $@ 4.3.0 $: "451 Temporary system failure. Please try again later." ++R<$*> $+ <@$+> $| $* $# 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 $+ <@$+.> $: $1 <@ $2 > ++R $* <@dummy> $@ $1 ++R $+ <@$={VirtCyrus}> $: $1 <@$2> $| $(cyrus $1@$2 $: $) ++R $+ <@$={VirtCyrus}> $| $* $# error $@ 4.3.0 $: "451 Temporary system failure. Please try again later." ++R $+ <@$={VirtCyrus}> $| $* $# cyrusv2d $@ dummy $: $1 <@$2> ++R $+ <@$={VirtCyrus}> $| $* $# error $@ 5.1.1 $: "550 User unknown" ++R $=L <@$*> $# ifdef(`confLOCAL_MAILER',confLOCAL_MAILER,`local') $: @$1 ++R $* <@$*> $# ifdef(`confLOCAL_MAILER',confLOCAL_MAILER,`local') $: $1 +diff -ruN cf.orig/m4/proto.m4 cf/m4/proto.m4 +--- cf.orig/m4/proto.m4 Wed Sep 22 20:15:04 2004 ++++ cf/m4/proto.m4 Wed Sep 22 19:52:41 2004 +@@ -1315,6 +1315,9 @@ + 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 Property changes on: head/mail/sendmail-devel/files/cyruslookup.patch ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/mail/sendmail-devel/files/site.config.m4 =================================================================== --- head/mail/sendmail-devel/files/site.config.m4 (nonexistent) +++ head/mail/sendmail-devel/files/site.config.m4 (revision 497812) @@ -0,0 +1,10 @@ +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')" Property changes on: head/mail/sendmail-devel/files/site.config.m4 ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/mail/sendmail-devel/files/site.config.m4.ldap =================================================================== --- head/mail/sendmail-devel/files/site.config.m4.ldap (nonexistent) +++ head/mail/sendmail-devel/files/site.config.m4.ldap (revision 497812) @@ -0,0 +1,25 @@ +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') Property changes on: head/mail/sendmail-devel/files/site.config.m4.ldap ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/mail/sendmail-devel/files/site.config.m4.milter =================================================================== --- head/mail/sendmail-devel/files/site.config.m4.milter (nonexistent) +++ head/mail/sendmail-devel/files/site.config.m4.milter (revision 497812) @@ -0,0 +1,2 @@ +APPENDDEF(`conf_libmilter_ENVDEF', `-DMILTER') +APPENDDEF(`conf_sendmail_ENVDEF', `-DMILTER') Property changes on: head/mail/sendmail-devel/files/site.config.m4.milter ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/mail/sendmail-devel/files/site.config.m4.sasl2 =================================================================== --- head/mail/sendmail-devel/files/site.config.m4.sasl2 (nonexistent) +++ head/mail/sendmail-devel/files/site.config.m4.sasl2 (revision 497812) @@ -0,0 +1,4 @@ +APPENDDEF(`conf_sendmail_ENVDEF', `-I%%LOCALBASE%%/include') +APPENDDEF(`conf_sendmail_ENVDEF', `-DSASL=2') +APPENDDEF(`confLIBDIRS', `-L%%LOCALBASE%%/lib') +APPENDDEF(`conf_sendmail_LIBS', `-lsasl2') Property changes on: head/mail/sendmail-devel/files/site.config.m4.sasl2 ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/mail/sendmail-devel/pkg-message =================================================================== --- head/mail/sendmail-devel/pkg-message (nonexistent) +++ head/mail/sendmail-devel/pkg-message (revision 497812) @@ -0,0 +1,33 @@ +--------------------------------------------------- + +you should add in /etc/make.conf: +SENDMAIL_CF_DIR= %%PREFIX%%/share/sendmail/cf + +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 binaries supplied by the port you should add the following lines +to your sendmail.mc file before any mailer or feature definition: + +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 '%%PREFIX%%/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. +--------------------------------------------------- Property changes on: head/mail/sendmail-devel/pkg-message ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/mail/sendmail-devel/pkg-plist =================================================================== --- head/mail/sendmail-devel/pkg-plist (nonexistent) +++ head/mail/sendmail-devel/pkg-plist (revision 497812) @@ -0,0 +1,35 @@ +@comment cannot use @dir because this is home directory of smmsp +@postexec chmod 770 /var/spool/clientmqueue +bin/hoststat +bin/mailq +bin/newaliases +bin/purgestat +bin/rmail +bin/vacation +etc/mail/mailer.conf.sendmail +libexec/mail.local +libexec/smrsh +%%MANPREFIX%%man/man1/mailq.1.gz +%%MANPREFIX%%man/man1/newaliases.1.gz +%%MANPREFIX%%man/man1/vacation.1.gz +%%MANPREFIX%%man/man5/aliases.5.gz +%%MANPREFIX%%man/man8/sendmail.8.gz +%%MANPREFIX%%man/man8/mailstats.8.gz +%%MANPREFIX%%man/man8/makemap.8.gz +%%MANPREFIX%%man/man8/praliases.8.gz +%%MANPREFIX%%man/man8/smrsh.8.gz +%%MANPREFIX%%man/man8/mail.local.8.gz +%%MANPREFIX%%man/man8/rmail.8.gz +%%MANPREFIX%%man/man8/editmap.8.gz +sbin/editmap +sbin/mailstats +sbin/makemap +sbin/praliases +@(root,smmsp,2555) 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 Property changes on: head/mail/sendmail-devel/pkg-plist ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/mail/sendmail-devel/pkg-descr =================================================================== --- head/mail/sendmail-devel/pkg-descr (nonexistent) +++ head/mail/sendmail-devel/pkg-descr (revision 497812) @@ -0,0 +1,11 @@ +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/ Property changes on: head/mail/sendmail-devel/pkg-descr ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property