At 17.11 23/05/2006, you wrote:
tonix (Antonio Nati) wrote:
At 22.53 22/05/2006, you wrote:

Has anyone else run into this?

A microsoft smtp service is sending an email with a list
of rcpt's. Some of the rcpt's are invalid. The microsoft
keeps reporting rejection of almost all the email addresses
including valid ones.

We are using fixcrio on the smtp server, so it's not
a bare line feed problem.

Using chkuser v.2.0.8.

Everything works fine when a qmail server sends the
same list of emails. All the good rcpts get the email
and all the invalid rcpts are rejected.

Any ideas?

I am looking into disabling the chk user for the
senders static IP address but wonder if there is
possibly something in the qmail/chkuser code that
needs looking into.

What do chkuser logs say about these rejected rcpt?
Tonino

Is there any settings that will let me disable chkuser
based on an enviroment variable. So it is on by default
but I can turn it off in tcp.smtp like:

A.B.C.D:allow,DISABLE_CHKUSER=""

Ken,

I repeat here a previous post, about a change in next chkuser version.

The define CHKUSER_DISABLE_VARIABLE will let you define a variable whose existance will exclude chkuser (unless ALWAYS_ON is set!).

Defining CHKUSER_DISABLE_VARIABLE equal to RELAYCLIENT will permit to exclude chkuser for all authenticated clients (as all email clients have the same problem you complain about).

This is the code that will be likely added in 2.0.9.

Add in chkuser_settings.h this define
#define CHKUSER_DISABLE_VARIABLE "CHKUSER_DISABLE_VARIABLE"
Then, in chkuser.c, add this code within first_time_init() after the following lines:
#if !defined CHKUSER_ALWAYS_ON && defined CHKUSER_STARTING_VARIABLE
        starting_string = env_get (CHKUSER_STARTING_VARIABLE);
        if (starting_string) {
                if (strcasecmp(starting_string, "ALWAYS") == 0) {
                        starting_value = 1;
                } else if (strcasecmp(starting_string, "DOMAIN") == 0) {
                        starting_value = 0;
                }
        } else {
                starting_string = "";
        }
#endif

+#if !defined CHKUSER_ALWAYS_ON && defined CHKUSER_DISABLE_VARIABLE
+        if (env_get (CHKUSER_DISABLE_VARIABLE)) {
+                starting_value = -1;
+        }
+#endif
Another way suitable for your needs is to define CHKUSER_STARTING_VARIABLE, setting the variable to "DOMAIN" for all except wished IP senders, for which may be set to NONE.

Regards,

Tonino

Ken

Reply via email to