pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/mail/bincimap



Module Name:    pkgsrc
Committed By:   schmonz
Date:           Wed Feb 28 04:14:16 UTC 2024

Modified Files:
        pkgsrc/mail/bincimap: DESCR Makefile PLIST distinfo options.mk
        pkgsrc/mail/bincimap/files: bincimapd.sh
Removed Files:
        pkgsrc/mail/bincimap/patches: patch-Makefile.in patch-conf_Makefile.in
            patch-conf_bincimap.conf.in patch-doc_manual_Makefile.in
            patch-man_bincimap-up.1 patch-src_convert.h patch-src_greeting.cc
            patch-src_tools.cc

Log Message:
bincimap: new upstream, update to 2.0.15. Changes:

2.0.15  Included logging for Operator LOGIN and display of the real auth
        user rather than the virtual user in the logs. Streamlined log
        output to be close to s/qmail's.
2.0.14  Removed gethostbyname and replaced by environment variable
        'TCPLOCALHOST'. Changed default logtype to 'multilog'.
2.0.13  Logging is working now for each session at logout/disconnect/timeout.
2.0.12  CRAM-MD5 Auth should work now (given the backend allows this).
        Modularized auth operator for potential new methods.
        Improved man pages to reflect current capabilities.
2.0.11  BincInfo renamed to BincLog, added s/qmail like tags for logging.
        Added a LICENSE file (under ./doc).
        StartTLS working now after reordering reply command sequence.
2.0.10  Added CRAM-MD5 authentication. 'logged in' log includes now remote IP.
2.0.9   Added doc + man pages and finished slashpackage installation.
2.0.8   Final cleaning and integration tests.
2.0.7   Moved StartTLS support into operator-starttls.cc.
2.0.6   Added StartTLS into sesssion-initialisation-bincimap-up.cc.
2.0.5   Added operator-id.cc (RFC 2971) since Evolution requires this.
2.0.4   Removed JAIL option -> sslserver can do that as well. Trimmed log
        output.
2.0.3   Trimming of *.cc and *.h files. Removed StartTLS driver.
2.0.2   Integration tests successful for TLS and with new qmail-authuser.
2.0.1   Makefile working. First minor fixes. Initial working version.
2.0.0   Initial restart of Bincimap 1.3.4 without Autoconf tools.


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 pkgsrc/mail/bincimap/DESCR \
    pkgsrc/mail/bincimap/PLIST pkgsrc/mail/bincimap/options.mk
cvs rdiff -u -r1.2 -r1.3 pkgsrc/mail/bincimap/Makefile
cvs rdiff -u -r1.4 -r1.5 pkgsrc/mail/bincimap/distinfo
cvs rdiff -u -r1.1 -r1.2 pkgsrc/mail/bincimap/files/bincimapd.sh
cvs rdiff -u -r1.1 -r0 pkgsrc/mail/bincimap/patches/patch-Makefile.in \
    pkgsrc/mail/bincimap/patches/patch-conf_Makefile.in \
    pkgsrc/mail/bincimap/patches/patch-conf_bincimap.conf.in \
    pkgsrc/mail/bincimap/patches/patch-doc_manual_Makefile.in \
    pkgsrc/mail/bincimap/patches/patch-man_bincimap-up.1 \
    pkgsrc/mail/bincimap/patches/patch-src_greeting.cc \
    pkgsrc/mail/bincimap/patches/patch-src_tools.cc
cvs rdiff -u -r1.2 -r0 pkgsrc/mail/bincimap/patches/patch-src_convert.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/mail/bincimap/DESCR
diff -u pkgsrc/mail/bincimap/DESCR:1.1 pkgsrc/mail/bincimap/DESCR:1.2
--- pkgsrc/mail/bincimap/DESCR:1.1      Fri Jan 15 19:50:25 2021
+++ pkgsrc/mail/bincimap/DESCR  Wed Feb 28 04:14:16 2024
@@ -1,3 +1,3 @@
 Binc IMAP is an IMAP4rev1 server for Maildir. It strives to be stable,
-fast, flexible, and RFC compliant. Like qmail-pop3d, it authenticates
-via a checkpassword program.
+fast, flexible, and RFC compliant. Like qmail-pop3d, it relies on UCSPI
+for networking and checkpassword for authentication.
Index: pkgsrc/mail/bincimap/PLIST
diff -u pkgsrc/mail/bincimap/PLIST:1.1 pkgsrc/mail/bincimap/PLIST:1.2
--- pkgsrc/mail/bincimap/PLIST:1.1      Fri Jan 15 19:50:25 2021
+++ pkgsrc/mail/bincimap/PLIST  Wed Feb 28 04:14:16 2024
@@ -1,17 +1,14 @@
-@comment $NetBSD: PLIST,v 1.1 2021/01/15 19:50:25 schmonz Exp $
+@comment $NetBSD: PLIST,v 1.2 2024/02/28 04:14:16 schmonz Exp $
 bin/bincimap-up
+bin/bincimap-updatecache
 bin/bincimapd
 man/man1/bincimap-up.1
+man/man1/bincimap.1
 man/man1/bincimapd.1
-man/man5/bincimap.conf.5
-share/doc/bincimap/README
-share/doc/bincimap/bincimap-faq.html
-share/doc/bincimap/bincimap-goals.html
-share/doc/bincimap/bincimap-imapdir.html
-share/doc/bincimap/bincimap-manual.ps
-share/doc/bincimap/bincimap-tech.html
-share/doc/bincimap/bincimap.css
-share/examples/bincimap/bincimap.conf
-share/examples/bincimap/checkpassword.pl
+man/man7/bincimap-updatecache.7
+share/examples/bincimap/IMAPdir2Maildir++
+share/examples/bincimap/Maildir++2IMAPdir
+share/examples/bincimap/checkpassword
 share/examples/bincimap/toimapdir
 share/examples/bincimap/tomaildir++
+@pkgdir man/man5
Index: pkgsrc/mail/bincimap/options.mk
diff -u pkgsrc/mail/bincimap/options.mk:1.1 pkgsrc/mail/bincimap/options.mk:1.2
--- pkgsrc/mail/bincimap/options.mk:1.1 Fri Jan 15 19:50:25 2021
+++ pkgsrc/mail/bincimap/options.mk     Wed Feb 28 04:14:16 2024
@@ -1,30 +1,12 @@
-# $NetBSD: options.mk,v 1.1 2021/01/15 19:50:25 schmonz Exp $
+# $NetBSD: options.mk,v 1.2 2024/02/28 04:14:16 schmonz Exp $
 
 PKG_OPTIONS_VAR=               PKG_OPTIONS.bincimap
-PKG_SUPPORTED_OPTIONS+=                inet6 pam tls
-PKG_SUGGESTED_OPTIONS+=                inet6 tls
+PKG_SUPPORTED_OPTIONS+=                pam
 
 .include "../../mk/bsd.options.mk"
 
-.if !empty(PKG_OPTIONS:Minet6)
-DEPENDS+=                      ucspi-tcp6>=1.10.7nb1:../../net/ucspi-tcp6
-.else
-DEPENDS+=                      {ucspi-tcp6>=1.10.7nb1,ucspi-tcp-[0-9]*}:../../net/ucspi-tcp
-.endif
-
 .if !empty(PKG_OPTIONS:Mpam)
 DEPENDS+=                      checkpassword-pam>=0.99nb1:../../sysutils/checkpassword-pam
 .else
 DEPENDS+=                      checkpassword>=0.90nb1:../../sysutils/checkpassword
 .endif
-
-.if !empty(PKG_OPTIONS:Mtls)
-.  include "../../security/openssl/buildlink3.mk"
-SUBST_CLASSES+=                paths
-SUBST_STAGE.paths=     pre-configure
-SUBST_FILES.paths=     src/io-ssl.cc doc/bincimap-faq.html \
-                       doc/manual/bincimap-manual.ps conf/bincimap.conf.in
-SUBST_SED.paths=       -e 's|/usr/share/ssl/certs|${SSLDIR}/certs|g'
-.else
-CONFIGURE_ARGS+=       --without-ssl
-.endif

Index: pkgsrc/mail/bincimap/Makefile
diff -u pkgsrc/mail/bincimap/Makefile:1.2 pkgsrc/mail/bincimap/Makefile:1.3
--- pkgsrc/mail/bincimap/Makefile:1.2   Tue Oct 24 22:09:41 2023
+++ pkgsrc/mail/bincimap/Makefile       Wed Feb 28 04:14:16 2024
@@ -1,47 +1,74 @@
-# $NetBSD: Makefile,v 1.2 2023/10/24 22:09:41 wiz Exp $
+# $NetBSD: Makefile,v 1.3 2024/02/28 04:14:16 schmonz Exp $
 
-DISTNAME=              bincimap-1.2.13final
-PKGNAME=               ${DISTNAME:S/final$//}
-PKGREVISION=           1
+DISTNAME=              bincimap-2.0.15
 CATEGORIES=            mail
-MASTER_SITES=          ${MASTER_SITE_SOURCEFORGE:=bincimap/}
+MASTER_SITES=          https://www.fehcom.de/binc/
+EXTRACT_SUFX=          .tgz
 
 MAINTAINER=            schmonz%NetBSD.org@localhost
-HOMEPAGE=              https://sourceforge.net/projects/bincimap/
+HOMEPAGE=              https://www.fehcom.de/binc/binc.html
 COMMENT=               IMAP server for Maildir using checkpassword
 LICENSE=               gnu-gpl-v2
 
 DEPENDS+=              daemontools-[0-9]*:../../sysutils/daemontools
 DEPENDS+=              pkg_alternatives-[0-9]*:../../pkgtools/pkg_alternatives
 DEPENDS+=              qmail-acceptutils-[0-9]*:../../mail/qmail-acceptutils
+DEPENDS+=              ucspi-ssl-[0-9]*:../../net/ucspi-ssl
 
-USE_LANGUAGES=         c c++
+WRKSRC=                        ${WRKDIR}/mail/bincimap/${DISTNAME}
 
-GNU_CONFIGURE=         yes
-CONFIGURE_ARGS+=       --libexecdir=${PREFIX:Q}/${EGDIR:Q}
-CONFIGURE_ARGS+=       --sysconfdir=${PKG_SYSCONFDIR:Q}
-INSTALL_MAKE_FLAGS=    sysconfdir=${PREFIX:Q}/${EGDIR:Q}
+USE_LANGUAGES=         c++
+USE_TOOLS+=            mandoc
+REPLACE_PERL=          scripts/*.pl
+PKG_SYSCONFSUBDIR=     ${PKGBASE}
 
-REPLACE_PERL=          conf/checkpassword.pl conf/toimapdir conf/tomaildir++
+DJB_SLASHPACKAGE=      YES
+DJB_CONFIG_DIR=                ${WRKSRC}
 
-SUBST_CLASSES+=                nobody
-SUBST_STAGE.nobody=    pre-configure
-SUBST_FILES.nobody=    conf/bincimap.conf.in
-SUBST_VARS.nobody=     BINCIMAP_USER BINCIMAP_GROUP
-
-PKG_USERS_VARS+=       BINCIMAP_USER
+PKG_USERS_VARS+=       BINCIMAP_USER BINCIMAP_LOG_USER
 PKG_GROUPS_VARS+=      BINCIMAP_GROUP
 PKG_GROUPS+=           ${BINCIMAP_GROUP}
 PKG_USERS+=            ${BINCIMAP_USER}:${BINCIMAP_GROUP}
+PKG_USERS+=            ${BINCIMAP_LOG_USER}:${BINCIMAP_GROUP}
 
 EGDIR=                 share/examples/${PKGBASE}
-CONF_FILES+=           ${PREFIX}/${EGDIR}/${PKGBASE}.conf \
-                       ${PKG_SYSCONFDIR}/${PKGBASE}.conf
+
+FILES_SUBST+=          BINCIMAP_GROUP=${BINCIMAP_GROUP:Q}
+FILES_SUBST+=          BINCIMAP_LOG_USER=${BINCIMAP_LOG_USER:Q}
+FILES_SUBST+=          BINCIMAP_USER=${BINCIMAP_USER:Q}
+USE_TOOLS+=            openssl:run
+FILES_SUBST+=          OPENSSL=${OPENSSL}
+.include "../../security/openssl/builtin.mk"
+FILES_SUBST+=          SSLDIR=${SSLDIR}
+FILES_SUBST+=          UCSPI_SSL_USER=${UCSPI_SSL_USER:Q}
+FILES_SUBST+=          UCSPI_SSL_GROUP=${UCSPI_SSL_GROUP:Q}
 RCD_SCRIPTS=           bincimapd
 
-INSTALLATION_DIRS=     bin ${PKGMANDIR}/man1 ${PKGMANDIR}/man5
+INSTALLATION_DIRS=     bin ${PKGMANDIR}/man1 ${PKGMANDIR}/man5 ${PKGMANDIR}/man7
 INSTALLATION_DIRS+=    ${EGDIR}
 
+BUILD_DEFS+=           BINCIMAP_LOG_USER UCSPI_SSL_USER UCSPI_SSL_GROUP
+BUILD_DEFS+=           QMAILDIR SSLDIR
+
+post-build:
+       cd ${WRKSRC}/man; for f in *.9; do                              \
+               ${MAKE} $$(${BASENAME} $${f} .9).1;                     \
+       done
+
+do-install:
+       for f in ${WRKSRC}/command/*; do                                \
+               ${INSTALL_PROGRAM} $${f} ${DESTDIR}${PREFIX}/bin;       \
+       done
+       for f in ${WRKSRC}/scripts/*.pl; do                             \
+               ${INSTALL_SCRIPT} $${f}                                 \
+               ${DESTDIR}${PREFIX}/${EGDIR}/$$(${BASENAME} $${f} .pl); \
+       done
+       for f in ${WRKSRC}/man/*.[1-8]; do                              \
+               ${INSTALL_MAN} $${f}                                    \
+               ${DESTDIR}${PREFIX}/${PKGMANDIR}/man$$(${ECHO} $${f} | ${AWK} -F. '{print $$NF}'); \
+       done
+
 .include "options.mk"
 
+.include "../../mk/djbware.mk"
 .include "../../mk/bsd.pkg.mk"

Index: pkgsrc/mail/bincimap/distinfo
diff -u pkgsrc/mail/bincimap/distinfo:1.4 pkgsrc/mail/bincimap/distinfo:1.5
--- pkgsrc/mail/bincimap/distinfo:1.4   Tue Oct 26 10:53:55 2021
+++ pkgsrc/mail/bincimap/distinfo       Wed Feb 28 04:14:16 2024
@@ -1,13 +1,5 @@
-$NetBSD: distinfo,v 1.4 2021/10/26 10:53:55 nia Exp $
+$NetBSD: distinfo,v 1.5 2024/02/28 04:14:16 schmonz Exp $
 
-BLAKE2s (bincimap-1.2.13final.tar.gz) = e8524101f1bdf230cc2b1262343f087c1ffa2f5f6075ca1339170a491c081a65
-SHA512 (bincimap-1.2.13final.tar.gz) = 53c4df3b46a433fae5dd441f1613dd1a0f73de43c25a56e1aa210f45b9d0b0201a0fdeb050f0b37646ce3b571d835b06cd6b1a566078aab8a61f352fc718e584
-Size (bincimap-1.2.13final.tar.gz) = 511059 bytes
-SHA1 (patch-Makefile.in) = ddcf628576a3c62c4eecda48899a5820fed912c5
-SHA1 (patch-conf_Makefile.in) = 8a979b150aff3c08a9be255be893cbe28094f7f7
-SHA1 (patch-conf_bincimap.conf.in) = d1083ebf2b12704545de8797d07c02c309f1ddfa
-SHA1 (patch-doc_manual_Makefile.in) = 713308a43bfdfc408de368692ae50b159a7db298
-SHA1 (patch-man_bincimap-up.1) = e052a7575754a6df7904d61718ad433d2d00eb0f
-SHA1 (patch-src_convert.h) = 5425eefd9511746639c5ec9d428bb3dd2356402f
-SHA1 (patch-src_greeting.cc) = 99466bd65eadf734dbe84800639cdc25a2f1eaa7
-SHA1 (patch-src_tools.cc) = ead7735ee234b2324c59d55bd4a7ca20a306971f
+BLAKE2s (bincimap-2.0.15.tgz) = 885216804bcacee41cf345df3928a5e73f8400c2c00dc90b8d9d5a7897ba80fd
+SHA512 (bincimap-2.0.15.tgz) = 6b6dec279d4c5d835b7468542004e754cef58238c3f80bf89715a4f7cfb00dc1450d0c1c8ae78286a7e8eb6eaac0215944e0a8fdbe637f17f24a5de9af80bdde
+Size (bincimap-2.0.15.tgz) = 153600 bytes

Index: pkgsrc/mail/bincimap/files/bincimapd.sh
diff -u pkgsrc/mail/bincimap/files/bincimapd.sh:1.1 pkgsrc/mail/bincimap/files/bincimapd.sh:1.2
--- pkgsrc/mail/bincimap/files/bincimapd.sh:1.1 Fri Jan 15 19:50:25 2021
+++ pkgsrc/mail/bincimap/files/bincimapd.sh     Wed Feb 28 04:14:16 2024
@@ -1,6 +1,6 @@
 #!@RCD_SCRIPTS_SHELL@
 #
-# $NetBSD: bincimapd.sh,v 1.1 2021/01/15 19:50:25 schmonz Exp $
+# $NetBSD: bincimapd.sh,v 1.2 2024/02/28 04:14:16 schmonz Exp $
 #
 
 # PROVIDE: bincimapd mail
@@ -8,30 +8,72 @@
 name="bincimapd"
 
 # User-settable rc.conf variables and their default values:
-: ${bincimapd_postenv:=""}
+: ${bincimapd_postenv:="VERBOSE_GREETING=yes"}
 : ${bincimapd_datalimit:="180000000"}
 : ${bincimapd_pretcpserver:=""}
-: ${bincimapd_tcpserver:="@PREFIX@/bin/tcpserver"}
-: ${bincimapd_tcpflags:="-R -H"}
+: ${bincimapd_tcpserver:="@PREFIX@/bin/sslserver"}
+: ${bincimapd_tcpflags:="-ne -vRl0"}
 : ${bincimapd_tcphost:=":0"}
-: ${bincimapd_tcpport:="143"}
-: ${bincimapd_precheckpassword:="@PREFIX@/bin/bincimap-up --conf=@PKG_SYSCONFDIR@/bincimap.conf --"}
+: ${bincimapd_tcpport:="993"}
+: ${bincimapd_precheckpassword:="@PREFIX@/bin/bincimap-up --"}
 : ${bincimapd_checkpassword:="@PREFIX@/bin/nbcheckpassword"}
 : ${bincimapd_preimapd:="@PREFIX@/bin/checknotroot"}
 : ${bincimapd_imapdcmd:="@PREFIX@/bin/bincimapd"}
-: ${bincimapd_postimapd:=""}
+: ${bincimapd_postimapd:="Maildir"}
+: ${bincimapd_log:="YES"}
+: ${bincimapd_logcmd:="logger -t bincimap -p mail.info"}
+: ${bincimapd_nologcmd:="@PREFIX@/bin/multilog -*"}
+: ${bincimapd_tls:="YES"}
+: ${bincimapd_tls_dhparams:="@PKG_SYSCONFDIR@/certs/dh2048.pem"}
+: ${bincimapd_tls_cert:="@PKG_SYSCONFDIR@/certs/servercert.pem"}
+: ${bincimapd_tls_key:="@PKG_SYSCONFDIR@/certs/serverkey.pem"}
 
 if [ -f /etc/rc.subr ]; then
        . /etc/rc.subr
 fi
 
 rcvar=${name}
-required_files="@PKG_SYSCONFDIR@/bincimap.conf"
 command="${bincimapd_tcpserver}"
 procname=nb${name}
 start_precmd="bincimapd_precmd"
 
+bincimapd_configure_tls() {
+       if [ "auto" = "${bincimapd_tls}" ]; then
+               if [ -f "${bincimapd_tls_cert}" ]; then
+                       bincimapd_enable_tls
+               else
+                       bincimapd_disable_tls
+               fi
+       elif [ -f /etc/rc.subr ] && checkyesno bincimapd_tls; then
+               bincimapd_enable_tls
+       else
+               bincimapd_disable_tls
+       fi
+}
+
+bincimapd_disable_tls() {
+       bincimapd_postenv="ALLOW_NONSSL_PLAINTEXT_LOGINS=yes ${bincimapd_postenv}"
+}
+
+bincimapd_enable_tls() {
+       bincimapd_postenv="CADIR=@SSLDIR@/certs ${bincimapd_postenv}"
+       bincimapd_postenv="SSL_UID=$(@ID@ -u @UCSPI_SSL_USER@) ${bincimapd_postenv}"
+       bincimapd_postenv="SSL_GID=$(@ID@ -g @UCSPI_SSL_GROUP@) ${bincimapd_postenv}"
+       bincimapd_postenv="DHFILE=${bincimapd_tls_dhparams} ${bincimapd_postenv}"
+       bincimapd_postenv="CERTFILE=${bincimapd_tls_cert} ${bincimapd_postenv}"
+       if [ -n "${bincimapd_tls_key}" -a ! -f "${bincimapd_tls_key}" ]; then
+               @OPENSSL@ rsa -in ${bincimapd_tls_cert} -out ${bincimapd_tls_key}
+               @CHMOD@ 640 ${bincimapd_tls_key}
+       fi
+       bincimapd_postenv="KEYFILE=${bincimapd_tls_key} ${bincimapd_postenv}"
+}
+
+
 bincimapd_precmd() {
+       if [ -f /etc/rc.subr ] && ! checkyesno bincimapd_log; then
+               bincimapd_logcmd=${bincimapd_nologcmd}
+       fi
+       bincimapd_configure_tls
        # tcpserver(1) is akin to inetd(8), but runs one service per process.
        # We want to signal only the tcpserver process responsible for this
        # service. Use argv0(1) to set procname to "nbbincimapd".
@@ -39,9 +81,12 @@ bincimapd_precmd() {
 @PREFIX@/bin/softlimit -m ${bincimapd_datalimit} ${bincimapd_pretcpserver} \
 @PREFIX@/bin/argv0 ${bincimapd_tcpserver} ${procname} \
 ${bincimapd_tcpflags} \
+-u @BINCIMAP_USER@ -g @BINCIMAP_GROUP@ \
 ${bincimapd_tcphost} ${bincimapd_tcpport} \
 ${bincimapd_precheckpassword} ${bincimapd_checkpassword} \
-${bincimapd_preimapd} ${bincimapd_imapdcmd} ${bincimapd_postimapd}"
+${bincimapd_preimapd} ${bincimapd_imapdcmd} ${bincimapd_postimapd} \
+2>&1 | \
+@PREFIX@/bin/pgrphack @PREFIX@/bin/setuidgid @BINCIMAP_LOG_USER@ ${bincimapd_logcmd}"
        command_args="&"
        rc_flags=""
 }



Home | Main Index | Thread Index | Old Index