Symptoms
SpamAssasin may fail to start on new installations suggesting a run of sa-update
. However, sa-update
fails with a lint check failure due to an invalid regex.
# /usr/local/cpanel/3rdparty/bin/sa-update
config: invalid regexp for __URI_TRY_3LD 'm,^https?://(?:try(?!r\.codeschool)|start|get(?!\.adobe)|save|check(?!out)|act|compare|join|learn(?!ing)|request|visit(?!or|\.vermont)|my(?!sub|turbotax|news\.apple|a\.godaddy|account|support|build|blob)\w)[^.]*\.[^/]+\.(?<!list-manage\.)(?:com|net)\b,i': Variable length lookbehind is experimental in regex; marked by <-- HERE in m/(?i)^https?://(?:try(?!r\.codeschool)|start|get(?!\.adobe)|save|check(?!out)|act|compare|join|learn(?!ing)|request|visit(?!or|\.vermont)|my(?!sub|turbotax|news\.apple|a\.godaddy|account|support|build|blob)\w)[^.]*\.[^/]+\.(?<!list-manage\.)(?:com|net)\b <-- HERE /
channel 'updates.spamassassin.org': lint check of update failed, channel failed
Description
The sa-update
utility which is responsible for installing SpamAssassin rules fails when linting (validating) the ruleset. This prevents sa-update
from successfully installing the ruleset, which then prevents spamd
from starting, due to missing configuration files:
[root@server /]# ls -lah /var/lib/spamassassin/3.004004/updates_spamassassin_org/
total 380K
drwxr-xr-x 2 root root 102 Feb 19 15:38 .
drwxr-xr-x 3 root root 38 Feb 19 15:37 ..
-rw-r--r-- 1 root root 366K Feb 18 20:56 1898171.tar.gz
-rw-r--r-- 1 root root 833 Feb 18 20:56 1898171.tar.gz.asc
-rw-r--r-- 1 root root 201 Feb 18 20:56 1898171.tar.gz.sha512
-rw-r--r-- 1 root root 1.4K Feb 19 15:37 MIRRORED.BY
The full details of this failure can be examined in the original defect report here:
https://bz.apache.org/SpamAssassin/show_bug.cgi?id=7956
We've opened an internal case for our development team to investigate this further. For reference, the case number is UPS-429. Follow this article to receive an email notification when a solution is published in the product.
Workaround
spamd
is failing to start in a new installation, you can workaround this by reverting to the prior working rule version. The following has been tested and confirmed to replace the ruleset and successfully restart spamd
:cp -av /var/lib/spamassassin /var/lib/spamassassin.$(date -u +%Y%m%d%H%M%S%Z) && cd /var/lib/spamassassin/3.004004/updates_spamassassin_org && wget -N http://sa-update.spamassassin.org/1898122.tar.gz{,.sha256,.sha512,.asc} && /usr/local/cpanel/3rdparty/bin/sa-update --verbose --install /var/lib/spamassassin/3.004004/updates_spamassassin_org/1898122.tar.gz && /usr/local/cpanel/scripts/restartsrv_spamd --restart