On Thu, 16 Jun 2011 11:08:25 +0200
Claudio Prono <[email protected]> wrote:

> 
> 
> Il 16/06/2011 10.33, Stevan Bajić ha scritto:
> > On Thu, 16 Jun 2011 10:14:49 +0200
> > Claudio Prono <[email protected]> wrote:
> >
> >> Hello Stevan,
> >>
> > Hello Claudio,
> >
> >
> >> Tnx for the reply.
> >>
> >> Il 15/06/2011 21.23, Stevan Bajić ha scritto:
> >>> On Wed, 15 Jun 2011 13:21:19 +0200
> >>> Claudio Prono <[email protected]> wrote:
> >>>
> >>>> Hello all,
> >>>>
> >>> Hello Claudio,
> >>>
> >>>
> >>>> After a recent migration of a mailserver i have some problems with the
> >>>> training of dspam: when i send a mail for retraining, i have this on 
> >>>> logs:
> >>>>
> >>>> Jun 15 12:50:55 mail2 dspam[27718]: Signature retrieval for
> >>>> '2,4df84600159243584
> >>>> 817994' failed
> >>>> Jun 15 12:50:55 mail2 dspam[27718]: Unable to find a valid signature.
> >>>> Aborting.
> >>>> Jun 15 12:50:55 mail2 dspam[27718]: process_message returned error -5. 
> >>>> dropping
> >>>>  message.
> >>>>
> >>>> I have checked, the signature is present into the database, but the
> >>>> query of dspam is wrong (i have activate the mysql debug):
> >>>>
> >>>>      33 Connect   dspam@localhost on dspam
> >>>>                    33 Query     SELECT uid FROM dspam_virtual_uids WHERE
> >>>> username='spam'
> >>>>                    33 Query     SHOW VARIABLES WHERE
> >>>> variable_name='max_allowed_packet'
> >>>>                    33 Query     SHOW VARIABLES WHERE
> >>>> variable_name='max_allowed_packet'
> >>>>                    33 Query     SELECT uid FROM dspam_virtual_uids WHERE
> >>>> username='spam'
> >>>>                    33 Query     SELECT uid FROM dspam_virtual_uids WHERE
> >>>> username='spam'
> >>>>
> >>>> The username is always wrong, is not spam but the username of the sender
> >>>> e-mail (like [email protected]).
> >>>>
> >>> this depends on how you have implemented that retraining.
> >>>
> >>>
> >>>> Here is my relevant config on postfix:
> >>>>
> >>>> in master.cf:
> >>>>
> >>>> dspam     unix  -       n       n       -       10       pipe
> >>>>   flags=u user=nobody argv=/usr/sbin/dspam --deliver=innocent
> >>>> --feature=noise --user ${recipient}
> >>>> spam    unix    -       n       n       -       -       pipe
> >>>>   flags=u user=nobody argv=/usr/sbin/dspam --class=spam --source=error
> >>>> --user spam
> >>>> nospam  unix    -       n       n       -       -       pipe
> >>>>   flags=u user=nobody argv=/usr/sbin/dspam --class=innocent
> >>>> --source=error --user spam
> >>>>
> >>> Aha. See that "--user spam" in the process "spam" and "nonspam"?
> >>>
> >>>
> >> Yes, i have noticed that, but with the config "ChangeUserOnParse full",
> >> the user is changed with the rcpt to of the mail, according with the
> >> documentation:
> >>
> > yes, but you have to follow specific naming of the alias for the retraining 
> > to have that mechanism working.
> >
> >> # ChangeUserOnParse: Automatically change the username to match that
> >> specified
> >> #   in the To: header. For example, [email protected] will set the
> >> username
> >> #   to bob, ignoring any --user passed in. This may not always be
> >> desirable if
> >> #   you are using virtual email addresses as usernames. Options:
> >> #     on or user        take the portion before the @ sign only
> >> #     full              take everything after the initial {spam,notspam}-.
> >>
> >> Is right?
> >>
> > Yes. It's right. But do you see the note on 'full'? The spam/ham alias 
> > would in your case then be "[email protected]" and 
> > "[email protected]".
> >
> >
> >>>> And my dspam.config of mysql:
> >>>>
> >>>> MySQLServer     /var/run/mysql/mysql.sock
> >>>> MySQLPort
> >>>> MySQLUser               dspam
> >>>> MySQLPass               [pass]
> >>>> MySQLDb                 dspam
> >>>> MySQLCompress           true
> >>>> MySQLVirtualTable          dspam_virtual_uids
> >>>> MySQLVirtualUIDField       uid
> >>>> MySQLVirtualUsernameField  username
> >>>> MySQLUIDInSignature    on
> >>>>
> >>> This is all fine and dandy but the real relevant config is how you have 
> >>> setup DSPAM to parse the user. Have you set "ParseToHeaders", 
> >>> "ChangeModeOnParse" and/or "ChangeUserOnParse"?
> >>>
> >> here is my settings:
> >>
> >> ParseToHeaders on
> >> ChangeModeOnParse on
> >> ChangeUserOnParse full
> >>
> >> The thing i don't understand is: if i change  this values (like
> >> ChangeUSerOnParse on), the mysql query is always done with the user
> >> spam.....
> >>
> > Because you don't follow the proper naming convention needed to have the 
> > parsing working.
> >
> >
> >> The last thing i have tryied also is add the option "Broken
> >> lineStripping", but nothing has changed....
> >>
> >> What i can try ?
> >>
> > First of all you should post ALL your config here. Not just bits. It's 
> > frustrating to try to help and with every response getting answers back 
> > from you where you show more configuration and that additional new info 
> > changes the whole picture. Please post whole dspam.conf and post the whole 
> > config how you have implemented the retraining in Postfix. How and when do 
> > you pipe to that spam/nonspam transport in Postfix, etc... Posting whole 
> > master.cf and main.cf (or just postconf -n) is a good thing too.
> >
> Ok, sorry, here is my dspam.conf:
> 
> Home /var/lib/dspam
> StorageDriver /usr/lib64/dspam/libmysql_drv.so
> TrustedDeliveryAgent "/usr/bin/procmail -d %u"
> DeliveryHost        127.0.0.1
> DeliveryPort        10027
> DeliveryIdent       localhost
> DeliveryProto       SMTP
> OnFail error
> Trust root
> Trust dspam
> Trust apache
> Trust mail
> Trust mailnull
> Trust smmsp
> Trust daemon
> Trust nobody
> Debug *
> TrainingMode teft
> TestConditionalTraining on
> Feature noise
> Feature whitelist
> Algorithm graham burton
> Tokenizer chain
> PValue bcr
> WebStats on
> Preference "spamAction=quarantine"
> Preference "signatureLocation=headers"  # 'message' or 'headers'
> Preference "showFactors=Off"
> AllowOverride trainingMode
> AllowOverride spamAction spamSubject
> AllowOverride statisticalSedation
> AllowOverride enableBNR
> AllowOverride enableWhitelist
> AllowOverride signatureLocation
> AllowOverride showFactors
> AllowOverride optIn optOut
> AllowOverride whitelistThreshold
> MySQLServer     /var/run/mysql/mysql.sock
> #MySQLPort
> MySQLUser               dspam
> MySQLPass               [password]
> MySQLDb                 dspam
> MySQLCompress           true
> MySQLReconnect          true
> MySQLVirtualTable          dspam_virtual_uids
> MySQLVirtualUIDField       uid
> MySQLVirtualUsernameField  username
> MySQLUIDInSignature    on
> HashRecMax              98317
> HashAutoExtend          on
> HashMaxExtents          0
> HashExtentSize          49157
> HashPctIncrease 10
> HashMaxSeek             10
> HashConnectionCache     10
> Notifications   off
> PurgeSignatures 14          # Stale signatures
> PurgeNeutral    90          # Tokens with neutralish probabilities
> PurgeUnused     90          # Unused tokens
> PurgeHapaxes    30          # Tokens with less than 5 hits (hapaxes)
> PurgeHits1S     15          # Tokens with only 1 spam hit
> PurgeHits1I     15          # Tokens with only 1 innocent hit
> LocalMX 127.0.0.1
> SystemLog on
> UserLog   on
> Opt out
> ParseToHeaders on
> ChangeModeOnParse on
> ChangeUserOnParse full
> ProcessorURLContext on
> ProcessorBias on
> 
> And here is my postconf -n
> 
> alias_maps = hash:/etc/aliases
> biff = no
> broken_sasl_auth_clients = yes
> canonical_maps = hash:/etc/postfix/canonical
> command_directory = /usr/sbin
> config_directory = /etc/postfix
> daemon_directory = /usr/lib/postfix
> data_directory = /var/lib/postfix
> debug_peer_level = 2
> defer_transports =
> delay_warning_time = 1h
> disable_dns_lookups = no
> disable_mime_output_conversion = no
> disable_vrfy_command = yes
> header_checks = regexp:/etc/postfix/header_checks
> html_directory = /usr/share/doc/packages/postfix-doc/html
> inet_interfaces = all
> inet_protocols = ipv4
> local_transport = local
> mail_owner = postfix
> mail_spool_directory = /var/spool/mail
> mailbox_command = /usr/lib/dovecot/dovecot-lda
> mailbox_size_limit = 0
> mailbox_transport =
> mailq_path = /usr/bin/mailq
> manpage_directory = /usr/share/man
> masquerade_classes = envelope_sender, header_sender, header_recipient
> masquerade_domains =
> masquerade_exceptions = root
> message_size_limit = 30240000
> message_strip_characters = \0
> mydestination = $mydomain
> mydomain = mail2.mediaservice.net
> myhostname = mail2.mediaservice.net
> mynetworks = 127.0.0.1, 213.254.20.0/24, 192.168.1.0/24
> mynetworks_style = subnet
> myorigin = $myhostname
> newaliases_path = /usr/bin/newaliases
> queue_directory = /var/spool/postfix
> readme_directory = /usr/share/doc/packages/postfix-doc/README_FILES
> recipient_delimiter = -
> relay_domains = $mydestination, mediaservice.pri
> relayhost =
> relocated_maps = hash:/etc/postfix/relocated
> sample_directory = /usr/share/doc/packages/postfix-doc/samples
> sender_canonical_maps = hash:/etc/postfix/sender_canonical
> sendmail_path = /usr/sbin/sendmail
> setgid_group = maildrop
> smtp_sasl_auth_enable = no
> smtp_tls_CAfile = /etc/postfix/ssl/cacert.pem
> smtp_tls_cert_file = /etc/postfix/ssl/certs/postfixcert.pem
> smtp_tls_key_file = /etc/postfix/ssl/certs/postfixkey.pem
> smtp_tls_loglevel = 1
> smtp_use_tls = yes
> smtpd_banner = $myhostname ESMTP
> smtpd_client_restrictions =
> smtpd_helo_required = no
> smtpd_helo_restrictions =
> smtpd_recipient_restrictions = check_recipient_access
> hash:/etc/postfix/dspam_learning,         permit_mynetworks,       
> permit_sasl_authenticated,         reject_non_fqdn_sender,        
> reject_non_fqdn_recipient,        
> reject_unknown_recipient_domain,         reject_unauth_pipelining,      
> reject_unauth_destination,        check_policy_service
> inet:127.0.0.1:10031         check_recipient_access
> hash:/etc/postfix/dspam_domains
> smtpd_sasl_auth_enable = yes
> smtpd_sasl_path = private/auth
> smtpd_sasl_security_options = noanonymous
> smtpd_sasl_type = dovecot
> smtpd_sender_restrictions = hash:/etc/postfix/access
> smtpd_tls_CAfile = /etc/postfix/ssl/cacert_mauri.pem
> smtpd_tls_CApath = /etc/postfix/ssl
> smtpd_tls_auth_only = yes
> smtpd_tls_cert_file = /etc/postfix/ssl/certs/postfixcert.pem
> smtpd_tls_key_file = /etc/postfix/ssl/certs/postfixkey.pem
> smtpd_tls_loglevel = 1
> smtpd_tls_received_header = yes
> smtpd_use_tls = yes
> strict_8bitmime = no
> strict_rfc821_envelopes = no
> tls_random_source = dev:/dev/urandom
> transport_maps = hash:/etc/postfix/transport
> unknown_local_recipient_reject_code = 550
> virtual_alias_domains = hash:/etc/postfix/virtual
> virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
> virtual_gid_maps = static:51
> virtual_mailbox_base = /var/mail/virtual
> virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf
> virtual_mailbox_limit = 524288000
> virtual_mailbox_limit_maps =
> mysql:/etc/postfix/mysql_virtual_mailbox_limit_maps.cf
> virtual_mailbox_limit_override = yes
> virtual_mailbox_maps = $transport_maps,
> mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
> virtual_maildir_extended = yes
> virtual_maildir_limit_message = Sorry, the user's maildir has overdrawn
> his diskspace \  quota, please try again later.
> virtual_minimum_uid = 51
> virtual_overquota_bounce = yes
> virtual_transport = dovecot
> virtual_uid_maps = static:51
> 
> Need any other info?
> 
Yes. How do you send mail to the retraining service? Over 
/etc/postfix/transport? If so then I need only the part of 
/etc/postfix/transport where you reroute the spam/ham messages to the DSPAM 
retraining service.


> Thank you,
> 
> Claudio.
> 
-- 
Kind Regards from Switzerland,

Stevan Bajić

------------------------------------------------------------------------------
EditLive Enterprise is the world's most technically advanced content
authoring tool. Experience the power of Track Changes, Inline Image
Editing and ensure content is compliant with Accessibility Checking.
http://p.sf.net/sfu/ephox-dev2dev
_______________________________________________
Dspam-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/dspam-user

Reply via email to