Yahoo Groups archive

Milter-greylist

Index last updated: 2026-04-28 23:32 UTC

Thread

smfi_getsymval failed for {i} in milter-greylist 4.2.6

smfi_getsymval failed for {i} in milter-greylist 4.2.6

2011-03-02 by Anatoly Oreshkin

Hello,

I've installed milter-greylist 4.2.6 on server running RHEL 5.5
and sendmail 8.14.4.
When new mail message arrives I see  error messages in /var/log/maillog like these:

milter-greylist: smfi_getsymval failed for {i}
milter-greylist: (unknown id): Sender IP 127.0.0.1 and address <root@my_domain.ru>
are SPF-compliant, bypassing greylist

As far as I understand milter-greylist can't get   message queue ID but
don't know why.
Besides milter-greylist I use another milter, one for antivirus program 'drweb-milter'
Sendmail config sendmail.cf have such lines:

O InputMailFilters=greylist, drweb-milter
O Milter.LogLevel=6
O Milter.macros.connect=_, j, {if_addr}
O Milter.macros.helo={verify}, {cert_subject}
O Milter.macros.envfrom=i, {auth_authen}
O Milter.macros.envrcpt={rcpt_mailer}, {rcpt_host}, {rcpt_addr}
O Milter.macros.eom={msg_id}

Xdrweb-milter, S=local:/var/run/drweb/drweb-smf.sock, F=T, T=C:1m;S:5m;R:5m;E:1h
Xgreylist, S=local:/var/milter-greylist/milter-greylist.sock, F=, T=S:1m;R:1m

When I remove drweb-milter from  InputMailFilters then
error messages disappear.

BTW, on other server running RHEL 4.1, milter-greylist 4.2.6 and sendmail 8.13.1
such error messages are not observed.

What might be the reason ? Bug in sendmail 8.14.4 or something else ?
How to eliminate these messages ?
Any hints.

Thanks.

Re: [milter-greylist] smfi_getsymval failed for {i} in milter-greylist 4.2.6

2011-03-03 by manu@netbsd.org

Anatoly Oreshkin <Anatoly.Oreshkin@...> wrote:

> O InputMailFilters=greylist, drweb-milter
> O Milter.LogLevel=6
> O Milter.macros.connect=_, j, {if_addr}
> O Milter.macros.helo={verify}, {cert_subject}
> O Milter.macros.envfrom=i, {auth_authen}
> O Milter.macros.envrcpt={rcpt_mailer}, {rcpt_host}, {rcpt_addr}
> O Milter.macros.eom={msg_id}
(...)
> When I remove drweb-milter from  InputMailFilters then
> error messages disappear.

The line you quoted above are taken from sendmail.cf, or they are the
lines drweb-milter is supposed to add? 

The O Milter.macros.envfrom=i sounds correct, but we should make sure
you really have this in the configuration.

Also, do you have the error for any message, or only for those coming
from 127.0.0.1?

-- 
Emmanuel Dreyfus
http://hcpnet.free.fr/pubz
manu@...

Re: [milter-greylist] smfi_getsymval failed for {i} in milter-greylist 4.2.6

2011-03-03 by Anatoly Oreshkin

> Anatoly Oreshkin <Anatoly.Oreshkin@...> wrote:
>
>> O InputMailFilters=greylist, drweb-milter
>> O Milter.LogLevel=6
>> O Milter.macros.connect=_, j, {if_addr}
>> O Milter.macros.helo={verify}, {cert_subject}
>> O Milter.macros.envfrom=i, {auth_authen}
>> O Milter.macros.envrcpt={rcpt_mailer}, {rcpt_host}, {rcpt_addr}
>> O Milter.macros.eom={msg_id}
> (...)
>> When I remove drweb-milter from  InputMailFilters then
>> error messages disappear.
>
> The line you quoted above are taken from sendmail.cf, or they are the
> lines drweb-milter is supposed to add?

When installing DrWeb have added the following lines to sendmail.cf:

O InputMailFilters=drweb-milter
O Milter.LogLevel=6
Xdrweb-milter,  S=local:/var/run/drweb/drweb-smf.sock, F=T, T=C:1m;S:5m;R:5m;E:1h

O Milter.macros.connect=_,{if_addr}
O Milter.macros.envfrom=i,{auth_type}


So when configuring milter-greylist I have combined macros both from drweb and
milter-greylist.

I've added to sendmail.mc the lines:

INPUT_MAIL_FILTER(`drweb-milter', `S=local:/var/run/drweb/drweb-smf.sock, F=T,
T=C:1m;S:5m;R:5m;E:1h')dnl
INPUT_MAIL_FILTER(`greylist', `S=local:/var/milter-greylist/milter-greylist.sock,
F=, T=S:1m;R:1m')dnl
define(`confMILTER_MACROS_CONNECT', `_, j, {if_addr}')dnl
define(`confMILTER_MACROS_HELO', `{verify}, {cert_subject}')dnl
define(`confMILTER_MACROS_ENVFROM', `i, {auth_authen}')dnl

Right now I've noticed that Milter.macros.envfrom for drweb has {auth_type}
but milter-greylist has {auth_authen}.
Therefore I've checked 2 new variants in sendmail.cf that is


O Milter.macros.envfrom=i, {auth_type}

O Milter.macros.envfrom=i, {auth_type}, {auth_authen}

Nothing has changed.

>
> The O Milter.macros.envfrom=i sounds correct, but we should make sure
> you really have this in the configuration.
>
> Also, do you have the error for any message, or only for those coming
> from 127.0.0.1?

When message coming from address other than 127.0.0.1
error messages appear too, for example:

milter-greylist: smfi_getsymval failed for {i}
milter-greylist: (unknown id): addr 195.19.214.218 from
<Anatoly.Oreshkin@...> rcpt <anatoly.oreshkin@...>: autowhitelisted
for more 720:00:00
Show quoted textHide quoted text
>
> --
> Emmanuel Dreyfus
> http://hcpnet.free.fr/pubz
> manu@...
>

Re: [milter-greylist] smfi_getsymval failed for {i} in milter-greylist 4.2.6

2011-03-03 by Johann Klasek

Hi Anatoly!

On Thu, Mar 03, 2011 at 10:14:47AM +0300, Anatoly Oreshkin wrote:
> > Anatoly Oreshkin <Anatoly.Oreshkin@...> wrote:
> >
> >> O InputMailFilters=greylist, drweb-milter
> >> O Milter.LogLevel=6
> >> O Milter.macros.connect=_, j, {if_addr}
> >> O Milter.macros.helo={verify}, {cert_subject}
> >> O Milter.macros.envfrom=i, {auth_authen}
> >> O Milter.macros.envrcpt={rcpt_mailer}, {rcpt_host}, {rcpt_addr}
> >> O Milter.macros.eom={msg_id}
> > (...)
> >> When I remove drweb-milter from  InputMailFilters then
> >> error messages disappear.

AFAI understand this it seems that DrWeb specifies only those variables
which is necessarily used. Nothing more.
My installation (plain Sendmail with Milter-Greylist) has

O Milter.macros.connect=j, _, {daemon_name}, {if_name}, {if_addr}
O Milter.macros.helo={verify}, {tls_version}, {cipher}, {cipher_bits}, {cert_subject}, {cert_issuer}
O Milter.macros.envfrom=i, {auth_type}, {auth_authen}, {auth_ssf}, {auth_author}, {mail_mailer}, {mail_host}, {mail_addr}
O Milter.macros.envrcpt={rcpt_mailer}, {rcpt_host}, {rcpt_addr}, {greylist}, {client_resolve}


You may try this (in this manner that you merge them together!).

AFAIK additional variables needed for one milter should not harm the
operation of some other milter.

> > The line you quoted above are taken from sendmail.cf, or they are the
> > lines drweb-milter is supposed to add?
> 
> When installing DrWeb have added the following lines to sendmail.cf:
> 
> O InputMailFilters=drweb-milter
> O Milter.LogLevel=6
> Xdrweb-milter,  S=local:/var/run/drweb/drweb-smf.sock, F=T, T=C:1m;S:5m;R:5m;E:1h
> 
> O Milter.macros.connect=_,{if_addr}
> O Milter.macros.envfrom=i,{auth_type}

Looks like the minimum DrWeb needs ...

> So when configuring milter-greylist I have combined macros both from drweb and
> milter-greylist.
> 
> I've added to sendmail.mc the lines:
> 
> INPUT_MAIL_FILTER(`drweb-milter', `S=local:/var/run/drweb/drweb-smf.sock, F=T,
> T=C:1m;S:5m;R:5m;E:1h')dnl
> INPUT_MAIL_FILTER(`greylist', `S=local:/var/milter-greylist/milter-greylist.sock,
> F=, T=S:1m;R:1m')dnl
> define(`confMILTER_MACROS_CONNECT', `_, j, {if_addr}')dnl
> define(`confMILTER_MACROS_HELO', `{verify}, {cert_subject}')dnl
> define(`confMILTER_MACROS_ENVFROM', `i, {auth_authen}')dnl

Milter-Greylist installation adds only these variables which are not
given in standard Sendmail environment. The required set is usually
greater.

> Right now I've noticed that Milter.macros.envfrom for drweb has {auth_type}
> but milter-greylist has {auth_authen}.
> Therefore I've checked 2 new variants in sendmail.cf that is
> 
> 
> O Milter.macros.envfrom=i, {auth_type}
> 
> O Milter.macros.envfrom=i, {auth_type}, {auth_authen}

The latter should be prefered.

> Nothing has changed.

I think, because some default variable coming from a plain/standard Sendmail
installation are still missing.


> > The O Milter.macros.envfrom=i sounds correct, but we should make sure
> > you really have this in the configuration.
> >
> > Also, do you have the error for any message, or only for those coming
> > from 127.0.0.1?
> 
> When message coming from address other than 127.0.0.1
> error messages appear too, for example:
> 
> milter-greylist: smfi_getsymval failed for {i}
> milter-greylist: (unknown id): addr 195.19.214.218 from
> <Anatoly.Oreshkin@...> rcpt <anatoly.oreshkin@...>: autowhitelisted
> for more 720:00:00

Is the .cf configuration file from the running system really the same as
the one you have generated from the .mc file?
What gives following?

/usr/lib/sendmail -bt -d64.100



Johann

Re: [milter-greylist] smfi_getsymval failed for {i} in milter-greylist 4.2.6

2011-03-05 by Anatoly Oreshkin

Hi Johann,

I've corrected sendmail.cf to have such milter configuration:

O InputMailFilters=greylist, drweb-milter

O Milter.macros.connect=_, j, {if_addr}, {daemon_name}, {if_name}

O Milter.macros.helo={verify}, {cert_subject}, {cert_issuer}, {tls_version},
{cipher}, {cipher_bits}

O Milter.macros.envfrom=i, {auth_authen}, {auth_type}, {auth_ssf}, {auth_author},
{mail_mailer}, {mail_host}, {mail_addr}

O Milter.macros.envrcpt={rcpt_mailer}, {rcpt_host}, {rcpt_addr}, {greylist},
{client_resolve}

O Milter.macros.eom={msg_id}

After sending mail I get in /var/log/maillog the same error message:

milter-greylist: smfi_getsymval failed for {i}
milter-greylist: (unknown id): addr 195.19.214.218 from
<Anatoly.Oreshkin@...> rcpt <anatoly.oreshkin@...>: autowhitelisted
for more 720:00:00

But the mail is proccessed correctly.

May be should I ignore such message  and consider it as warning ?

Any ideas.
Show quoted textHide quoted text
> Hi Anatoly!
>
> On Thu, Mar 03, 2011 at 10:14:47AM +0300, Anatoly Oreshkin wrote:
>> > Anatoly Oreshkin <Anatoly.Oreshkin@...> wrote:
>> >
>> >> O InputMailFilters=greylist, drweb-milter
>> >> O Milter.LogLevel=6
>> >> O Milter.macros.connect=_, j, {if_addr}
>> >> O Milter.macros.helo={verify}, {cert_subject}
>> >> O Milter.macros.envfrom=i, {auth_authen}
>> >> O Milter.macros.envrcpt={rcpt_mailer}, {rcpt_host}, {rcpt_addr}
>> >> O Milter.macros.eom={msg_id}
>> > (...)
>> >> When I remove drweb-milter from  InputMailFilters then
>> >> error messages disappear.
>
> AFAI understand this it seems that DrWeb specifies only those variables
> which is necessarily used. Nothing more.
> My installation (plain Sendmail with Milter-Greylist) has
>
> O Milter.macros.connect=j, _, {daemon_name}, {if_name}, {if_addr}
> O Milter.macros.helo={verify}, {tls_version}, {cipher}, {cipher_bits},
> {cert_subject}, {cert_issuer}
> O Milter.macros.envfrom=i, {auth_type}, {auth_authen}, {auth_ssf}, {auth_author},
> {mail_mailer}, {mail_host}, {mail_addr}
> O Milter.macros.envrcpt={rcpt_mailer}, {rcpt_host}, {rcpt_addr}, {greylist},
> {client_resolve}
>
>
> You may try this (in this manner that you merge them together!).
>
> AFAIK additional variables needed for one milter should not harm the
> operation of some other milter.
>
>> > The line you quoted above are taken from sendmail.cf, or they are the
>> > lines drweb-milter is supposed to add?
>>
>> When installing DrWeb have added the following lines to sendmail.cf:
>>
>> O InputMailFilters=drweb-milter
>> O Milter.LogLevel=6
>> Xdrweb-milter,  S=local:/var/run/drweb/drweb-smf.sock, F=T, T=C:1m;S:5m;R:5m;E:1h
>>
>> O Milter.macros.connect=_,{if_addr}
>> O Milter.macros.envfrom=i,{auth_type}
>
> Looks like the minimum DrWeb needs ...
>
>> So when configuring milter-greylist I have combined macros both from drweb and
>> milter-greylist.
>>
>> I've added to sendmail.mc the lines:
>>
>> INPUT_MAIL_FILTER(`drweb-milter', `S=local:/var/run/drweb/drweb-smf.sock, F=T,
>> T=C:1m;S:5m;R:5m;E:1h')dnl
>> INPUT_MAIL_FILTER(`greylist', `S=local:/var/milter-greylist/milter-greylist.sock,
>> F=, T=S:1m;R:1m')dnl
>> define(`confMILTER_MACROS_CONNECT', `_, j, {if_addr}')dnl
>> define(`confMILTER_MACROS_HELO', `{verify}, {cert_subject}')dnl
>> define(`confMILTER_MACROS_ENVFROM', `i, {auth_authen}')dnl
>
> Milter-Greylist installation adds only these variables which are not
> given in standard Sendmail environment. The required set is usually
> greater.
>
>> Right now I've noticed that Milter.macros.envfrom for drweb has {auth_type}
>> but milter-greylist has {auth_authen}.
>> Therefore I've checked 2 new variants in sendmail.cf that is
>>
>>
>> O Milter.macros.envfrom=i, {auth_type}
>>
>> O Milter.macros.envfrom=i, {auth_type}, {auth_authen}
>
> The latter should be prefered.
>
>> Nothing has changed.
>
> I think, because some default variable coming from a plain/standard Sendmail
> installation are still missing.
>
>
>> > The O Milter.macros.envfrom=i sounds correct, but we should make sure
>> > you really have this in the configuration.
>> >
>> > Also, do you have the error for any message, or only for those coming
>> > from 127.0.0.1?
>>
>> When message coming from address other than 127.0.0.1
>> error messages appear too, for example:
>>
>> milter-greylist: smfi_getsymval failed for {i}
>> milter-greylist: (unknown id): addr 195.19.214.218 from
>> <Anatoly.Oreshkin@...> rcpt <anatoly.oreshkin@...>:
>> autowhitelisted
>> for more 720:00:00
>
> Is the .cf configuration file from the running system really the same as
> the one you have generated from the .mc file?
> What gives following?
>
> /usr/lib/sendmail -bt -d64.100
>
>
>
> Johann
>

Re: [milter-greylist] smfi_getsymval failed for {i} in milter-greylist 4.2.6

2011-03-05 by manu@netbsd.org

Anatoly Oreshkin <Anatoly.Oreshkin@...> wrote:

> May be should I ignore such message  and consider it as warning ?

The only consequence is the (unknown id) in the logs, which makes it
difficult to correlate lines of logs about a given message.

-- 
Emmanuel Dreyfus
http://hcpnet.free.fr/pubz
manu@...

Re: [milter-greylist] smfi_getsymval failed for {i} in milter-greylist 4.2.6

2011-03-06 by Johann Klasek

On Sat, Mar 05, 2011 at 01:25:40PM +0300, Anatoly Oreshkin wrote:
> 
> I've corrected sendmail.cf to have such milter configuration:
> 
> O InputMailFilters=greylist, drweb-milter
> 
[..]
> 
> After sending mail I get in /var/log/maillog the same error message:
> 
> milter-greylist: smfi_getsymval failed for {i}
> milter-greylist: (unknown id): addr 195.19.214.218 from
> <Anatoly.Oreshkin@...> rcpt <anatoly.oreshkin@...>: autowhitelisted
> for more 720:00:00
> 
> But the mail is proccessed correctly.
> 
> May be should I ignore such message  and consider it as warning ?

As Manu says, you will not able to correlate log lines from the same
SMTP session between MG und sendmail :\

Very strange anyway. 
BTW, again, what says 

/usr/lib/sendmail -bt -d64.100

I want just to be sure, that any changes you are doing influences right
the running sendmail environment ... ;)

Maybe some automatism from the drweb environment reinitiates/reinstalls
the milter settings for sendmail every time you restart sendmail and/or
the drweb environment?

Johann

Re: [milter-greylist] smfi_getsymval failed for {i} in milter-greylist 4.2.6

2011-03-07 by Rene Luria

On 02. 03. 11 18:06, Anatoly Oreshkin wrote:
> I've installed milter-greylist 4.2.6 on server running RHEL 5.5
> and sendmail 8.14.4.
> When new mail message arrives I see  error messages in /var/log/maillog like these:

> milter-greylist: smfi_getsymval failed for {i}

I get the same message but only for IPv6 connections...
maybe this can help point out the bug

-- 
Rene Luria

Re: [milter-greylist] smfi_getsymval failed for {i} in milter-greylist 4.2.6

2011-03-08 by Rene Luria

On 07. 03. 11 17:53, Rene Luria wrote:
> On 02. 03. 11 18:06, Anatoly Oreshkin wrote:
>> I've installed milter-greylist 4.2.6 on server running RHEL 5.5
>> and sendmail 8.14.4.
>> When new mail message arrives I see error messages in /var/log/maillog
>> like these:

>> milter-greylist: smfi_getsymval failed for {i}

> I get the same message but only for IPv6 connections...
> maybe this can help point out the bug

Well, actualy, appears with both v4 and v6.

The problem doesn't seem to be related to milter-greylist itself, but to 
DrWeb. I can reproduce the same problem. When DrWeb milter is activated, 
the error comes, otherwise it doesn't. Somehow, DrWeb modifies this 
macro or something

-- 
Rene Luria

Re: [milter-greylist] smfi_getsymval failed for {i} in milter-greylist 4.2.6

2011-03-08 by Rene Luria

Hey Anatoly,

On 02. 03. 11 18:06, Anatoly Oreshkin wrote:
> milter-greylist: smfi_getsymval failed for {i}
> milter-greylist: (unknown id): Sender IP 127.0.0.1 and address<root@my_domain.ru>
> are SPF-compliant, bypassing greylist

> Besides milter-greylist I use another milter, one for antivirus program 'drweb-milter'
> Sendmail config sendmail.cf have such lines:

> O InputMailFilters=greylist, drweb-milter
> O Milter.LogLevel=6
> O Milter.macros.connect=_, j, {if_addr}
> O Milter.macros.helo={verify}, {cert_subject}
> O Milter.macros.envfrom=i, {auth_authen}
> O Milter.macros.envrcpt={rcpt_mailer}, {rcpt_host}, {rcpt_addr}
> O Milter.macros.eom={msg_id}

To solve the problem, add the i variable to macro to Milter.macros.helo

in mc:
define(`confMILTER_MACROS_HELO', `i, {verify}, {cert_subject}')

or in cf:
O Milter.macros.helo=i, {verify}, {cert_subject}

-- 
Rene Luria

Re: [milter-greylist] smfi_getsymval failed for {i} in milter-greylist 4.2.6

2011-03-09 by Anatoly Oreshkin

Hi,

Before I have received this mail I tried to downgrade from drweb 6 to drweb version 5.
And it turned out that greylist 4.2.6 with drweb 5 worked excellent, without
producing error message:

milter-greylist: smfi_getsymval failed for {i}

Having got your mail I've corrected sendmail,cf according your advice
and upgraded to drweb 6

/usr/lib/sendmail -bt -d64.100
gives

milter_set_option(LogLevel = 6)
milter_set_option(macros.connect = _, j, {if_addr}, {daemon_name}, {if_name})
milter_set_option(macros.helo = i, {verify}, {cert_subject}, {cert_issuer},
{tls_version}, {cipher}, {cipher_bits})
milter_set_option(macros.envfrom = i, {auth_authen}, {auth_type}, {auth_ssf},
{auth_author}, {mail_mailer}, {mail_host}, {mail_addr})
milter_set_option(macros.envrcpt = {rcpt_mailer}, {rcpt_host}, {rcpt_addr},
{greylist}, {client_resolve})
milter_set_option(macros.eom = {msg_id})
Xdrweb-milter: C=60
Xdrweb-milter: S=300
Xdrweb-milter: R=300
Xdrweb-milter: E=3600
Xsp-milter: C=900
Xsp-milter: S=480
Xsp-milter: R=480
Xsp-milter: E=600
Xgreylist: S=60
Xgreylist: R=60
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)

This correction helped !
The error message disappeared. Now I see in /var/log/maillog

milter-greylist: p297EIdB026914: skipping greylist because address 195.19.214.218 is
whitelisted, (from=<Anatoly.Oreshkin@...>,
rcpt=<anatoly.oreshkin@...>, addr=mail.pnpi.spb.ru[195.19.214.218]) ACL 154

Though I don't understand why this helped. Milter-greylist does not require
{i} in Milter.macros.helo

Many thanks.
Show quoted textHide quoted text
> Hey Anatoly,
>
> On 02. 03. 11 18:06, Anatoly Oreshkin wrote:
>> milter-greylist: smfi_getsymval failed for {i}
>> milter-greylist: (unknown id): Sender IP 127.0.0.1 and address<root@my_domain.ru>
>> are SPF-compliant, bypassing greylist
>
>> Besides milter-greylist I use another milter, one for antivirus program
>> 'drweb-milter'
>> Sendmail config sendmail.cf have such lines:
>
>> O InputMailFilters=greylist, drweb-milter
>> O Milter.LogLevel=6
>> O Milter.macros.connect=_, j, {if_addr}
>> O Milter.macros.helo={verify}, {cert_subject}
>> O Milter.macros.envfrom=i, {auth_authen}
>> O Milter.macros.envrcpt={rcpt_mailer}, {rcpt_host}, {rcpt_addr}
>> O Milter.macros.eom={msg_id}
>
> To solve the problem, add the i variable to macro to Milter.macros.helo
>
> in mc:
> define(`confMILTER_MACROS_HELO', `i, {verify}, {cert_subject}')
>
> or in cf:
> O Milter.macros.helo=i, {verify}, {cert_subject}
>
> --
> Rene Luria
>
>

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.