At the moment my incoming mail is swamped by spammers
and I'm trying to get a legacy system to verify early
so I can reject another few percent at HELO.
The problem I have having is I cannot get my process
to run via exim.
Here is a test script I wrote after I gave up trying
to work this problem with my C program:
#!/bin/sh
echo "Calling weaselvfy $1 $2" >> /var/log/weaselvfy.log
set >> /var/log/weaselvfy.log
echo "accept"
exit 0
Not that I have tried it with exit 1 also to see if that
affected the results. When it runs under exim nothing
shows up in the /var/log/weaselvfy.log; if I su and newgrp
and cd / and run the same
/usr/sbin/weaselvfy ${local_part} ${domain}
output *does* go to that log. So the script itself
(and the original C program) do what is expected of
them.
Here is the exim4.conf routers segment:
vfy:
driver = queryprogram
domains = +weasel_domains
retry_use_local_part
command = "/usr/sbin/weaselvfy ${local_part} ${domain}"
command_user = root
command_group = mail
verify_only
verify_sender = false
verify_recipient = true
debug_print = "***** WEASEL VERIFIER ${local_part} ${domain} *****"
I have tried it with user pop and as well as user root.
The ACL segment is:
warn log_message = [DEBUG] Can't verify recipient: ${local_part} ${domain} <${acl_verify_message}>
!verify = recipient
The actual output is:
01:02:34 19542 --------> weasel_vfy router <--------
01:02:34 19542 local_part=willmore domain=vnl.com
01:02:34 19542 checking domains
01:02:34 19542 vnl.com in "apollo.vnl.com : vnl.com:vnl.net: partial-dbm;/etc/weaselpop/virtual-domains.db"? yes (
matched "vnl.com")
01:02:34 19542 vnl.com in "+weasel_domains"? yes (matched "+weasel_domains")
01:02:34 19542 ***** WEASEL VERIFIER willmore vnl.com *****
01:02:34 19542 calling weasel_vfy router
01:02:34 19542 weasel_vfy router called for willmore@???: domain = vnl.com
01:02:34 19542 uid=0 gid=8 current_directory=/
01:02:34 19542 direct command:
01:02:34 19542 argv[0] = /usr/sbin/weaselvfy
01:02:34 19542 argv[1] = ${local_part}
01:02:34 19542 argv[2] = ${domain}
01:02:34 19542 direct command after expansion:
01:02:34 19542 argv[0] = /usr/sbin/weaselvfy
01:02:34 19542 argv[1] = willmore
01:02:34 19542 argv[2] = vnl.com
01:02:34 19542 weasel_vfy router: defer for willmore@???
01:02:34 19542 message: weasel_vfy router: command returned non-zero code 127
01:02:34 19542 ----------- end verify ------------
01:02:34 19542 warn: condition test deferred
The process is installed as:
-r-sr-xr-x 1 root mail 197 Jul 2 01:00 /usr/sbin/weaselvfy
The exim version is:
Exim version 4.32 #1 built 26-Apr-2004 09:57:22
Copyright (c) University of Cambridge 2004
Berkeley DB: Sleepycat Software: Berkeley DB 3.2.9: (June 16, 2003)
Support for: iconv() IPv6 PAM Perl GnuTLS
Lookups: lsearch wildlsearch nwildlsearch cdb dbm dbmnz dnsdb dsearch ldap ldapdn ldapm mysql nis nis0 passwd pgsql
Authenticators: cram_md5 plaintext spa
Routers: accept dnslookup ipliteral iplookup manualroute queryprogram redirect
Transports: appendfile/maildir/mailstore/mbx autoreply lmtp pipe smtp
Fixed never_users: 0
Contains exiscan-acl patch revision 17 (c) Tom Kistner [
http://duncanthrax.net/exiscan/]
Configuration file is /etc/exim4/exim4.conf
The symptoms imply to me the exec of a shell is failing
and my test script is not executing. Any ideas what I
have done wrong?
**** NOTE *****
Since I am recieving very little email through the
spam storm I will have to watch for replies on
http://www.exim.org/pipermail/exim-users/
--
------------------------------------------------------
Dale Amon amon@??? +44-7802-188325
International linux systems consultancy
Hardware & software system design, security
and networking, systems programming and Admin
"Have Laptop, Will Travel"
------------------------------------------------------