Initial import of Qsmtp, a drop-in replacement for qmail-smtpd and

qmail-remote. The benefits:

- Fast and small: written in plain C
- IPv6 clean
- Many antispam modules included, e.g. SPF, IP blacklists, domain
  blacklists, badmailfrom, helo filtering
- Easy API to add your own spamfilters
- For vpopmail hosts: does not create bounces for non-existing users
- Tested: includes unit tests, nightly checks available at
  <http://my.cdash.org/index.php?project=Qsmtp>
This commit is contained in:
schmonz 2020-01-07 08:15:30 +00:00
parent 585e591aee
commit 2937d23186
5 changed files with 308 additions and 0 deletions

11
mail/qsmtp/DESCR Normal file
View file

@ -0,0 +1,11 @@
Qsmtp is a drop-in replacement for qmail-smtpd and qmail-remote.
The benefits:
- Fast and small: written in plain C
- IPv6 clean
- Many antispam modules included, e.g. SPF, IP blacklists, domain
blacklists, badmailfrom, helo filtering
- Easy API to add your own spamfilters
- For vpopmail hosts: does not create bounces for non-existing users
- Tested: includes unit tests, nightly checks available at
<http://my.cdash.org/index.php?project=Qsmtp>

24
mail/qsmtp/Makefile Normal file
View file

@ -0,0 +1,24 @@
# $NetBSD: Makefile,v 1.1 2020/01/07 08:15:30 schmonz Exp $
DISTNAME= Qsmtp-0.37
CATEGORIES= mail
MASTER_SITES= ${HOMEPAGE}
EXTRACT_SUFX= .tar.xz
MAINTAINER= schmonz@NetBSD.org
HOMEPAGE= https://opensource.sf-tec.de/Qsmtp/
COMMENT= Drop-in replacement for qmail-smtpd and qmail-remote
LICENSE= gnu-gpl-v2
BUILD_DEPENDS+= doxygen-[0-9]*:../../devel/doxygen
USE_CMAKE= yes
CMAKE_ARGS+= -DALLOW_INSECURE_BZERO=ON
CMAKE_ARGS+= -DAUTOQMAIL=${QMAILDIR}
CMAKE_ARGS+= -DDOC_DESTINATION_DIRECTORY="share/doc/qsmtp/"
BUILD_DEFS+= QMAILDIR
.include "../../devel/libowfat/buildlink3.mk"
.include "../../security/openssl/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"

249
mail/qsmtp/PLIST Normal file
View file

@ -0,0 +1,249 @@
@comment $NetBSD: PLIST,v 1.1 2020/01/07 08:15:30 schmonz Exp $
bin/Qremote
bin/Qsmtpd
bin/Qsurvey
bin/addipbl
bin/clearpass
bin/qpencode
bin/sendremote
bin/testspf
man/man5/filterconf.5
man/man8/Qremote.8
man/man8/Qsmtpd.8
share/doc/qsmtp/CREDITS
share/doc/qsmtp/INSTALL
share/doc/qsmtp/THOUGHTS
share/doc/qsmtp/faq.html
share/doc/qsmtp/html/addrparse_8c.html
share/doc/qsmtp/html/addrparse_8h.html
share/doc/qsmtp/html/addrparse_8h_source.html
share/doc/qsmtp/html/addrsyntax_8c.html
share/doc/qsmtp/html/annotated.html
share/doc/qsmtp/html/antispam_8c.html
share/doc/qsmtp/html/antispam_8h.html
share/doc/qsmtp/html/antispam_8h_source.html
share/doc/qsmtp/html/auth_8c.html
share/doc/qsmtp/html/badcc_8c.html
share/doc/qsmtp/html/badmailfrom_8c.html
share/doc/qsmtp/html/base64_8c.html
share/doc/qsmtp/html/base64_8h.html
share/doc/qsmtp/html/base64_8h_source.html
share/doc/qsmtp/html/bc_s.png
share/doc/qsmtp/html/bdwn.png
share/doc/qsmtp/html/boolean_8c.html
share/doc/qsmtp/html/cdb_8c.html
share/doc/qsmtp/html/cdb_8h.html
share/doc/qsmtp/html/cdb_8h_source.html
share/doc/qsmtp/html/check2822_8c.html
share/doc/qsmtp/html/child_8c.html
share/doc/qsmtp/html/classes.html
share/doc/qsmtp/html/client_8c.html
share/doc/qsmtp/html/client_8h.html
share/doc/qsmtp/html/client_8h_source.html
share/doc/qsmtp/html/closed.png
share/doc/qsmtp/html/commands_8h.html
share/doc/qsmtp/html/commands_8h_source.html
share/doc/qsmtp/html/common__setup_8c.html
share/doc/qsmtp/html/conn_8c.html
share/doc/qsmtp/html/conn_8h.html
share/doc/qsmtp/html/conn_8h_source.html
share/doc/qsmtp/html/control_8c.html
share/doc/qsmtp/html/control_8h.html
share/doc/qsmtp/html/control_8h_source.html
share/doc/qsmtp/html/data_8c.html
share/doc/qsmtp/html/dir_000000.html
share/doc/qsmtp/html/dir_000001.html
share/doc/qsmtp/html/dir_000002.html
share/doc/qsmtp/html/dir_000003.html
share/doc/qsmtp/html/dir_000004.html
share/doc/qsmtp/html/dir_000005.html
share/doc/qsmtp/html/dir_000006.html
share/doc/qsmtp/html/dir_000007.html
share/doc/qsmtp/html/dir_000008.html
share/doc/qsmtp/html/dir_000009.html
share/doc/qsmtp/html/dir_000010.html
share/doc/qsmtp/html/dir_000011.html
share/doc/qsmtp/html/dir_000012.html
share/doc/qsmtp/html/diropen_8h.html
share/doc/qsmtp/html/diropen_8h_source.html
share/doc/qsmtp/html/dns__helpers_8c.html
share/doc/qsmtp/html/doc.png
share/doc/qsmtp/html/doxygen.css
share/doc/qsmtp/html/doxygen.png
share/doc/qsmtp/html/dynsections.js
share/doc/qsmtp/html/files.html
share/doc/qsmtp/html/filters_2spf_8c.html
share/doc/qsmtp/html/fmt_8c.html
share/doc/qsmtp/html/fmt_8h.html
share/doc/qsmtp/html/fmt_8h_source.html
share/doc/qsmtp/html/folderclosed.png
share/doc/qsmtp/html/folderopen.png
share/doc/qsmtp/html/functions.html
share/doc/qsmtp/html/functions_func.html
share/doc/qsmtp/html/functions_vars.html
share/doc/qsmtp/html/getfile_8c.html
share/doc/qsmtp/html/globals.html
share/doc/qsmtp/html/globals_b.html
share/doc/qsmtp/html/globals_c.html
share/doc/qsmtp/html/globals_d.html
share/doc/qsmtp/html/globals_defs.html
share/doc/qsmtp/html/globals_e.html
share/doc/qsmtp/html/globals_enum.html
share/doc/qsmtp/html/globals_eval.html
share/doc/qsmtp/html/globals_f.html
share/doc/qsmtp/html/globals_func.html
share/doc/qsmtp/html/globals_func_b.html
share/doc/qsmtp/html/globals_func_c.html
share/doc/qsmtp/html/globals_func_d.html
share/doc/qsmtp/html/globals_func_e.html
share/doc/qsmtp/html/globals_func_f.html
share/doc/qsmtp/html/globals_func_g.html
share/doc/qsmtp/html/globals_func_h.html
share/doc/qsmtp/html/globals_func_i.html
share/doc/qsmtp/html/globals_func_l.html
share/doc/qsmtp/html/globals_func_m.html
share/doc/qsmtp/html/globals_func_n.html
share/doc/qsmtp/html/globals_func_p.html
share/doc/qsmtp/html/globals_func_q.html
share/doc/qsmtp/html/globals_func_r.html
share/doc/qsmtp/html/globals_func_s.html
share/doc/qsmtp/html/globals_func_t.html
share/doc/qsmtp/html/globals_func_u.html
share/doc/qsmtp/html/globals_func_v.html
share/doc/qsmtp/html/globals_func_w.html
share/doc/qsmtp/html/globals_func_x.html
share/doc/qsmtp/html/globals_g.html
share/doc/qsmtp/html/globals_h.html
share/doc/qsmtp/html/globals_i.html
share/doc/qsmtp/html/globals_l.html
share/doc/qsmtp/html/globals_m.html
share/doc/qsmtp/html/globals_n.html
share/doc/qsmtp/html/globals_p.html
share/doc/qsmtp/html/globals_q.html
share/doc/qsmtp/html/globals_r.html
share/doc/qsmtp/html/globals_s.html
share/doc/qsmtp/html/globals_t.html
share/doc/qsmtp/html/globals_type.html
share/doc/qsmtp/html/globals_u.html
share/doc/qsmtp/html/globals_v.html
share/doc/qsmtp/html/globals_vars.html
share/doc/qsmtp/html/globals_w.html
share/doc/qsmtp/html/globals_x.html
share/doc/qsmtp/html/greeting_8c.html
share/doc/qsmtp/html/greeting_8h.html
share/doc/qsmtp/html/greeting_8h_source.html
share/doc/qsmtp/html/index.html
share/doc/qsmtp/html/ipme_8c.html
share/doc/qsmtp/html/ipme_8h.html
share/doc/qsmtp/html/ipme_8h_source.html
share/doc/qsmtp/html/jquery.js
share/doc/qsmtp/html/libowfatconn_8c.html
share/doc/qsmtp/html/libowfatconn_8h.html
share/doc/qsmtp/html/libowfatconn_8h_source.html
share/doc/qsmtp/html/log_8c.html
share/doc/qsmtp/html/log_8h.html
share/doc/qsmtp/html/log_8h_source.html
share/doc/qsmtp/html/match_8c.html
share/doc/qsmtp/html/match_8h.html
share/doc/qsmtp/html/match_8h_source.html
share/doc/qsmtp/html/menu.js
share/doc/qsmtp/html/menudata.js
share/doc/qsmtp/html/mime_8c.html
share/doc/qsmtp/html/mime_8h.html
share/doc/qsmtp/html/mime_8h_source.html
share/doc/qsmtp/html/mime__chars_8h.html
share/doc/qsmtp/html/mime__chars_8h_source.html
share/doc/qsmtp/html/mmap_8c.html
share/doc/qsmtp/html/mmap_8h.html
share/doc/qsmtp/html/mmap_8h_source.html
share/doc/qsmtp/html/nav_f.png
share/doc/qsmtp/html/nav_g.png
share/doc/qsmtp/html/nav_h.png
share/doc/qsmtp/html/netio_8c.html
share/doc/qsmtp/html/netio_8h.html
share/doc/qsmtp/html/netio_8h_source.html
share/doc/qsmtp/html/open.png
share/doc/qsmtp/html/qdns_8c.html
share/doc/qsmtp/html/qdns_8h.html
share/doc/qsmtp/html/qdns_8h_source.html
share/doc/qsmtp/html/qdns__dane_8h.html
share/doc/qsmtp/html/qdns__dane_8h_source.html
share/doc/qsmtp/html/qmaildir_8h.html
share/doc/qsmtp/html/qmaildir_8h_source.html
share/doc/qsmtp/html/qrdata_8c.html
share/doc/qsmtp/html/qrdata_8h.html
share/doc/qsmtp/html/qrdata_8h_source.html
share/doc/qsmtp/html/qremote_8c.html
share/doc/qsmtp/html/qremote_8h.html
share/doc/qsmtp/html/qremote_8h_source.html
share/doc/qsmtp/html/qsauth_8h.html
share/doc/qsmtp/html/qsauth_8h_source.html
share/doc/qsmtp/html/qsauth__backend_8h.html
share/doc/qsmtp/html/qsauth__backend_8h_source.html
share/doc/qsmtp/html/qsauth__backend__cp_8c.html
share/doc/qsmtp/html/qsdata_8h.html
share/doc/qsmtp/html/qsdata_8h_source.html
share/doc/qsmtp/html/qsmtpd_8c.html
share/doc/qsmtp/html/qsmtpd_8h.html
share/doc/qsmtp/html/qsmtpd_8h_source.html
share/doc/qsmtp/html/queue_8c.html
share/doc/qsmtp/html/queue_8h.html
share/doc/qsmtp/html/queue_8h_source.html
share/doc/qsmtp/html/qutf8_8h.html
share/doc/qsmtp/html/qutf8_8h_source.html
share/doc/qsmtp/html/rcpt__filters_8c.html
share/doc/qsmtp/html/reply_8c.html
share/doc/qsmtp/html/smtpbugs_8c.html
share/doc/qsmtp/html/smtproutes_8c.html
share/doc/qsmtp/html/spf_8c.html
share/doc/qsmtp/html/splitbar.png
share/doc/qsmtp/html/ssl__timeoutio_8c.html
share/doc/qsmtp/html/ssl__timeoutio_8h.html
share/doc/qsmtp/html/ssl__timeoutio_8h_source.html
share/doc/qsmtp/html/sstring_8h.html
share/doc/qsmtp/html/sstring_8h_source.html
share/doc/qsmtp/html/starttls_8c.html
share/doc/qsmtp/html/starttls_8h.html
share/doc/qsmtp/html/starttls_8h_source.html
share/doc/qsmtp/html/starttlsr_8c.html
share/doc/qsmtp/html/starttlsr_8h.html
share/doc/qsmtp/html/starttlsr_8h_source.html
share/doc/qsmtp/html/status_8c.html
share/doc/qsmtp/html/statuscodes_8h.html
share/doc/qsmtp/html/statuscodes_8h_source.html
share/doc/qsmtp/html/structauthcmd.html
share/doc/qsmtp/html/structcstring.html
share/doc/qsmtp/html/structdaneinfo.html
share/doc/qsmtp/html/structdns__wc.html
share/doc/qsmtp/html/structips.html
share/doc/qsmtp/html/structrecip.html
share/doc/qsmtp/html/structsmtpcomm.html
share/doc/qsmtp/html/structstring.html
share/doc/qsmtp/html/structuserconf.html
share/doc/qsmtp/html/structxmitstat.html
share/doc/qsmtp/html/sync_off.png
share/doc/qsmtp/html/sync_on.png
share/doc/qsmtp/html/syntax_8c.html
share/doc/qsmtp/html/syntax_8h.html
share/doc/qsmtp/html/syntax_8h_source.html
share/doc/qsmtp/html/tab_a.png
share/doc/qsmtp/html/tab_b.png
share/doc/qsmtp/html/tab_h.png
share/doc/qsmtp/html/tab_s.png
share/doc/qsmtp/html/tabs.css
share/doc/qsmtp/html/tls_8c.html
share/doc/qsmtp/html/tls_8h.html
share/doc/qsmtp/html/tls_8h_source.html
share/doc/qsmtp/html/userconf_8h.html
share/doc/qsmtp/html/userconf_8h_source.html
share/doc/qsmtp/html/userfilters_8h.html
share/doc/qsmtp/html/userfilters_8h_source.html
share/doc/qsmtp/html/utf8_8c.html
share/doc/qsmtp/html/version_8h.html
share/doc/qsmtp/html/version_8h_source.html
share/doc/qsmtp/html/vpop_8c.html
share/doc/qsmtp/html/vpop_8h.html
share/doc/qsmtp/html/vpop_8h_source.html
share/doc/qsmtp/html/xtext_8c.html
share/doc/qsmtp/html/xtext_8h.html
share/doc/qsmtp/html/xtext_8h_source.html

7
mail/qsmtp/distinfo Normal file
View file

@ -0,0 +1,7 @@
$NetBSD: distinfo,v 1.1 2020/01/07 08:15:30 schmonz Exp $
SHA1 (Qsmtp-0.37.tar.xz) = 768567e10adf47d651735bd8e7289a6b8a18d24a
RMD160 (Qsmtp-0.37.tar.xz) = abf841db63e94142f309fcac93c29a29c1a4d692
SHA512 (Qsmtp-0.37.tar.xz) = 911d9d956ef7d0c6ad150745db489dd96eca0b665d99c0db648b4382c0d21fc759ad4a138e7adf69c6749574ad619114e7f06f62c131d0ae103e9b0493d39ef3
Size (Qsmtp-0.37.tar.xz) = 250100 bytes
SHA1 (patch-CMakeLists.txt) = de0a0f4acd99e1573937063fd89fec3caa4232e3

View file

@ -0,0 +1,17 @@
$NetBSD: patch-CMakeLists.txt,v 1.1 2020/01/07 08:15:30 schmonz Exp $
Support PKGMANDIR.
--- CMakeLists.txt.orig 2020-01-06 19:19:59.000000000 +0000
+++ CMakeLists.txt
@@ -220,8 +220,8 @@ if (BUILD_DOC)
install(FILES
${CMAKE_CURRENT_BINARY_DIR}/Qremote.8
${CMAKE_CURRENT_BINARY_DIR}/Qsmtpd.8
- DESTINATION man/man8)
+ DESTINATION ${CMAKE_INSTALL_MANDIR}/man8)
install(FILES
${CMAKE_CURRENT_BINARY_DIR}/filterconf.5
- DESTINATION man/man5)
+ DESTINATION ${CMAKE_INSTALL_MANDIR}/man5)
endif ()