Discussion:
problems with MySQLUIDInSignature and single spam alias
Ing. Daniel Manrique
2005-07-20 18:49:15 UTC
Permalink
Hey! I'm trying to configure dspam 3.5.2 on a qmail-based system and I've
run into a problem trying to configure a single spam alias
(***@mydomain.com) using MySQLUIDInSignature.

My dspam configuration is as follows:

./configure --prefix=/usr/local/dspam/ --with-storage-driver=mysql_drv \
--enable-debug --with-mysql-includes=/usr/local/include/mysql/ \
--with-mysql-libraries=/usr/local/lib/mysql/ --enable-virtual-users \
--enable-preferences-extension --enable-neural-networking


dspam is actually working; however the single spam alias feature is not.
The readme says to configure something like:

|/usr/local/bin/dspam --user root --class=spam --source=error

it says:

"The 'root' user represents any existing user on the system. It is
necessary to supply a username on the commandline or DSPAM will bail on an
error, however the user will be changed internally once the signature is
read."


However I've found this doesn't work as advertised; I still have to pass
the correct --user parameter.

My global spam alias runs as user "alias" (a qmail system) and as such,
dspam gets run as "alias" (which is on the list of trusted users) and I
get the following error:

1025: [07/20/2005 13:41:42] Signature retrieval for
'1,42de98d72747865519259' failed
1025: [07/20/2005 13:41:42] Unable to find a valid signature. Aborting.
1025: [07/20/2005 13:41:42] process_message returned error -5. dropping
message.

This happens whenever the user I specified with "--user" is different from
the user who received the email; if, say, the email belongs to john, the
only way to get dspam to process this correctly is to say "--user john" on
the command line.

if I give each user a user-spam configuration (with a .qmail-file), so
that dspam gets invoked as that particular user, everything works fine.
However this defeats the announced purpose of the single spam alias.

can someone suggest a solution to this problem? is the MySQLUIDInSignature
feature not working? I see the correct user id as part of the signature
however dspam doesn't seem to be "switching" to that user for the
remainder of the process and so when it tries to match the signature to
the working user.

thanks in advance!

- Roadmaster
Elvar
2005-07-20 18:52:37 UTC
Permalink
I'm not sure we I have the same problem as you but I know whenever I send an
email to spam-user to train the filter I see the same errors in the maillog
as you regarding signatures.


Patrick

-----Original Message-----
From: owner-dspam-***@lists.nuclearelephant.com
[mailto:owner-dspam-***@lists.nuclearelephant.com] On Behalf Of Ing.
Daniel Manrique
Sent: Wednesday, July 20, 2005 1:49 PM
To: dspam-***@lists.nuclearelephant.com
Subject: [dspam-users] problems with MySQLUIDInSignature and single spam
alias


Hey! I'm trying to configure dspam 3.5.2 on a qmail-based system and I've
run into a problem trying to configure a single spam alias
(***@mydomain.com) using MySQLUIDInSignature.

My dspam configuration is as follows:

./configure --prefix=/usr/local/dspam/ --with-storage-driver=mysql_drv \
--enable-debug --with-mysql-includes=/usr/local/include/mysql/ \
--with-mysql-libraries=/usr/local/lib/mysql/ --enable-virtual-users \
--enable-preferences-extension --enable-neural-networking


dspam is actually working; however the single spam alias feature is not.
The readme says to configure something like:

|/usr/local/bin/dspam --user root --class=spam --source=error

it says:

"The 'root' user represents any existing user on the system. It is
necessary to supply a username on the commandline or DSPAM will bail on an
error, however the user will be changed internally once the signature is
read."


However I've found this doesn't work as advertised; I still have to pass
the correct --user parameter.

My global spam alias runs as user "alias" (a qmail system) and as such,
dspam gets run as "alias" (which is on the list of trusted users) and I
get the following error:

1025: [07/20/2005 13:41:42] Signature retrieval for
'1,42de98d72747865519259' failed
1025: [07/20/2005 13:41:42] Unable to find a valid signature. Aborting.
1025: [07/20/2005 13:41:42] process_message returned error -5. dropping
message.

This happens whenever the user I specified with "--user" is different from
the user who received the email; if, say, the email belongs to john, the
only way to get dspam to process this correctly is to say "--user john" on
the command line.

if I give each user a user-spam configuration (with a .qmail-file), so
that dspam gets invoked as that particular user, everything works fine.
However this defeats the announced purpose of the single spam alias.

can someone suggest a solution to this problem? is the MySQLUIDInSignature
feature not working? I see the correct user id as part of the signature
however dspam doesn't seem to be "switching" to that user for the
remainder of the process and so when it tries to match the signature to
the working user.

thanks in advance!

- Roadmaster
Bob Dodds
2005-07-20 22:23:16 UTC
Permalink
Post by Ing. Daniel Manrique
Hey! I'm trying to configure dspam 3.5.2 on a qmail-based system and I've
run into a problem trying to configure a single spam alias
./configure --prefix=/usr/local/dspam/ --with-storage-driver=mysql_drv \
--enable-debug --with-mysql-includes=/usr/local/include/mysql/ \
--with-mysql-libraries=/usr/local/lib/mysql/ --enable-virtual-users \
--enable-preferences-extension --enable-neural-networking
dspam is actually working; however the single spam alias feature is not.
|/usr/local/bin/dspam --user root --class=spam --source=error
"The 'root' user represents any existing user on the system. It is
necessary to supply a username on the commandline or DSPAM will bail on an
error, however the user will be changed internally once the signature is
read."
However I've found this doesn't work as advertised; I still have to pass
the correct --user parameter.
My global spam alias runs as user "alias" (a qmail system) and as such,
dspam gets run as "alias" (which is on the list of trusted users) and I
1025: [07/20/2005 13:41:42] Signature retrieval for
'1,42de98d72747865519259' failed
1025: [07/20/2005 13:41:42] Unable to find a valid signature. Aborting.
1025: [07/20/2005 13:41:42] process_message returned error -5. dropping
message.
This happens whenever the user I specified with "--user" is different from
the user who received the email; if, say, the email belongs to john, the
only way to get dspam to process this correctly is to say "--user john" on
the command line.
if I give each user a user-spam configuration (with a .qmail-file), so
that dspam gets invoked as that particular user, everything works fine.
However this defeats the announced purpose of the single spam alias.
can someone suggest a solution to this problem? is the MySQLUIDInSignature
feature not working? I see the correct user id as part of the signature
however dspam doesn't seem to be "switching" to that user for the
remainder of the process and so when it tries to match the signature to
the working user.
thanks in advance!
- Roadmaster
The way dspam knows the two users are the same is
if they share the same numerical uid in mysql.

If you are somewhere in a script calling dspamc, though,
you can just drop the alias. The alias was just to inform
dspam, or in this case your script, that this was a retrain,
not a message. If you know whether you want to use
option --class=spam --source=error then you can drop
the alias, it was only there to tell you that. Just use the real
username and --class=spam --source=error and perhaps
specify a deliver option --deliver=spam --stdout > /dev/null
unless you want to save the corpus for corpus training
or testing purposes later so that you want to quarantine
spam even though the user has decided it's definitely
spam and he never wants to see it again.

-Bob

Loading...