pkgsrc/mail/rspamd/Makefile
fhajny 551ad1601b Update mail/rspamd to 1.6.5.
1.6.5: 22 Oct 2017
- [CritFix] Another portion of tokenization fixes
- [CritFix] Fix memory leak in spf caching logic
- [CritFix] Fix milter commands pipelining
- [CritFix] Fix newlines detection
- [Feature] Filter nan and inf when adding scores
- [Feature] Implement headers flags in mime parser
- [Feature] Support Expires header when using HTTP maps
- [Fix] Actively load skip hashes map in fuzzy storage
- [Fix] Add workaround for IPv6 in sendmail
- [Fix] Authentication Results: Fix SPF smtp.mail_from
- [Fix] Check for magic when checking for an archive
- [Fix] Deal with another case when processing exceptions
- [Fix] Deal with URLs with no slashes after protocol
- [Fix] Do not allow garbadge when checking url domain
- [Fix] Do not ignore short words
- [Fix] Do not strip last character in the last word
- [Fix] Do not treat script content as text
- [Fix] Erase unknown HTML entities
- [Fix] Fix another tokenization issue
- [Fix] Fix DKIM forgeries via multiple headers
- [Fix] Fix emails detection
- [Fix] Fix empty threshold check in greylisting module
- [Fix] Fix enormous scores for R_WHITE_ON_WHITE
- [Fix] Fix loading of per-user redis backend for statistics
- [Fix] Fix multiple headers in DKIM headers list
- [Fix] Fix obscured url in format user@@example.com
- [Fix] Further tokenization fixes
- [Fix] Load skip map from all processes as shared cache is
  unavailable
- [Fix] Lowercase words
- [Fix] Milter headers: skip_local / skip_authenticated settings
- [Fix] Milter headers: X-Spamd-Result header if X-Virus ran first
- [Fix] Ratelimit: fix whitelisted_rcpts matching
- [Fix] Some more fixes towards emails detection
- [Fix] SpamAssassin: Fail check_freemail_header if regexp didn't
  match
- [Fix] Use greylisting threshold in greylisting module

1.6.4: 10 Sep 2017
- [Feature] Add method to get all content-type attributes in Lua
- [Feature] Add some sanity checks for actions and controller
- [Feature] Allow randomly select User-Agent from a list
- [Feature] Deal with obscured URLs with @ symbols
- [Feature] Milter headers: support adding/removing arbitrary headers
  from config
- [Fix] Add another workaround to display history properly
- [Fix] Add missing rspamadm control options to help
- [Fix] Auth-Results: Multiple DKIM signatures
- [Fix] Crash in URL processing
- [Fix] Default monitoring domain for surbl plugin
- [Fix] Detection of maillist optimized and fixed
- [Fix] Do not cache SPF records with PTR elements
- [Fix] Fix blacklists and DMARC in whitelist
- [Fix] Fix exceptions list in surbl
- [Fix] Fix processing of closed tags
- [Fix] Fix PTR processing in SPF
- [Fix] Lowercase HTTP headers to make them searchable from Lua
- [Fix] options.local_networks setting
- [Fix] Ratelimit: lowercase email addresses
- [Fix] Rebalance and slightly rework MX check plugin
- [Fix] Redis script loading in DMARC; URL tags; URL reputation
- [Fix] Reject invalid bh for DKIM signatures earlier
- [Fix] Remove incorrect method `task:set_metric_subject`
- [Fix] Rewriting subjects via force actions module
- [Fix] RPM postinstall
- [Fix] Treat 'rewrite subject' as spam action
- [Fix] Try harder to find urls
- [Fix] Use full URL when making an HTTP request
- [Fix] Use raw urls when sending requests to redirector
- [Fix] Use weight from map for fuzzy scoring
- [Rules] Penalise R_BAD_CTE_7BIT for utf8 messages

1.6.3: 26 Jul 2017
- [CritFix] Fix semicolons parsing in the content type
- [Feature] Add EBL to the default config
- [Feature] Allow to configure monitored
- [Feature] Allow to skip specific hashes in fuzzy storage
- [Feature] Multimap: checking of symbol options
- [Feature] Redis settings: support checking multiple keys
- [Fix] ARC: Fix Lua 5.3 compatibility; timestamp should be integer
- [Fix] Avoid changing content-transfer-encoding header's value
- [Fix] Don't use whitelist/greylist maps as regexp, but as map
- [Fix] Fix get_content method
- [Fix] Header checks: Fix get_raw_header method
- [Fix] Header checks: REPLYTO_UNPARSEABLE rule
- [Fix] Lua_http: freeing
- [Fix] Milter headers: custom headers: removing headers
- [Fix] Parse HREF urls without explicit prefix
- [Fix] WHITE_ON_WHITE: Ensure score is matched to part that fired the
  rule
- [WebUI] Escape strings inside HTML in history

1.6.2: 08 Jul 2017
- [Conf] Remove Rambler email bl for now
- [Conf] Switch RAMBLER_URIBL to a locally managed source
- [CritFix] Switch from ragel to C for Content-Type parsing
- [Feature] Add `-e` option for lua_repl
- [Feature] Add per-domain emails normalisation rules
- [Feature] Add sessions cache to debug dangling sessions
- [Feature] Add short_text_direct_hash for fuzzy check module
- [Feature] Add text_part:get_stats function
- [Feature] Allow to add custom processing script for surbl
- [Feature] Allow to check reply-to email
- [Feature] Allow to customize spam header, remove existing spam
  headers
- [Feature] Allow to disable specific workers in the config
- [Feature] Allow to discard messages instead of rejection
- [Feature] Allow to specify custom delimiter in emails plugin
- [Feature] Allow to specify custom User-Agent for rspamc
- [Feature] Allow to store symbols data in Clickhouse
- [Feature] Allow to use HTTPS when connecting to Clickhouse
- [Feature] Enable sessions cache tracking for milter connections
- [Feature] Implement per-line mode in lua_repl (like `perl -p`)
- [Feature] Implement rdns-curve plugin based on rspamd cryptobox
- [Feature] Improve maps cached data lifetime
- [Feature] Improve maps checking frequency
- [Feature] Improve monitored timeouts logic
- [Feature] milter_headers: add `extended_headers_rcpt` option
- [Feature] Milter headers: Add X-Spam-Flag to rmilter-compatibility
  headers
- [Feature] Milter headers: remove-header routine
- [Feature] Multimap: received filters for extracting TLDs from
  hostnames
- [Feature] Normalize email aliases in emails module
- [Feature] Re-add rambler email bl (as hashed list)
- [Feature] Reload file maps more frequently
- [Feature] Rework newlines strip parser one more time
- [Feature] Skip updates for messages scanned via controller
- [Feature] Split long DKIM public keys
- [Feature] Store more data when stripping newlines
- [Feature] Support SPF macros transformations
- [Feature] Support suppressing DMARC reports for some domains
- [Fix] Add missing `break` statement
- [Fix] Allow modifiers in SPF macros
- [Fix] DKIM sign tools: edge-cases around use_esld
- [Fix] Do not cache SPF records with macros
- [Fix] Do not overwrite score when setting pre-action
- [Fix] Fix comparison logic
- [Fix] Fix DKIM base64 folding for milter flagged messages
- [Fix] Fix emails module configuration
- [Fix] Fix folding for arc headers when milter interface is used
- [Fix] Fix gmail dots removal
- [Fix] Fix rspamc detection in greylist module
- [Fix] Fix some more issues with HTTP maps
- [Fix] Milter sessions can live forever
- [Fix] Normalize fuzzy probability better
- [Fix] Plug memory leak
- [Fix] RBL: Fixed hashed email address lookups
- [Fix] Try to deal with brain-damaged milter behaviour
- [Fix] Use `\n` to fold headers for milter
- [Rework] Allow to use custom callback for monitored checks
- [Rework] Further steps towards one process monitoring
- [Rework] Send health checks from a single worker
- [WebUI] Round-up throughput summary values
2018-02-01 09:58:11 +00:00

144 lines
7.4 KiB
Makefile

# $NetBSD: Makefile,v 1.34 2018/02/01 09:58:11 fhajny Exp $
DISTNAME= rspamd-1.6.5
CATEGORIES= mail
MASTER_SITES= ${MASTER_SITE_GITHUB:=vstakhov/}
MAINTAINER= bartosz.kuzma@gmail.com
HOMEPAGE= https://www.rspamd.com/
COMMENT= Fast, free and open-source spam filtering system
LICENSE= 2-clause-bsd
.include "options.mk"
DEPENDS+= ${LUA_PKGPREFIX}-lpeg-[0-9]*:../../devel/lua-lpeg
DEPENDS+= ragel-[0-9]*:../../devel/ragel
USE_CMAKE= yes
USE_TOOLS+= perl pkg-config
USE_LANGUAGES= c99
BUILD_DEFS+= VARBASE
LUA_VERSIONS_ACCEPTED= 53
CPPFLAGS.SunOS+= -D__EXTENSIONS__
LDFLAGS+= ${COMPILER_RPATH_FLAG}${PREFIX}/lib/rspamd
TEST_TARGET= run-test
RSPAMD_USER?= rspamd
RSPAMD_GROUP?= rspamd
PKG_GROUPS= ${RSPAMD_GROUP}
PKG_USERS= ${RSPAMD_USER}:${RSPAMD_GROUP}
PKG_GROUPS_VARS= RSPAMD_GROUP
PKG_USERS_VARS= RSPAMD_USER
PKG_GECOS.${RSPAMD_USER}= rspamd user
PKG_SYSCONFSUBDIR= rspamd
EGDIR= ${PREFIX}/share/examples/${PKGBASE}
LOGDIR= ${VARBASE}/log/rspamd
DBDIR= ${VARBASE}/db/rspamd
RUNDIR= ${VARBASE}/run/rspamd
FILES_SUBST+= RSPAMD_USER=${RSPAMD_USER}
FILES_SUBST+= RSPAMD_GROUP=${RSPAMD_GROUP}
RCD_SCRIPTS= rspamd
CMAKE_ARGS+= -DMANDIR:PATH=${PREFIX}/${PKGMANDIR}
CMAKE_ARGS+= -DLOGDIR:PATH=${LOGDIR}
CMAKE_ARGS+= -DRUNDIR:PATH=${VARBASE}/run/rspamd
CMAKE_ARGS+= -DDBDIR:PATH=${DBDIR}
CMAKE_ARGS+= -DCONFDIR:PATH=${PKG_SYSCONFDIR}
CMAKE_ARGS+= -DRSPAMD_USER=${RSPAMD_USER}
CMAKE_ARGS+= -DRSPAMD_GROUP=${RSPAMD_GROUP}
CMAKE_ARGS+= -DENABLE_LUAJIT=OFF
CMAKE_ARGS+= -DENABLE_SQLITE=ON
REPLACE_PERL+= utils/rspamd_stats.pl
MAKE_DIRS+= ${PKG_SYSCONFDIR}/modules.d
OWN_DIRS_PERMS+= ${DBDIR} ${RSPAMD_USER} ${RSPAMD_GROUP} 0700
OWN_DIRS_PERMS+= ${LOGDIR} ${RSPAMD_USER} ${RSPAMD_GROUP} 0750
OWN_DIRS_PERMS+= ${RUNDIR} ${RSPAMD_USER} ${RSPAMD_GROUP} 0755
CONF_FILES= ${EGDIR}/2tld.inc ${PKG_SYSCONFDIR}/2tld.inc
CONF_FILES+= ${EGDIR}/common.conf ${PKG_SYSCONFDIR}/common.conf
CONF_FILES+= ${EGDIR}/composites.conf ${PKG_SYSCONFDIR}/composites.conf
CONF_FILES+= ${EGDIR}/dmarc_whitelist.inc ${PKG_SYSCONFDIR}/dmarc_whitelist.inc
CONF_FILES+= ${EGDIR}/logging.inc ${PKG_SYSCONFDIR}/logging.inc
CONF_FILES+= ${EGDIR}/maillist.inc ${PKG_SYSCONFDIR}/maillist.inc
CONF_FILES+= ${EGDIR}/metrics.conf ${PKG_SYSCONFDIR}/metrics.conf
CONF_FILES+= ${EGDIR}/mid.inc ${PKG_SYSCONFDIR}/mic.inc
CONF_FILES+= ${EGDIR}/mime_types.inc ${PKG_SYSCONFDIR}/mime_types.inc
CONF_FILES+= ${EGDIR}/modules.conf ${PKG_SYSCONFDIR}/modules.conf
CONF_FILES+= ${EGDIR}/options.inc ${PKG_SYSCONFDIR}/options.inc
CONF_FILES+= ${EGDIR}/redirectors.inc ${PKG_SYSCONFDIR}/redirectors.inc
CONF_FILES+= ${EGDIR}/rspamd.conf ${PKG_SYSCONFDIR}/rspamd.conf
CONF_FILES+= ${EGDIR}/spf_dkim_whitelist.inc ${PKG_SYSCONFDIR}/spf_dkim_whitelist.inc
CONF_FILES+= ${EGDIR}/statistic.conf ${PKG_SYSCONFDIR}/statistic.conf
CONF_FILES+= ${EGDIR}/surbl-whitelist.inc ${PKG_SYSCONFDIR}/surbl-whitelist.inc
CONF_FILES+= ${EGDIR}/worker-controller.inc ${PKG_SYSCONFDIR}/worker-controller.inc
CONF_FILES+= ${EGDIR}/worker-fuzzy.inc ${PKG_SYSCONFDIR}/worker-fuzzy.inc
CONF_FILES+= ${EGDIR}/worker-normal.inc ${PKG_SYSCONFDIR}/worker-normal.inc
CONF_FILES+= ${EGDIR}/worker-proxy.inc ${PKG_SYSCONFDIR}/worker-proxy.inc
CONF_FILES+= ${EGDIR}/modules.d/antivirus.conf ${PKG_SYSCONFDIR}/modules.d/antivirus.conf
CONF_FILES+= ${EGDIR}/modules.d/arc.conf ${PKG_SYSCONFDIR}/modules.d/arc.conf
CONF_FILES+= ${EGDIR}/modules.d/asn.conf ${PKG_SYSCONFDIR}/modules.d/asn.conf
CONF_FILES+= ${EGDIR}/modules.d/chartable.conf ${PKG_SYSCONFDIR}/modules.d/chartable.conf
CONF_FILES+= ${EGDIR}/modules.d/clickhouse.conf ${PKG_SYSCONFDIR}/modules.d/clickhouse.conf
CONF_FILES+= ${EGDIR}/modules.d/dcc.conf ${PKG_SYSCONFDIR}/modules.d/dcc.conf
CONF_FILES+= ${EGDIR}/modules.d/dkim.conf ${PKG_SYSCONFDIR}/modules.d/dkim.conf
CONF_FILES+= ${EGDIR}/modules.d/dkim_signing.conf ${PKG_SYSCONFDIR}/modules.d/dkim_signing.conf
CONF_FILES+= ${EGDIR}/modules.d/dmarc.conf ${PKG_SYSCONFDIR}/modules.d/dmarc.conf
CONF_FILES+= ${EGDIR}/modules.d/emails.conf ${PKG_SYSCONFDIR}/modules.d/emails.conf
CONF_FILES+= ${EGDIR}/modules.d/fann_redis.conf ${PKG_SYSCONFDIR}/modules.d/fann_redis.conf
CONF_FILES+= ${EGDIR}/modules.d/force_actions.conf ${PKG_SYSCONFDIR}/modules.d/force_actions.conf
CONF_FILES+= ${EGDIR}/modules.d/forged_recipients.conf ${PKG_SYSCONFDIR}/modules.d/forged_recipients.conf
CONF_FILES+= ${EGDIR}/modules.d/fuzzy_check.conf ${PKG_SYSCONFDIR}/modules.d/fuzzy_check.conf
CONF_FILES+= ${EGDIR}/modules.d/greylist.conf ${PKG_SYSCONFDIR}/modules.d/greylist.conf
CONF_FILES+= ${EGDIR}/modules.d/hfilter.conf ${PKG_SYSCONFDIR}/modules.d/hfilter.conf
CONF_FILES+= ${EGDIR}/modules.d/ip_score.conf ${PKG_SYSCONFDIR}/modules.d/ip_score.conf
CONF_FILES+= ${EGDIR}/modules.d/maillist.conf ${PKG_SYSCONFDIR}/modules.d/maillist.conf
CONF_FILES+= ${EGDIR}/modules.d/metadata_exporter.conf ${PKG_SYSCONFDIR}/modules.d/metadata_exporter.conf
CONF_FILES+= ${EGDIR}/modules.d/metric_exporter.conf ${PKG_SYSCONFDIR}/modules.d/metric_exporter.conf
CONF_FILES+= ${EGDIR}/modules.d/mid.conf ${PKG_SYSCONFDIR}/modules.d/mid.conf
CONF_FILES+= ${EGDIR}/modules.d/milter_headers.conf ${PKG_SYSCONFDIR}/modules.d/milter_headers.conf
CONF_FILES+= ${EGDIR}/modules.d/mime_types.conf ${PKG_SYSCONFDIR}/modules.d/mime_types.conf
CONF_FILES+= ${EGDIR}/modules.d/multimap.conf ${PKG_SYSCONFDIR}/modules.d/multimap.conf
CONF_FILES+= ${EGDIR}/modules.d/mx_check.conf ${PKG_SYSCONFDIR}/modules.d/mx_check.conf
CONF_FILES+= ${EGDIR}/modules.d/once_received.conf ${PKG_SYSCONFDIR}/modules.d/once_received.conf
CONF_FILES+= ${EGDIR}/modules.d/phishing.conf ${PKG_SYSCONFDIR}/modules.d/phishing.conf
CONF_FILES+= ${EGDIR}/modules.d/ratelimit.conf ${PKG_SYSCONFDIR}/modules.d/ratelimit.conf
CONF_FILES+= ${EGDIR}/modules.d/rbl.conf ${PKG_SYSCONFDIR}/modules.d/rbl.conf
CONF_FILES+= ${EGDIR}/modules.d/redis.conf ${PKG_SYSCONFDIR}/modules.d/redis.conf
CONF_FILES+= ${EGDIR}/modules.d/regexp.conf ${PKG_SYSCONFDIR}/modules.d/regexp.conf
CONF_FILES+= ${EGDIR}/modules.d/replies.conf ${PKG_SYSCONFDIR}/modules.d/replies.conf
CONF_FILES+= ${EGDIR}/modules.d/rspamd_update.conf ${PKG_SYSCONFDIR}/modules.d/rspamd_update.conf
CONF_FILES+= ${EGDIR}/modules.d/spamassassin.conf ${PKG_SYSCONFDIR}/modules.d/spamassassin.conf
CONF_FILES+= ${EGDIR}/modules.d/spamtrap.conf ${PKG_SYSCONFDIR}/modules.d/spamtrap.conf
CONF_FILES+= ${EGDIR}/modules.d/spf.conf ${PKG_SYSCONFDIR}/modules.d/spf.conf
CONF_FILES+= ${EGDIR}/modules.d/surbl.conf ${PKG_SYSCONFDIR}/modules.d/surbl.conf
CONF_FILES+= ${EGDIR}/modules.d/trie.conf ${PKG_SYSCONFDIR}/modules.d/trie.conf
CONF_FILES+= ${EGDIR}/modules.d/url_redirector.conf ${PKG_SYSCONFDIR}/modules.d/url_redirector.conf
CONF_FILES+= ${EGDIR}/modules.d/url_reputation.conf ${PKG_SYSCONFDIR}/modules.d/url_reputation.conf
CONF_FILES+= ${EGDIR}/modules.d/url_tags.conf ${PKG_SYSCONFDIR}/modules.d/url_tags.conf
CONF_FILES+= ${EGDIR}/modules.d/whitelist.conf ${PKG_SYSCONFDIR}/modules.d/whitelist.conf
post-extract:
${FIND} ${WRKSRC}/conf -type d -exec ${CHMOD} ${PKGDIRMODE} {} \;
${FIND} ${WRKSRC}/conf -type f -exec ${CHMOD} ${DOCMODE} {} \;
.include "../../databases/hiredis/buildlink3.mk"
.include "../../databases/sqlite3/buildlink3.mk"
.include "../../devel/fann/buildlink3.mk"
.include "../../devel/glib2/buildlink3.mk"
.include "../../devel/libevent/buildlink3.mk"
.include "../../lang/lua/buildlink3.mk"
.include "../../mail/gmime/buildlink3.mk"
.include "../../security/openssl/buildlink3.mk"
.include "../../sysutils/file/buildlink3.mk"
.include "../../textproc/icu/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"