Il 16/06/2011 10.33, Stevan Bajić ha scritto: > On Thu, 16 Jun 2011 10:14:49 +0200 > Claudio Prono <claudio.pr...@atpss.net> 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 <claudio.pr...@atpss.net> 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 clau...@mediaservice.net). >>>> >>> 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, spam-...@domain.tld 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 "spam-claudio.pr...@atpss.net" and > "notspam-claudio.pr...@atpss.net". > > >>>> 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? Thank you, Claudio. -- -------------------------------------------------------------------------------- Claudio Prono OPST System Developer Gsm: +39-349-54.33.258 @PSS Srl Tel: +39-011-32.72.100 Via San Bernardino, 17 Fax: +39-011-32.46.497 10141 Torino - ITALY http://atpss.net/disclaimer -------------------------------------------------------------------------------- PGP Key - http://keys.atpss.net/c_prono.asc ------------------------------------------------------------------------------ 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 Dspam-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dspam-user