Index: head/mail/courier-imap/Makefile =================================================================== --- head/mail/courier-imap/Makefile (revision 391220) +++ head/mail/courier-imap/Makefile (revision 391221) @@ -1,150 +1,150 @@ # Created by: Neil Blakey-Milner # $FreeBSD$ PORTNAME= courier-imap -PORTVERSION= 4.16.1 +PORTVERSION= 4.16.2 PORTEPOCH= 2 CATEGORIES= mail ipv6 MASTER_SITES= SF/courier/imap/${PORTVERSION} MAINTAINER= oliver@FreeBSD.org COMMENT= IMAP (and POP3) server that provides access to Maildir mailboxes BUILD_DEPENDS= courierauthconfig:${PORTSDIR}/security/courier-authlib-base RUN_DEPENDS= courierauthconfig:${PORTSDIR}/security/courier-authlib-base \ ${LOCALBASE}/share/sysconftool/sysconftool:${PORTSDIR}/devel/sysconftool LIB_DEPENDS= libcourier-unicode.so:${PORTSDIR}/devel/courier-unicode USES= gmake perl5 tar:bzip2 GNU_CONFIGURE= yes USE_RC_SUBR= courier-imap-imapd courier-imap-imapd-ssl \ courier-imap-pop3d courier-imap-pop3d-ssl CPPFLAGS+= -I${LOCALBASE}/include -I${PREFIX}/include LDFLAGS+= -L${LOCALBASE}/lib -L${PREFIX}/lib CONFIGURE_ENV= REHASH=${SCRIPTDIR}/c_rehash MAKE_ENV:= ${CONFIGURE_ENV} ALL_TARGET= all makeimapaccess makedat # # options available: # # WITH_SYSLOG_FACILITY: The syslogfacility to use # OPTIONS_DEFINE= FAM TRASHQUOTA GDBM IPV6 GNUTLS FAM_DESC= Fam support for IDLE command TRASHQUOTA_DESC= Include deleted mails in the quota GNUTLS_DESC= Use GnuTLS instead of OpenSSL (Enables SNI) FAM_USES= fam .if exists(${.CURDIR}/../../security/courier-authlib/Makefile.opt) .include "${.CURDIR}/../../security/courier-authlib/Makefile.opt" .endif CONFDIR?= ${PREFIX}/etc/${PORTNAME} USERDB?= ${PREFIX}/etc/userdb LIBEXECDIR?= ${PREFIX}/libexec/${PORTNAME} USE_OPENSSL= yes PLIST_SUB= CONFDIR=${CONFDIR:S,^${PREFIX}/,,} \ LIBEXECDIR=${LIBEXECDIR:S,^${PREFIX}/,,} CONFIGURE_ARGS= --sysconfdir=${CONFDIR} \ --localstatedir="${PREFIX}/var" \ --datadir=${DATADIR} \ --libexecdir=${LIBEXECDIR} \ --enable-workarounds-for-imap-client-bugs \ --enable-unicode \ --disable-root-check \ --with-locking-method=fcntl \ COURIERAUTHCONFIG=${PREFIX}/bin/courierauthconfig .include .if ${PORT_OPTIONS:MGNUTLS} CONFIGURE_ARGS+=--with-gnutls LIB_DEPENDS+= libgnutls.so:${PORTSDIR}/security/gnutls USES+= pkgconfig .endif .include .if exists(${.CURDIR}/../../security/courier-authlib/Makefile.dep) .include "${.CURDIR}/../../security/courier-authlib/Makefile.dep" .endif .if ${PORT_OPTIONS:MSYSLOG_FACILITY} CONFIGURE_ARGS+=--with-syslog=${WITH_SYSLOG_FACILITY} .endif .if ${PORT_OPTIONS:MAUTH_USERDB} .if ${PORT_OPTIONS:MGDBM} CONFIGURE_ARGS+=--with-db=gdbm --with-userdb=${USERDB} LIB_DEPENDS+= libgdbm.so:${PORTSDIR}/databases/gdbm .else CONFIGURE_ARGS+=--with-db=db --with-userdb=${USERDB} .endif .endif .if ! ${PORT_OPTIONS:MIPV6} CONFIGURE_ARGS+=--without-ipv6 .endif .if ${PORT_OPTIONS:MTRASHQUOTA} CONFIGURE_ARGS+=--with-trashquota .endif .if ${PORT_OPTIONS:MFAM} CPPFLAGS+= -I${LOCALBASE}/include LDFLAGS+= -L${LOCALBASE}/lib .endif EXTRA_DOCS= AUTHORS INSTALL NEWS \ libs/imap/ChangeLog \ libs/imap/README \ libs/imap/README.proxy \ libs/maildir/README.imapkeywords.html \ libs/maildir/README.maildirfilter.html \ libs/maildir/README.maildirquota.txt \ libs/maildir/README.sharedfolders.txt \ libs/tcpd/README.couriertls \ post-patch: .if ! ${PORT_OPTIONS:MFAM} @${REINPLACE_CMD} -e 's|$$LIBFAM||g; s|HAVE_FAM|DO_NOT_HAVE_FAM|g' \ ${WRKSRC}/libs/maildir/configure .endif @${REINPLACE_CMD} -e 's|^case x$$lockmethod in|${TEST} \&\& &|g' \ ${WRKSRC}/libs/liblock/configure @${REINPLACE_CMD} -e 's|%%INSTALL_MAN%%|${INSTALL_MAN}|' \ ${WRKSRC}/Makefile.in @${REINPLACE_CMD} -e 's|TLS_PROTOCOL=SSL3|TLS_PROTOCOL=SSL23|g' \ ${WRKSRC}/libs/imap/pop3d-ssl.dist.in \ ${WRKSRC}/libs/imap/imapd-ssl.dist.in post-install: ${INSTALL_SCRIPT} ${WRKSRC}/makeimapaccess ${STAGEDIR}${PREFIX}/bin/ ${INSTALL_SCRIPT} ${WRKSRC}/makedat ${STAGEDIR}${PREFIX}/bin/ .for i in imapd pop3d ${INSTALL_DATA} ${WRKSRC}/libs/imap/${i}.cnf ${STAGEDIR}${CONFDIR}/${i}.cnf.dist .endfor @${MKDIR} ${STAGEDIR}${DOCSDIR} .for a in ${EXTRA_DOCS} ${INSTALL_DATA} ${WRKSRC}/${a} ${STAGEDIR}${DOCSDIR} .endfor @${ECHO_MSG} "In case you use authpam, you should put the following lines" @${ECHO_MSG} "in your /etc/pam.d/imap" @${ECHO_MSG} "auth required pam_unix.so try_first_pass" @${ECHO_MSG} "account required pam_unix.so try_first_pass" @${ECHO_MSG} "session required pam_permit.so" @${ECHO_MSG} "" @${ECHO_MSG} "You will have to run ${DATADIR}/mkimapdcert to create" @${ECHO_MSG} "a self-signed certificate if you want to use imapd-ssl." @${ECHO_MSG} "And you will have to copy and edit the *.dist files to *" @${ECHO_MSG} "in ${CONFDIR}." @${ECHO_MSG} "" .include Index: head/mail/courier-imap/distinfo =================================================================== --- head/mail/courier-imap/distinfo (revision 391220) +++ head/mail/courier-imap/distinfo (revision 391221) @@ -1,2 +1,2 @@ -SHA256 (courier-imap-4.16.1.tar.bz2) = 51241784f78b7ce8342adf9d4741a2f8ae8ee0641fe7ead4751af8d4019d4204 -SIZE (courier-imap-4.16.1.tar.bz2) = 3026062 +SHA256 (courier-imap-4.16.2.tar.bz2) = 3be244b3c4d3d5c5e33efb37e4cf712ae83cbe21e43c31725e0d996ab4acc387 +SIZE (courier-imap-4.16.2.tar.bz2) = 3028445 Index: head/mail/maildrop/Makefile =================================================================== --- head/mail/maildrop/Makefile (revision 391220) +++ head/mail/maildrop/Makefile (revision 391221) @@ -1,139 +1,140 @@ # Created by: Tom Hukins # $FreeBSD$ # You can define the following to enable further compile time # customizations: # MAILDROP_SUID=, # MAILDROP_SGID= Maildrop will be installed with suid # permissions for MAILDROP_SUID, and sgid # permissions for MAILDROP_SGID. # NOTE: must be a valid username/groupname # at installation time, numeric uids/gids # and non existing users will cause the # installed package to miss files. # MAILDROP_TRUSTED_USERS= Specify users allowed to use the -d option # MAILDROP_LOG_COLUMNS lenght of 'File:' line in log - 8; default: 72 # MAILDROP_MBOX_DIR= Specify DEFAULT mailbox location PORTNAME= maildrop PORTVERSION= 2.8.3 +PORTREVISION= 1 CATEGORIES= mail MASTER_SITES= SF/courier/${PORTNAME}/${PORTVERSION} MAINTAINER= madpilot@FreeBSD.org COMMENT= Mail delivery agent (MDA) with filtering abilities LICENSE= GPLv3 USES= iconv perl5 tar:bzip2 USE_PERL5= build GNU_CONFIGURE= yes CONFIGURE_ARGS= --enable-syslog=1 \ --enable-use-flock=1 \ --with-etcdir="${PREFIX}/etc" \ --enable-maildirquota INSTALL_TARGET= install-strip CPPFLAGS+= -I${LOCALBASE}/include LDFLAGS+= -L${LOCALBASE}/lib CONFLICTS= courier-0.65* libunicode-[0-9]* LIB_DEPENDS+= libpcre.so:${PORTSDIR}/devel/pcre \ libcourier-unicode.so:${PORTSDIR}/devel/courier-unicode MAILDROP_LOG_COLUMNS?= 72 # lenght of 'File:' line in log FIXDOCPATH= libs/liblock/lockmail.1 libs/maildir/deliverquota.8.in \ libs/maildir/maildir.5 libs/maildir/maildiracl.1.in \ libs/maildir/maildirkw.1 libs/maildir/maildirmake.1.in \ libs/maildir/maildirquota.7 libs/maildrop/mailbot.1 \ libs/maildrop/maildrop.1.in libs/maildrop/maildropex.7 \ libs/maildrop/maildropfilter.7.in libs/maildrop/maildropgdbm.7 \ libs/maildrop/reformail.1 \ libs/rfc2045/makemime.1 libs/rfc2045/reformime.1 \ libs/rfc2045/rfc2045.3 libs/rfc822/rfc822.3 DOCS= AUTHORS INSTALL INSTALL.html README README.html README.postfix \ UPGRADE UPGRADE.html maildroptips.txt maildir/README.* .if exists(${.CURDIR}/../../security/courier-authlib/Makefile.opt) .include "${.CURDIR}/../../security/courier-authlib/Makefile.opt" OPTIONS_MULTI_AUTHLIB:= ${OPTIONS_DEFINE} OPTIONS_DEFINE= AUTHLIB OPTIONS_MULTI= AUTHLIB AUTHLIB_DESC= Courier Auth Library support .endif OPTIONS_DEFINE+= DOVECOTAUTH FAM GDBM IDN MAILWRAPPER DOCS DOVECOTAUTH_DESC= Dovecot Authentication support MAILWRAPPER_DESC= Let configure guess which sendmail binary to use OPTIONS_SUB= yes GDBM_CONFIGURE_ON= --with-db=gdbm GDBM_CONFIGURE_OFF= --with-db=db GDBM_LIB_DEPENDS= libgdbm.so:${PORTSDIR}/databases/gdbm IDN_CONFIGURE_WITH= libidn IDN_LIB_DEPENDS= libidn.so:${PORTSDIR}/dns/libidn MAILWRAPPER_CONFIGURE_OFF= --enable-sendmail=/usr/sbin/sendmail DOVECOTAUTH_CONFIGURE_ENABLE= dovecotauth .include .if defined(MAILDROP_SUID) && defined(MAILDROP_SGID) CONFIGURE_ARGS+= --enable-maildrop-uid="${MAILDROP_SUID}" --enable-maildrop-gid="${MAILDROP_SGID}" PLIST_SUB+= MMODE='6755' MUID='${MAILDROP_SUID}' MGID='${MAILDROP_SGID}' .elif defined(MAILDROP_SUID) CONFIGURE_ARGS+= --enable-maildrop-uid="${MAILDROP_SUID}" PLIST_SUB+= MMODE='4755' MUID='${MAILDROP_SUID}' MGID='mail' .elif defined(MAILDROP_SGID) CONFIGURE_ARGS+= --enable-maildrop-gid="${MAILDROP_SGID}" PLIST_SUB+= MMODE='2755' MGID='${MAILDROP_SGID}' MUID='root' .else PLIST_SUB+= MMODE='' MUID='root' MGID='mail' .endif .if defined(MAILDROP_MBOX_DIR) CONFIGURE_ARGS+= --with-default-maildrop='${MAILDROP_MBOX_DIR}' .endif .if ${PORT_OPTIONS:MFAM} USES+= fam .else CONFIGURE_ARGS+= ac_cv_header_fam_h=no ac_cv_lib_fam_FAMOpen=no .endif .if defined(MAILDROP_TRUSTED_USERS) CONFIGURE_ARGS+= --enable-trusted-users="${MAILDROP_TRUSTED_USERS}" .endif post-patch: @${REINPLACE_CMD} -e "s/l= 72 - szbuf.Length();/l= ${MAILDROP_LOG_COLUMNS} - szbuf.Length();/" \ ${WRKSRC}/libs/maildrop/log.C .for f in ${FIXDOCPATH} @${REINPLACE_CMD} -e "s|\\\%\[set \$$man\.base\.url\.for\.relative\.links\]|${DOCSDIR}|" \ -e "s/\(maildirmake.html\)/maildrop-\1/" \ -e "s/\(deliverquota.html\)/maildrop-\1/" ${WRKSRC}/${f} .endfor .if ${PORT_OPTIONS:MAUTHLIB} @${REINPLACE_CMD} -e 's|@LIBS@|@LIBS@ -L${LOCALBASE}/lib/courier-authlib|' \ ${WRKSRC}/libs/maildrop/Makefile.in .if exists(${.CURDIR}/../../security/courier-authlib/Makefile.dep) .include "${.CURDIR}/../../security/courier-authlib/Makefile.dep" .endif BUILD_DEPENDS+= courierauthconfig:${PORTSDIR}/security/courier-authlib-base RUN_DEPENDS+= courierauthconfig:${PORTSDIR}/security/courier-authlib-base CONFIGURE_ARGS+= --enable-authlib .else CONFIGURE_ARGS+= --disable-authlib .endif post-install: .if ${PORT_OPTIONS:MDOVECOTAUTH} ${INSTALL_DATA} ${WRKSRC}/README.dovecotauth ${STAGEDIR}${DOCSDIR} .endif ${INSTALL_DATA} ${WRKSRC}/libs/maildir/quotawarnmsg \ ${STAGEDIR}${PREFIX}/etc/quotawarnmsg.sample cd ${WRKSRC} && ${INSTALL_DATA} ${DOCS:S/maildir\//libs\/&/} ${STAGEDIR}${DOCSDIR} .include Index: head/mail/maildrop/files/patch-libs_maildrop_main.C =================================================================== --- head/mail/maildrop/files/patch-libs_maildrop_main.C (revision 391220) +++ head/mail/maildrop/files/patch-libs_maildrop_main.C (nonexistent) @@ -1,18 +0,0 @@ ---- libs/maildrop/main.C.orig 2015-06-20 13:01:36 UTC -+++ libs/maildrop/main.C -@@ -264,13 +264,13 @@ static int callback_authlib(struct authi - void *void_arg) - { - Maildrop &maildrop=*(Maildrop *)void_arg; -- -+/* - if (auth_mkhomedir(auth)) - { - perror(auth->homedir); - exit(1); - } -- -+*/ - if (VerboseLevel() > 1) - { - Buffer b; Property changes on: head/mail/maildrop/files/patch-libs_maildrop_main.C ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/mail/sqwebmail/Makefile =================================================================== --- head/mail/sqwebmail/Makefile (revision 391220) +++ head/mail/sqwebmail/Makefile (revision 391221) @@ -1,209 +1,209 @@ # Created by: Neil Blakey-Milner # $FreeBSD$ PORTNAME= sqwebmail -PORTVERSION= 5.8.2 +PORTVERSION= 5.8.3 CATEGORIES= mail www MASTER_SITES= SF/courier/webmail/${PORTVERSION} MAINTAINER= oliver@FreeBSD.org COMMENT= CGI Webmail client for Maildirs BUILD_DEPENDS= courierauthconfig:${PORTSDIR}/security/courier-authlib-base RUN_DEPENDS= courierauthconfig:${PORTSDIR}/security/courier-authlib-base LIB_DEPENDS= libpcre.so:${PORTSDIR}/devel/pcre \ libcourier-unicode.so:${PORTSDIR}/devel/courier-unicode CFLAGS:= -I${LOCALBASE}/include -L${LOCALBASE}/lib ${CFLAGS:S/^[:space:]*//} CXXFLAGS:= -I${LOCALBASE}/include ${CXXFLAGS:S/^[:space:]*//} OPTIONS_DEFINE= CACHEDIR FAM GDBM GZIP HTTPS HTTPS_LOGIN ISPELL MIMETYPES SENTRENAME CHARSET DOCS OPTIONS_DEFAULT= CACHEDIR FAM GZIP SENTRENAME CACHEDIR_DESC= Cache logins FAM_DESC= Build in fam support for IDLE command GDBM_DESC= Use gdbm db instead of system bdb GZIP_DESC= Compress messages with gzip HTTPS_DESC= Generate https:// URLs for all accesses HTTPS_LOGIN_DESC= Generate https:// URLs only for login MIMETYPES_DESC= search for a mime.types file SENTRENAME_DESC= Periodic rename the Sent folder CHARSET_DESC= charsets FAM_USES= fam .include "${.CURDIR}/../../security/courier-authlib/Makefile.opt" CGIBINDIR?= www/cgi-bin-dist CGIBINSUBDIR?= sqwebmail WEBDATADIR?= www/data-dist WEBDATASUBDIR?= sqwebmail IMAGEURL?= ${WEBDATASUBDIR} RCDIR?= ${PREFIX}/etc/rc.d CACHEDIR?= /var/sqwebmail/cache CACHEOWNER?= bin MAILOWN?= courier MAILGRP?= courier # set WITH_TIMEOUTHARD to something other than 7200 seconds (2hr) # set WITH_TIMEOUTSOFT to something other than 1200 seconds (20m) # set WITH_AUTOPURGE to something other than 7 days # set WITH_MAXPURGE to something other than 90 days # # The following settings are in bytes: # set WITH_MAXMSGSIZE to max size of messages (including attachments) # set WITH_MAXARGSIZE to max size of a text message (excluding attachments) # set WITH_MAXFORMARGSIZE to max size of attachments # # End of user variables USES= gettext gmake iconv perl5 tar:bzip2 USE_RC_SUBR= sqwebmail-sqwebmaild GNU_CONFIGURE= yes CONFIGURE_ARGS= --enable-cgibindir=${PREFIX}/${CGIBINDIR}/${CGIBINSUBDIR} \ --enable-imagedir=${PREFIX}/${WEBDATADIR}/${WEBDATASUBDIR} \ --localstatedir=/var/sqwebmail \ --sysconfdir=${PREFIX}/etc/sqwebmail \ --enable-imageurl=/${IMAGEURL} \ --with-locking-method=fcntl \ --with-libintl-prefix=${LOCALBASE} \ ${ICONV_CONFIGURE_ARG} \ --cache-file=${WRKDIR}/sqwebmail.cache \ --with-mailuser=${MAILOWN} \ --with-mailgroup=${MAILGRP} PLIST_SUB+= CGIBINDIR=${CGIBINDIR} \ CGIBINSUBDIR=${CGIBINSUBDIR} \ WEBDATADIR=${WEBDATADIR} \ WEBDATASUBDIR=${WEBDATASUBDIR} \ MAILOWN=${MAILOWN} \ MAILGRP=${MAILGRP} \ CACHEDIR=${CACHEDIR} \ CACHEOWN=${CACHEOWNER} EXTRA_DOCS= README README.logindomainlist.html README.pam \ libs/sqwebmail/ChangeLog \ libs/maildir/README.maildirquota.txt \ libs/maildir/README.sharedfolders.txt .include .if exists(${.CURDIR}/../../security/courier-authlib/Makefile.dep) .include "${.CURDIR}/../../security/courier-authlib/Makefile.dep" .endif .if ! ${PORT_OPTIONS:MCACHEDIR} PLIST_SUB+= CACHE="@comment " CONFIGURE_ARGS+= --without-cachedir .else PLIST_SUB+= CACHE="" CONFIGURE_ARGS+= --with-cachedir=${CACHEDIR} \ --with-cacheowner=${CACHEOWNER} .endif .if ${PORT_OPTIONS:MHTTPS_LOGIN} CONFIGURE_ARGS+= --enable-https=login .elif ${PORT_OPTIONS:MHTTPS} CONFIGURE_ARGS+= --enable-https .endif .if ! ${PORT_OPTIONS:MSENTRENAME} CONFIGURE_ARGS+= --disable-autorenamesent .endif .if ! ${PORT_OPTIONS:MGZIP} CONFIGURE_ARGS+= --without-gzip .endif .if ${PORT_OPTIONS:MISPELL} BUILD_DEPENDS+= ${LOCALBASE}/bin/ispell:${PORTSDIR}/textproc/aspell-ispell RUN_DEPENDS+= ${LOCALBASE}/bin/ispell:${PORTSDIR}/textproc/aspell-ispell CONFIGURE_ARGS+= --with-ispell=${LOCALBASE}/bin/ispell .else CONFIGURE_ARGS+= --without-ispell .endif .if ${PORT_OPTIONS:MMIMETYPES} RUN_DEPENDS+= ${LOCALBASE}/etc/mime.types:${PORTSDIR}/misc/mime-support CONFIGURE_ARGS+= --enable-mimetypes=${LOCALBASE}/etc .else CONFIGURE_ARGS+= --disable-mimetypes .endif .if ${PORT_OPTIONS:MTIMEOUTHARD} CONFIGURE_ARGS+= --enable-hardtimeout=${WITH_TIMEOUTHARD} .endif .if ${PORT_OPTIONS:MTIMEOUTSOFT} CONFIGURE_ARGS+= --enable-softtimeout=${WITH_TIMEOUTSOFT} .endif .if ${PORT_OPTIONS:MMAXMSGSIZE} CONFIGURE_ARGS+= --with-maxmsgsize=${WITH_MAXMSGSIZE} .endif .if ${PORT_OPTIONS:MMAXARGSIZE} CONFIGURE_ARGS+= --with-maxargsize=${WITH_MAXARGSIZE} .endif .if ${PORT_OPTIONS:MMAXFORMARGSIZE} CONFIGURE_ARGS+= --with-maxformargsize=${WITH_MAXFORMARGSIZE} .endif .if ${PORT_OPTIONS:MCHARSET} CONFIGURE_ARGS+= --enable-unicode .endif .if ${PORT_OPTIONS:MAUTOPURGE} CONFIGURE_ARGS+= --enable-autopurge=${WITH_AUTOPURGE} .endif .if ${PORT_OPTIONS:MMAXPURGE} CONFIGURE_ARGS+= --enable-maxpurge=${WITH_MAXPURGE} .endif .if ${PORT_OPTIONS:MGDBM} CONFIGURE_ARGS+=--with-db=gdbm LIB_DEPENDS+= libgdbm.so:${PORTSDIR}/databases/gdbm .else CONFIGURE_ARGS+=--with-db=db .endif post-patch: .if ! ${PORT_OPTIONS:MFAM} @${REINPLACE_CMD} -e 's|$$LIBFAM||g; s|HAVE_FAM|DO_NOT_HAVE_FAM|g' \ ${WRKSRC}/libs/maildir/configure .endif @${REINPLACE_CMD} -e 's|LIBPCRE=-lpcre|LIBPCRE="-L${LOCALBASE}/lib -lpcre"|g' \ ${WRKSRC}/libs/maildir/configure @${REINPLACE_CMD} -e 's|@echo|echo|g' ${WRKSRC}/libs/maildir/configure @${REINPLACE_CMD} -e 's|-lpcre|-L${LOCALBASE}/lib &|g' \ ${WRKSRC}/libs/sqwebmail/Makefile.in @${REINPLACE_CMD} -e 's|\$$(testmaildirfilter_LDADD)|& \$$(LIBPCRE)|g; \ s|$$(LINK) $$(maildirkw_LDFLAGS)|$$(CXXLINK) $$(maildirkw_LDFLAGS)|' \ ${WRKSRC}/libs/maildir/Makefile.in @${REINPLACE_CMD} -e 's|^case x$$lockmethod in|${TEST} \&\& &|g' \ ${WRKSRC}/libs/liblock/configure @${REINPLACE_CMD} -e 's|mkdir -p|${MKDIR}|g' ${WRKSRC}/libs/pcp/configure .if ${PORT_OPTIONS:MDOCS} @${MKDIR} ${STAGEDIR}${DOCSDIR} .for a in ${EXTRA_DOCS} ${INSTALL_DATA} ${WRKSRC}/${a} ${STAGEDIR}${DOCSDIR} .endfor .endif @${ECHO_MSG} "" @${ECHO_MSG} "Add the following line to your /etc/crontab to make sure the" @${ECHO_MSG} "sqwebmail cache directory gets cleaned up." @${ECHO_MSG} "0 * * * * ${CACHEOWNER} ${PREFIX}/share/sqwebmail/cleancache.pl" @${ECHO_MSG} "" post-install: @${MV} ${STAGEDIR}/${ETCDIR}/ldapaddressbook.dist ${STAGEDIR}/${ETCDIR}/ldapaddressbook.sample @${MV} ${STAGEDIR}/${ETCDIR}/sqwebmaild.dist ${STAGEDIR}/${ETCDIR}/sqwebmaild.sample .include Index: head/mail/sqwebmail/distinfo =================================================================== --- head/mail/sqwebmail/distinfo (revision 391220) +++ head/mail/sqwebmail/distinfo (revision 391221) @@ -1,2 +1,2 @@ -SHA256 (sqwebmail-5.8.2.tar.bz2) = 5a0a722a8e09b2ab318c91e3a09888564826616d26635799c52b4c545dfde7d9 -SIZE (sqwebmail-5.8.2.tar.bz2) = 3514846 +SHA256 (sqwebmail-5.8.3.tar.bz2) = 92b30599dc52ca815357f9c540d9ab69d1d975bb7a41c787c3a4a1066d12855c +SIZE (sqwebmail-5.8.3.tar.bz2) = 3520773 Index: head/security/courier-authlib/Makefile =================================================================== --- head/security/courier-authlib/Makefile (revision 391220) +++ head/security/courier-authlib/Makefile (revision 391221) @@ -1,195 +1,195 @@ # Created by: Oliver Lehmann # $FreeBSD$ PORTNAME= courier-authlib -PORTVERSION= 0.66.2 +PORTVERSION= 0.66.3 PORTREVISION?= 0 CATEGORIES?= security mail .if defined(PKGNAMESUFFIX) MASTER_SITES= SF/courier/authlib/${PORTVERSION} .else MASTER_SITES= # empty DISTFILES= # empty EXTRACT_ONLY= # empty .endif MAINTAINER= oliver@FreeBSD.org COMMENT?= Meta-port for the courier authentication library CONFLICTS= courier-0.45* .if !defined(PKGNAMESUFFIX) RUN_DEPENDS= courierauthconfig:${PORTSDIR}/security/courier-authlib-base NO_BUILD= yes PATCHDIR= /dev/null OPTIONS_DEFINE+= GDBM .include "${.CURDIR}/Makefile.opt" .else # !defined(PKGNAMESUFFIX) LIB_DEPENDS+= libltdl.so:${PORTSDIR}/devel/libltdl \ libcourier-unicode.so:${PORTSDIR}/devel/courier-unicode USES= iconv gmake libtool perl5 tar:bzip2 GNU_CONFIGURE= yes USE_SUBMAKE= yes MAILOWN= courier MAILGRP= courier LOCALSTATEDIR= /var AUTHDAEMONVAR= ${LOCALSTATEDIR}/run/authdaemond VPOPMAILDIR?= ${LOCALBASE}/vpopmail USERDB?= ${PREFIX}/etc/userdb CPPFLAGS+= -I${LOCALBASE}/include LIBS+= -L${LOCALBASE}/lib CONFIGURE_ARGS= --enable-unicode \ --disable-static \ --without-authcustom \ --without-authshadow \ --without-authpwd \ --with-mailuser=${MAILOWN} \ --with-mailgroup=${MAILGRP} \ --localstatedir=${LOCALSTATEDIR} \ --with-authdaemonvar=${AUTHDAEMONVAR} \ --cache-file=${WRKDIR}/courier-authlib.cache \ --without-authsqlite INSTALL_TARGET= install-strip DESCR= ${PKGDIR}/pkg-descr${PKGNAMESUFFIX} PLIST= ${PKGDIR}/pkg-plist${PKGNAMESUFFIX:S/gdbm/db/} PLIST_SUB+= MAILOWN=${MAILOWN} MAILGRP=${MAILGRP} AUTHMOD= auth${PKGNAMESUFFIX:S/-//:S/gdbm/db/} .if ${AUTHMOD} == authbase CONFIGURE_ARGS+=--with-base --with-authpam --with-authpipe USERS= ${MAILOWN} GROUPS= ${MAILGRP} DOCS= AUTHORS COPYING ChangeLog INSTALL NEWS README \ README.authdebug.html README_authlib.html PLIST_SUB+= AUTHDAEMONVAR=${AUTHDAEMONVAR} SUB_LIST+= AUTHDAEMONVAR=${AUTHDAEMONVAR} .if defined(WITH_AUTHPIPE_PROG) CONFIGURE_ARGS+=--with-pipeprog=${WITH_AUTHPIPE_PROG} .endif .else RUN_DEPENDS+= courierauthconfig:${PORTSDIR}/security/courier-authlib-base CONFIGURE_ARGS+=--without-base --without-authpam --without-authpipe REMOVE_SUBDIRS+=liblock liblog .endif .if ${AUTHMOD} == authuserdb .if ${PKGNAMESUFFIX} == -usergdbm CONFLICTS+= ${PORTNAME}-userdb-0.* LIB_DEPENDS+= libgdbm.so:${PORTSDIR}/databases/gdbm CONFIGURE_ARGS+=--with-db=gdbm .elif ${PKGNAMESUFFIX} == -userdb CONFLICTS+= ${PORTNAME}-usergdbm-0.* CONFIGURE_ARGS+=--with-db=db .endif CONFIGURE_ARGS+=--with-userdb=${USERDB} .else CONFIGURE_ARGS+=--with-db=db --without-authuserdb REMOVE_SUBDIRS+=makedat userdb .endif .if ${AUTHMOD} == authldap DOCS= README.ldap USE_OPENLDAP= yes CONFIGURE_ARGS+=--with-authldap .else CONFIGURE_ARGS+=--without-authldap .endif .if ${AUTHMOD} == authmysql DOCS= README.authmysql.html README.authmysql.myownquery USE_MYSQL= yes CONFIGURE_ARGS+=--with-authmysql \ --with-mysql-libs=${LOCALBASE}/lib/mysql \ --with-mysql-includes=${LOCALBASE}/include/mysql .else CONFIGURE_ARGS+=--without-authmysql .endif .if ${AUTHMOD} == authpgsql DOCS= README.authpostgres.html USES+= pgsql CONFIGURE_ARGS+=--with-authpgsql .else CONFIGURE_ARGS+=--without-authpgsql .endif .if ${AUTHMOD} == authvchkpw BUILD_DEPENDS+= ${VPOPMAILDIR}/lib/libvpopmail.a:${PORTSDIR}/mail/vpopmail CONFIGURE_ARGS+=--with-authvchkpw .else CONFIGURE_ARGS+=--without-authvchkpw .endif .endif # !defined(PKGNAMESUFFIX) .include .if !defined(PKGNAMESUFFIX) .include "${.CURDIR}/Makefile.dep" do-install: #empty do-build: #empty .else # !defined(PKGNAMESUFFIX) .if ${AUTHMOD} == authbase USE_RC_SUBR= courier-authdaemond pre-everything:: @${ECHO_CMD} @${ECHO_CMD} " Set WITH_AUTHPIPE_PROG to a program you want to use instead of" @${ECHO_CMD} " authProg for libauthpipe" @${ECHO_CMD} .endif post-patch: @${REINPLACE_CMD} -e 's|$$VPOPMAILLIBS|& -lcrypt|g; \ s|mysql_connect|mysql_real_connect|g; \ s|%%LOCALBASE%%|${LOCALBASE}|' \ ${WRKSRC}/*/configure \ ${WRKSRC}/configure .for subdir in ${REMOVE_SUBDIRS} @${REINPLACE_CMD} -E 's,(^(ac_subdirs_all|subdirs).*)${subdir},\1,g' \ ${WRKSRC}/configure .endfor @${REINPLACE_CMD} -e 's|^\(DEFAULTOPTIONS=\)""$$|\1"wbnodsn=1"|' \ -e 's|@ALLMODULES@|authuserdb authvchkpw authpam authldap authmysql authpgsql|' \ ${WRKSRC}/authdaemonrc.in @${REINPLACE_CMD} -e 's:@EXPECT@:${SETENV} expect:' \ ${WRKSRC}/authsystem.passwd.in pre-configure: @if [ -f "${WRKDIR}/courier-authlib.cache" -a -s "${WRKDIR}/courier-authlib.cache" ] ; then \ ${RM} -f "${WRKDIR}/courier-authlib.cache" ; \ fi post-install: .if !empty(DOCS) @${MKDIR} ${STAGEDIR}${DOCSDIR} .for f in ${DOCS} ${INSTALL_DATA} ${WRKSRC}/${f} ${STAGEDIR}${DOCSDIR} .endfor .endif .endif # !defined(PKGNAMESUFFIX) .include Index: head/security/courier-authlib/distinfo =================================================================== --- head/security/courier-authlib/distinfo (revision 391220) +++ head/security/courier-authlib/distinfo (revision 391221) @@ -1,2 +1,2 @@ -SHA256 (courier-authlib-0.66.2.tar.bz2) = ed104562b6bc6a2c6212d73b647f5526da68cf262e0c1d2c1ee478182b8f87a9 -SIZE (courier-authlib-0.66.2.tar.bz2) = 2081381 +SHA256 (courier-authlib-0.66.3.tar.bz2) = 033402a86e334999eaf17c1b722d6f6cc1961fccb5d2ee88342dfd6c5d534961 +SIZE (courier-authlib-0.66.3.tar.bz2) = 2085083 Index: head/security/courier-authlib/files/patch-authvchkpw =================================================================== --- head/security/courier-authlib/files/patch-authvchkpw (revision 391220) +++ head/security/courier-authlib/files/patch-authvchkpw (revision 391221) @@ -1,626 +1,626 @@ --- authvchkpw.c.orig 2009-07-02 09:56:41.000000000 +0200 +++ authvchkpw.c 2009-07-02 09:56:41.000000000 +0200 @@ -0,0 +1,242 @@ +/* +** Copyright 1998 - 2007 Double Precision, Inc. See COPYING for +** distribution information. +*/ + +#if HAVE_CONFIG_H +#include "courier_auth_config.h" +#endif +#include +#include +#include +#include +#include +#if HAVE_UNISTD_H +#include +#endif +#include "auth.h" +#include "courierauthstaticlist.h" +#include "courierauthdebug.h" +#include "vpopmail_config.h" +#include +#include + +static const char rcsid[]="$Id: authvchkpw.c,v 1.29 2007/10/07 02:50:45 mrsam Exp $"; + + +extern int auth_vchkpw_pre(const char *userid, const char *service, + int (*callback)(struct authinfo *, void *), + void *arg); + +extern FILE *authvchkpw_file(const char *, const char *); + +static int auth_vchkpw_login(const char *service, char *authdata, + int (*callback_func)(struct authinfo *, void *), void *callback_arg); + +struct callback_info { + const char *pass; + int (*callback_func)(struct authinfo *, void *); + void *callback_arg; + }; + +static int callback_vchkpw(struct authinfo *a, void *p) +{ +struct callback_info *i=(struct callback_info *)p; + + /* exit with perm failure if the supplied password is empty, + * or if the supplied password doesnt match the retrieved password */ + if (a->passwd == 0) + { + DPRINTF("no password supplied"); + return (-1); + } + + if (authcheckpassword(i->pass, a->passwd)) + return (-1); + + a->clearpasswd=i->pass; + return (*i->callback_func)(a, i->callback_arg); +} + +#if HAVE_HMACLIB + +#include "libhmac/hmac.h" +#include "cramlib.h" + +static int auth_vchkpw_login(const char *service, char *authdata, + int (*callback_func)(struct authinfo *, void *), void *callback_arg); + +static int auth_vchkpw_cram(const char *service, + const char *authtype, char *authdata, + int (*callback_func)(struct authinfo *, void *), + void *callback_arg) +{ + struct cram_callback_info cci; + + if (auth_get_cram(authtype, authdata, &cci)) + return (-1); + + cci.callback_func=callback_func; + cci.callback_arg=callback_arg; + + return auth_vchkpw_pre(cci.user, service, &auth_cram_callback, &cci); +} +#endif + +int auth_vchkpw(const char *service, const char *authtype, char *authdata, + int (*callback_func)(struct authinfo *, void *), + void *callback_arg) +{ + if (strcmp(authtype, AUTHTYPE_LOGIN) == 0) + return (auth_vchkpw_login(service, authdata, + callback_func, callback_arg)); + +#if HAVE_HMACLIB + return (auth_vchkpw_cram(service, authtype, authdata, + callback_func, callback_arg)); +#else + errno=EPERM; + return (-1); +#endif + +} + + + +static int auth_vchkpw_login(const char *service, char *authdata, + int (*callback_func)(struct authinfo *, void *), void *callback_arg) +{ +char *user, *pass; +struct callback_info ci; +int rc; + /* Make sure that we have been supplied with the correct + * AUTHDATA format which is : useridpassword + */ + if ( (user=strtok(authdata, "\n")) == 0 || (pass=strtok(0, "\n")) == 0) + { + /* login syntax was invalid */ + errno=EPERM; + return (-1); + } + + ci.pass=pass; + ci.callback_func=callback_func; + ci.callback_arg=callback_arg; + + /* auth_vchkpw_pre() does this : + * - lookup the passwd entry for this user from the auth backend + * - check to see if this user is permitted to use this service type + * If successful it will populate the ci struct with the + * user's passwd entry. Return value of function will be 0. + * If unsuccessful (eg user doesnt exist, or is not permitted to + * use this auth method), it will return : + * <0 on a permanent failure (eg user doesnt exist) + * >0 on a temp failure + */ + rc=auth_vchkpw_pre(user, service, &callback_vchkpw, &ci); + + if (rc) + return rc; + + /* user has been successfully auth'ed at this point */ + +#if 0 + /* + ** sam - new courier-authlib never receives TCPREMOTEIP, at this + ** time. + */ + +#ifdef HAVE_OPEN_SMTP_RELAY + if ( (strcmp("pop3", service)==0) || (strcmp("imap", service)==0) ) { + /* Michael Bowe 13th August 2003 + * + * There is a problem here because open_smtp_relay needs + * to get the user's ip from getenv("TCPREMOTEIP"). + * If we run --with-authvchkpw --without-authdaemon, + * then this var is available. + * But if we run --with-authvchkpw --with-authdaemon, + * then TCPREMOTEIP is null + * + * If TCPREMOTEIP isnt available, then open_smtp_relay() + * will just return() back immediately. + */ + open_smtp_relay(); + } +#endif +#endif + + return 0; +} + +static void authvchkpwclose() +{ +} + +static int auth_vchkpw_changepass(const char *service, + const char *username, + const char *pass, + const char *npass) +{ +struct vqpasswd *vpw; +char User[256]; +char Domain[256]; + + /* Take the supplied userid, and split it out into the user and domain + * parts. (If a domain was not supplied, then set the domain to be + * the default domain) + */ + /* WARNING: parse_email lowercases the username in place - not const!! */ + if ( parse_email(username, User, Domain, 256) != 0) { + /* Failed to successfully extract user and domain. + * So now exit with a permanent failure code + */ + return(-1); + } + + /* check to see if domain exists. + * If you pass an alias domain to vget_assign, it will change it + * to be the real domain on return from the function + */ + if ( vget_assign(Domain,NULL,0,NULL,NULL) ==NULL ) { + /* domain doesnt exist */ + return (-1); + } + + if ( (vpw=vauth_getpw(User, Domain)) == NULL) { + /* That user doesnt exist in the auth backend */ + errno=ENOENT; + return (-1); + } + + /* Exit if any of the following : + * - user's password field in the passwd entry is empty + * - supplied current password doesnt match stored password + */ + if (vpw->pw_passwd == 0 || authcheckpassword(pass, vpw->pw_passwd)) { + errno=EPERM; + return (-1); + } + + /* save the new password into the auth backend */ + if ( vpasswd(User, Domain, (char *)npass, 0) != 0 ) { + /* password set failed */ + return (-1); + }; + + return (0); +} + +struct authstaticinfo authvchkpw_info={ + "authvchkpw", + auth_vchkpw, + auth_vchkpw_pre, + authvchkpwclose, + auth_vchkpw_changepass, + authvchkpwclose, + NULL}; + + +struct authstaticinfo *courier_authvchkpw_init() +{ + return &authvchkpw_info; +} --- authvchkpwlib.c.orig 2009-07-02 09:56:41.000000000 +0200 +++ authvchkpwlib.c 2009-07-02 09:56:41.000000000 +0200 @@ -0,0 +1,33 @@ +/* +** Copyright 1998 - 2000 Double Precision, Inc. See COPYING for +** distribution information. +*/ + +#if HAVE_CONFIG_H +#include "courier_auth_config.h" +#endif +#include +#include +#include +#include +#include +#if HAVE_UNISTD_H +#include +#endif +#include +#include +#include "auth.h" + +static const char rcsid[]="$Id: authvchkpwlib.c,v 1.8 2004/10/21 00:10:49 mrsam Exp $"; + +char *authvchkpw_isvirtual(char *c) +{ +char *p; + + if ((p=strchr(c, '@')) != 0) return (p); +#if 0 + if ((p=strchr(c, '%')) != 0) return (p); +#endif + if ((p=strchr(c, ':')) != 0) return (p); + return (0); +} --- courier_auth_config.h.orig 2009-06-27 17:59:04.000000000 +0200 +++ courier_auth_config.h 2009-07-02 09:56:41.000000000 +0200 @@ -122,6 +122,9 @@ /* Define to 1 if you have the `opendir' function. */ #define HAVE_OPENDIR 1 +/* Whether -lvpopmail has the open_smtp_relay() function */ +/* #undef HAVE_OPEN_SMTP_RELAY */ + /* Define to 1 if you have the header file. */ /* #undef HAVE_PAM_PAM_APPL_H */ @@ -217,6 +220,9 @@ */ #define LT_OBJDIR ".libs/" +/* Whether -lvpopmail has the vset_lastauth() function */ +/* #undef HAVE_VSET_LASTAUTH */ + /* Whether we must a prototype for crypt() */ #define NEED_CRYPT_PROTOTYPE 0 --- courier_auth_config.h.in.orig 2009-06-27 18:09:18.000000000 +0200 +++ courier_auth_config.h.in 2009-07-02 09:56:41.000000000 +0200 @@ -121,6 +121,9 @@ /* Define to 1 if you have the `opendir' function. */ #undef HAVE_OPENDIR +/* Whether -lvpopmail has the open_smtp_relay() function */ +#undef HAVE_OPEN_SMTP_RELAY + /* Define to 1 if you have the header file. */ #undef HAVE_PAM_PAM_APPL_H @@ -216,6 +219,9 @@ */ #undef LT_OBJDIR +/* Whether -lvpopmail has the vset_lastauth() function */ +#undef HAVE_VSET_LASTAUTH + /* Whether we must a prototype for crypt() */ #undef NEED_CRYPT_PROTOTYPE --- preauthvchkpw.c.orig 2009-07-02 09:56:41.000000000 +0200 +++ preauthvchkpw.c 2009-07-02 09:56:41.000000000 +0200 @@ -0,0 +1,159 @@ +/* +** Copyright 1998 - 2001 Double Precision, Inc. See COPYING for +** distribution information. +*/ + +#if HAVE_CONFIG_H +#include "courier_auth_config.h" +#endif +#include +#include +#include +#include +#include +#if HAVE_UNISTD_H +#include +#endif +#include "auth.h" +#include "courierauthdebug.h" +#include +#include +#include "vpopmail_config.h" + +/* make use of pw_flags only if available */ +#ifndef VQPASSWD_HAS_PW_FLAGS +#define pw_flags pw_gid +#endif + +extern FILE *authvchkpw_file(const char *, const char *); + +static const char rcsid[]="$Id: preauthvchkpw.c,v 1.26 2007/04/22 18:53:30 mrsam Exp $"; + +/* This function is called by the auth_vchkpw() function + * + * This function does the following : + * - extract the username and domain from the supplied userid + * - lookup the passwd entry for that user from the auth backend + * - populate *and return) a courier authinfo structure with the values + * from the vpopmail passwd entry + * + * Return -1 on perm failure + * Return 0 on success + * Return 1 on temp failure + * + */ + +int auth_vchkpw_pre( + const char *userid, + const char *service, + int (*callback)(struct authinfo *, void *), + void *arg) +{ +struct vqpasswd *vpw; +static uid_t uid; +gid_t gid; +struct authinfo auth; +static char User[256]; +static char Domain[256]; +static char options[80]; + + /* Make sure the auth struct is empty */ + memset(&auth, 0, sizeof(auth)); + + /* Take the supplied userid, and split it out into the user and domain + * parts. (If a domain was not supplied, then set the domain to be + * the default domain) + */ + if ( parse_email(userid, User, Domain, 256) != 0) { + /* Failed to successfully extract user and domain. + * So now exit with a permanent failure code + */ + DPRINTF("vchkpw: unable to split into user and domain"); + return(-1); + } + + /* Check to see if the domain exists. + * If so, on return vget_assign will : + * Rewrite Domain to be the real domain if it was sent as an alias domain + * Retrieve the domain's uid and gid + */ + if ( vget_assign(Domain,NULL,0,&uid, &gid) == NULL ) { + /* Domain does not exist + * So now exit with a permanent failure code */ + DPRINTF("vchkpw: domain does not exist"); + return (-1); + } + + /* Try and retrieve the user's passwd entry from the auth backend */ + if ( (vpw=vauth_getpw(User, Domain)) == NULL) { + /* User does not exist + * So now exit with a permanent failure code + */ + DPRINTF("vchkpw: user does not exist"); + return (-1); + } + + /* Check to see if the user has been allocated a dir yet. + * Some of the vpopmail backends (eg mysql) allow users to + * be manually inserted into the auth backend but without + * allocating a dir. A dir will be created when the user + * first trys to auth (or when they 1st receive mail) + */ + if (vpw->pw_dir == NULL || strlen(vpw->pw_dir) == 0 ) { + /* user does not have a dir allocated yet */ + if ( make_user_dir(User, Domain, uid, gid) == NULL) { + /* Could not allocate a user dir at this time + * so exit with a temp error code + */ + DPRINTF("vchkpw: make_user_dir failed"); + return(1); + } + /* We have allocated the user a dir now. + * Go and grab the updated passwd entry + */ + if ( (vpw=vauth_getpw(User, Domain)) == NULL ) { + /* Could not get the passwd entry + * So exit with a permanent failure code + */ + DPRINTF("vchkpw: could not get the password entry"); + return(-1); + } + } + + snprintf(options, sizeof(options), + "disablewebmail=%d,disablepop3=%d,disableimap=%d", + vpw->pw_flags & NO_WEBMAIL ? 1 : 0, + vpw->pw_flags & NO_POP ? 1 : 0, + vpw->pw_flags & NO_IMAP ? 1 : 0); + +#ifdef HAVE_VSET_LASTAUTH + /* if we are keeping track of their last auth time, + * then store this value now. Note that this isnt + * consistent with the authentication via vchkpw + * because it only stores the lastauth attempt + * after the password has been verified. Here we are + * logging it after the user has been found to exist, + * but before the password has been verified. We could + * do the logging inside authvchkpw.c, but that would + * be a lot harder because we would have to go and + * parse_email() again there before calling vset_lastauth() + */ + vset_lastauth(User, Domain, service); +#endif + + /* save the user's passwd fields into the appropriate + * courier structure + */ + /*auth.sysusername = userid;*/ + auth.sysuserid = &uid; + auth.sysgroupid = gid; + auth.homedir = vpw->pw_dir; + auth.address = userid; + auth.fullname = vpw->pw_gecos; + auth.passwd = vpw->pw_passwd; + auth.clearpasswd = vpw->pw_clear_passwd; + auth.options = options; + courier_authdebug_authinfo("DEBUG: authvchkpw: ", &auth, 0, vpw->pw_passwd); + + return ((*callback)(&auth, arg)); +} --- userdb/configure.orig 2009-06-27 17:55:53.000000000 +0200 +++ userdb/configure 2009-07-02 09:56:41.000000000 +0200 @@ -12452,7 +12452,7 @@ fi -ac_config_files="$ac_config_files Makefile userdb.pl makeuserdb pw2userdb" +ac_config_files="$ac_config_files Makefile userdb.pl makeuserdb pw2userdb vchkpw2userdb" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure @@ -13364,6 +13364,7 @@ "userdb.pl") CONFIG_FILES="$CONFIG_FILES userdb.pl" ;; "makeuserdb") CONFIG_FILES="$CONFIG_FILES makeuserdb" ;; "pw2userdb") CONFIG_FILES="$CONFIG_FILES pw2userdb" ;; + "vchkpw2userdb") CONFIG_FILES="$CONFIG_FILES vchkpw2userdb" ;; *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 $as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;} --- userdb/vchkpw2userdb.in.orig 2009-07-02 09:56:41.000000000 +0200 +++ userdb/vchkpw2userdb.in 2009-07-02 09:56:41.000000000 +0200 @@ -0,0 +1,80 @@ +#! @PERL@ +# +# Convert vchkpw to userdb format. +# +# $Id: vchkpw2userdb.in,v 1.4 2000/02/16 01:12:13 mrsam Exp $ +# +# Copyright 1998 - 1999 Double Precision, Inc. See COPYING for +# distribution information. + +use Getopt::Long; + +die "Invalid options.\n" unless + GetOptions("vpopmailhome=s" => \$vpopmailhome, + "todir=s" => \$todir); + +if ( ! ( $vpopmailhome =~ /./ )) +{ + (undef, undef, undef, undef, undef, undef, undef, $vpopmailhome) + = getpwnam("vpopmail"); + + die "Cannot find vpopmail home.\n" unless $vpopmailhome =~ /./; +} + +-d "$vpopmailhome" || die "$vpopmailhome: not found.\n"; + +if ( $todir =~ /./ ) +{ + -d "$todir" || mkdir($todir, 0700) || die "$!\n"; +} + +$bindir=$0; + +if ($bindir =~ /^(.*)\/[^\/]*$/ ) +{ + $bindir=$1; +} +else +{ + $bindir="."; +} + +die "Unable to locate pw2userdb.\n" unless -f "$bindir/pw2userdb"; + +$redir=""; + +if ( $todir =~ /./ ) +{ + $redir=">$todir/users-vpasswd"; + -d "$todir/domains" || mkdir("$todir/domains", 0700) || die "$!\n"; +} + +if ( -f "$vpopmailhome/users/vpasswd") +{ + $rc=system ("$bindir/pw2userdb --vpopuid --passwd='$vpopmailhome/users/vpasswd' --noshadow --nouid $redir"); + exit $rc / 256 if $rc; +} + +if ( opendir(DIR, "$vpopmailhome/domains")) +{ + while ($domain=readdir(DIR)) + { + $domainopt="--domain='$domain'"; + $domainopt="" if $domain eq "default"; + next if $domain eq "." || $domain eq ".."; + next unless -f "$vpopmailhome/domains/$domain/vpasswd"; + $redir=""; + if ( $todir =~ /./ ) + { + $redir=">$todir/domains/$domain"; + $redir=">$todir/users-default" + if $domain eq "default"; + } + + $rc=system ("$bindir/pw2userdb --passwd='$vpopmailhome/domains/$domain/vpasswd' --vpopuid --noshadow --nouid $domainopt $redir"); + + exit $rc / 256 if $rc != 0; + } + close(DIR); +} + ---- userdb/Makefile.in.orig 2013-09-13 12:42:56.000000000 +0200 -+++ userdb/Makefile.in 2013-10-16 12:27:57.000000000 +0200 -@@ -91,6 +91,7 @@ - $(top_srcdir)/configure $(am__configure_deps) \ - $(srcdir)/config.h.in $(srcdir)/userdb.pl.in \ - $(srcdir)/makeuserdb.in $(srcdir)/pw2userdb.in \ -+ $(srcdir)/vchkpw2userdb.in \ - $(top_srcdir)/../depcomp ../AUTHORS ../COPYING ../ChangeLog \ - ../INSTALL ../NEWS ../README ../config.guess ../config.sub \ - ../depcomp ../install-sh ../missing ../ltmain.sh \ -@@ -105,7 +106,7 @@ +--- userdb/Makefile.in.orig 2015-06-06 14:37:22 UTC ++++ userdb/Makefile.in +@@ -107,7 +107,7 @@ am__CONFIG_DISTCLEAN_FILES = config.stat configure.lineno config.status.lineno mkinstalldirs = $(install_sh) -d CONFIG_HEADER = config.h -CONFIG_CLEAN_FILES = userdb.pl makeuserdb pw2userdb +CONFIG_CLEAN_FILES = userdb.pl makeuserdb pw2userdb vchkpw2userdb CONFIG_CLEAN_VPATH_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) libuserdb_la_LIBADD = -@@ -365,7 +366,7 @@ +@@ -222,6 +222,7 @@ CSCOPE = cscope + AM_RECURSIVE_TARGETS = cscope + am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \ + $(srcdir)/makeuserdb.in $(srcdir)/pw2userdb.in \ ++ $(srcdir)/vchkpw2userdb.in \ + $(srcdir)/userdb.pl.in $(top_srcdir)/../compile \ + $(top_srcdir)/../config.guess $(top_srcdir)/../config.sub \ + $(top_srcdir)/../depcomp $(top_srcdir)/../install-sh \ +@@ -376,7 +377,7 @@ BUILT_SOURCES = makeuserdb.html.in makeu userdb.html.in userdb.8.in \ userdbpw.html.in userdbpw.8.in -noinst_SCRIPTS = makeuserdb pw2userdb dummy +noinst_SCRIPTS = makeuserdb pw2userdb vchkpw2userdb dummy noinst_DATA = makeuserdb.html userdb.html userdbpw.html userdbpw_SOURCES = userdbpw.c userdbpw_LDADD = libuserdb.la @HMACLIB@ @MD5LIB@ @SHA1LIB@ @CRYPTLIBS@ -@@ -434,6 +435,8 @@ +@@ -444,6 +445,8 @@ makeuserdb: $(top_builddir)/config.statu cd $(top_builddir) && $(SHELL) ./config.status $@ pw2userdb: $(top_builddir)/config.status $(srcdir)/pw2userdb.in cd $(top_builddir) && $(SHELL) ./config.status $@ +vchkpw2userdb: $(top_builddir)/config.status $(srcdir)/vchkpw2userdb.in + cd $(top_builddir) && $(SHELL) ./config.status $@ clean-noinstLTLIBRARIES: -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) Index: head/security/courier-authlib/pkg-plist-base =================================================================== --- head/security/courier-authlib/pkg-plist-base (revision 391220) +++ head/security/courier-authlib/pkg-plist-base (revision 391221) @@ -1,44 +1,45 @@ bin/courierauthconfig @sample(%%MAILOWN%%,%%MAILGRP%%,660) etc/authlib/authdaemonrc.sample include/courier_auth_config.h include/courierauth.h include/courierauthdebug.h include/courierauthsasl.h include/courierauthsaslclient.h include/courierauthstaticlist.h lib/courier-authlib/libcourierauth.so lib/courier-authlib/libcourierauthcommon.so lib/courier-authlib/libcourierauthsasl.so lib/courier-authlib/libcourierauthsaslclient.so lib/courier-authlib/libauthpam.so lib/courier-authlib/libauthpipe.so libexec/courier-authlib/authdaemond libexec/courier-authlib/authsystem.passwd man/man1/authtest.1.gz man/man1/courierlogger.1.gz man/man3/auth_enumerate.3.gz man/man3/auth_generic.3.gz man/man3/auth_getoption.3.gz man/man3/auth_getuserinfo.3.gz man/man3/auth_login.3.gz +man/man3/auth_mkhomedir.3.gz man/man3/auth_passwd.3.gz man/man3/auth_sasl.3.gz man/man3/auth_sasl_ex.3.gz man/man3/authlib.3.gz sbin/authdaemond sbin/authenumerate sbin/authtest sbin/courierlogger %%PORTDOCS%%%%DOCSDIR%%/AUTHORS %%PORTDOCS%%%%DOCSDIR%%/COPYING %%PORTDOCS%%%%DOCSDIR%%/ChangeLog %%PORTDOCS%%%%DOCSDIR%%/INSTALL %%PORTDOCS%%%%DOCSDIR%%/NEWS %%PORTDOCS%%%%DOCSDIR%%/README %%PORTDOCS%%%%DOCSDIR%%/README.authdebug.html %%PORTDOCS%%%%DOCSDIR%%/README_authlib.html %%PORTDOCS%%@dirrm %%DOCSDIR%% @dirrmtry(%%MAILOWN%%,%%MAILGRP%%,750) %%AUTHDAEMONVAR%% @dirrmtry etc/authlib @dirrm(%%MAILOWN%%,%%MAILGRP%%,755) libexec/courier-authlib @dirrm lib/courier-authlib