You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@spamassassin.apache.org by bu...@bugzilla.spamassassin.org on 2017/08/18 19:25:25 UTC
[Bug 7460] New: TxRep can't use SQLBasedAddrList: error "illegal
factory module"
https://bz.apache.org/SpamAssassin/show_bug.cgi?id=7460
Bug ID: 7460
Summary: TxRep can't use SQLBasedAddrList: error "illegal
factory module"
Product: Spamassassin
Version: 3.4.1
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P2
Component: Plugins
Assignee: dev@spamassassin.apache.org
Reporter: ce@lcts.de
Target Milestone: Undefined
Created attachment 5460
--> https://bz.apache.org/SpamAssassin/attachment.cgi?id=5460&action=edit
SpamAssassin config file local.cf & log dump
As discussed on the mailing list [1], when using the SQLBasedAddrList factory
module, TxRep fails with
TxRep: illegal factory setting
TxRep: could not open storages, quitting!
TxRep: illegal factory setting
TxRep: could not open storages, quitting!
Use of uninitialized value in addition (+) at
/usr/share/perl5/vendor_perl/Mail/SpamAssassin/Plugin/TxRep.pm line 1329,
<GEN11> line 28.
(last three errors repeated for TxRep.pm lines 1330,1331,1334)
TxRep configuration in local.cf:
# use TxRep for reputation-based score normalisation
header TXREP eval:check_senders_reputation()
describe TXREP Score normalizing based on sender's
reputation
tflags TXREP userconf noautolearn
priority TXREP 1000
txrep_factory module Mail::SpamAssassin::SQLBasedAddrList
user_awl_dsn DBI:mysql:<spamdb>:localhost
user_awl_sql_username <user>
user_awl_sql_password <pw>
user_awl_sql_table txrep
The table 'txrep' is set up in <spamdb> with columns
username,email,ip,count,totscore,signedby,last_hit, and <user> has (for testing
purposes) full privileges on <spamdb>. The same database & user are used for
SQL-based Bayes storage, which works without issues, as does direct database
access via 'mysql -u <user> -p <pw> localhost <spamdb>'. Preferences are for
the most part read from a SQL-database as well, also without issues.
Spamassassin is integrated into postfix via a pipe call to spamc. Normal &
Bayes filtering works without issues. Using Amavis instead of SA directly makes
no difference.
The db setup is as follows:
MariaDB [<spamdb>]> show tables; describe txrep;
+-------------------+
| Tables_in_<spamdb>|
+-------------------+
| bayes_expire |
| bayes_global_vars |
| bayes_seen |
| bayes_token |
| bayes_vars |
| txrep |
+-------------------+
6 rows in set (0.01 sec)
+----------+--------------+------+-----+-------------------+-----------------------------+
| Field | Type | Null | Key | Default | Extra
|
+----------+--------------+------+-----+-------------------+-----------------------------+
| username | varchar(100) | NO | PRI | NULL |
|
| email | varchar(191) | NO | PRI | NULL |
|
| ip | varchar(48) | NO | PRI | NULL |
|
| count | int(11) | NO | | 0 |
|
| totscore | float | NO | | 0 |
|
| signedby | varchar(191) | NO | PRI | NULL |
|
| last_hit | timestamp | NO | | CURRENT_TIMESTAMP | on update
CURRENT_TIMESTAMP |
+----------+--------------+------+-----+-------------------+-----------------------------+
7 rows in set (0.00 sec)
( email, signedby are varchar(191) because I'm using utf8mb4, which only allows
191-character indices )
Program versions:
OS: Arch Linux running kernel 4.12.8
Spamassassin: 3.4.1
MySQL: MariaDB 10.1.26
Perl: 5.26.0
Postfix: 3.2.2
I've attached full logs & SpamAssassin config file.
[1]
https://mail-archives.apache.org/mod_mbox/spamassassin-users/201708.mbox/%3cacbeb190-e64c-fd6d-8654-a326f7b55ce6@lcts.de%3e
--
You are receiving this mail because:
You are the assignee for the bug.
[Bug 7460] TxRep can't use SQLBasedAddrList: error "illegal factory
module"
Posted by bu...@bugzilla.spamassassin.org.
https://bz.apache.org/SpamAssassin/show_bug.cgi?id=7460
Kevin A. McGrail <km...@apache.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |kmcgrail@apache.org
--- Comment #1 from Kevin A. McGrail <km...@apache.org> ---
You have txrep_factory module...
In my config, I have txrep_factory
Mail::SpamAssassin::SQLBasedAddrList
That extra word module looks like the issue to me.
Does removing it help? Is there a reason you have the word module there? A
bad doc somewhere?
--
You are receiving this mail because:
You are the assignee for the bug.
[Bug 7460] TxRep can't use SQLBasedAddrList: error "illegal factory
module"
Posted by bu...@bugzilla.spamassassin.org.
https://bz.apache.org/SpamAssassin/show_bug.cgi?id=7460
Giovanni Bechis <gi...@paclan.it> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution|--- |WORKSFORME
--- Comment #3 from Giovanni Bechis <gi...@paclan.it> ---
I think this is a typo or a configuration error.
--
You are receiving this mail because:
You are the assignee for the bug.
[Bug 7460] TxRep can't use SQLBasedAddrList: error "illegal factory
module"
Posted by bu...@bugzilla.spamassassin.org.
https://bz.apache.org/SpamAssassin/show_bug.cgi?id=7460
Giovanni Bechis <gi...@paclan.it> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |giovanni@paclan.it
--- Comment #2 from Giovanni Bechis <gi...@paclan.it> ---
I think the user has misinterpreted this section of the man page:
------------------------------------------------------------------------------
ADMINISTRATOR SETTINGS
These settings differ from the ones above, in that they are considered
'more privileged' -- even more than the ones in the PRIVILEGED SETTINGS
section. No matter what "allow_user_rules" is set to, these can never
be set from a user's "user_prefs" file.
txrep_factory module
(default: Mail::SpamAssassin::DBBasedAddrList)
Select alternative database factory module for the TxRep database.
------------------------------------------------------------------------------
--
You are receiving this mail because:
You are the assignee for the bug.