Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

amavisd-new-2.8.0-pre6 (preview)

12 views
Skip to first unread message

Mark Martinec

unread,
Apr 28, 2012, 10:34:28 PM4/28/12
to
A preview of the version 2.8.0 of amavisd-new is available at:

http://www.ijs.si/software/amavisd/amavisd-new-2.8.0-pre6.tar.gz

Release notes are at:

http://www.ijs.si/software/amavisd/release-notes.txt


Most changes compared with 2.8.0-pre4 are in the improved
support for the ZeroMQ message-passing library, which should
now work with the old ZeroMQ perl module, as well as with the
new ZMQ::LibZMQ2 and ZMQ::LibZMQ3 modules. Not all combinations
of the perl module and the versions of zmq (or cx) library have
been thoroughly tested, so if in doubt, stay with ZeroMQ for the
time being.

New 0MQ-based services: amavis-mc, amavis-service, amavis-status.
See release notes for more.

Mark

Quanah Gibson-Mount

unread,
Apr 29, 2012, 3:26:13 AM4/29/12
to
--On Sunday, April 29, 2012 4:34 AM +0200 Mark Martinec
Hi Mark,

Does this allow the use of Amavis without BDB?

--Quanah


--

Quanah Gibson-Mount
Sr. Member of Technical Staff
Zimbra, Inc
A Division of VMware, Inc.
--------------------
Zimbra :: the leader in open source messaging and collaboration

Mark Martinec

unread,
Apr 29, 2012, 4:39:01 AM4/29/12
to
Quanah,

> Does this allow the use of Amavis without BDB?

Yes. Both systems currently co-exist, each can be independently
enabled/disabled:

$enable_db = 0; # BerkeleyDB: amavisd-nanny, amavisd-agent, snmp
$enable_zmq = 1; # ZMQ: amavis-status, amavis-services, amavis-mv

or the other way around:

$enable_db = 1;
$enable_zmq = 0;


Mark

Mark Martinec

unread,
Apr 29, 2012, 6:53:26 AM4/29/12
to
> $enable_zmq = 1; # ZMQ: amavis-status, amavis-services, amavis-mv

amavis-mc ( Master of Ceremonies :) that is, not amavis-mv.
It is conceptually equivalent to a Postfix 'master' process;
just takes care of keeping its subordinate tasks alive
(amavis-service) and shutting them down on its exit.
Should be started/stopped at boot/shutdown time.

A new ZMQ-based SNMP agent is not yet finished, only
one of its components is (running under amavis-services).
So if one needs a SNMP access to counters, currently the
old bdb-based agent is still needed until I finish the task.

Btw, both can be enabled at the same time:
$enable_db = 1;
$enable_zmq = 1;


A few more words on the organization of message flows.

The amavis-mc is just a job-starter/stopper for amavis-service.

The amavis-service runs in three instances, each with a different
command line argument which selects its function. It is just a
convenient common wrapper for (currently) three functionally
independent tasks, each running as its own process:

* amavis-service msg-forwarder
------------------------------
is just a message forwarding hub. It opens one zmq socket:
my $inner_sock_specs = "ipc://$MYHOME/amavisd-zmq.sock";
reads all messages (mostly from amavisd child processes)
and copies/broadcasts them to a more public zmq socket:
my $outer_sock_specs = "tcp://127.0.0.1:23232";
where clients like amavis-status and childproc-minder
and snmp-aggregator read from it;

* amavis-service childproc-minder
---------------------------------
is a component overviewing sanity of amavisd child processes.
This is one component of functionality that was formerly
implemented by amavisd-nanny. It reads messages from
$outer_sock_specs, keeps evidence of new and exiting
amavisd child processes, kills processes stuck for too
long, and every 10 seconds reports their state to the
$inner_sock_specs for the benefit of other tasks,
like a late-starting amavisd-status utility, so that it
can catch up with the current state.

- amavis-service snmp-aggregator
---------------------------------
It reads messages from $outer_sock_specs, keeps evidence
of SNMP counters and variables. A component of the
not-yet-finished snmp agent. It periodically broadcasts
the state of counters to:
my $snmp_sock_specs = "tcp://127.0.0.1:23233";


amavisd child processes report their state and SNMP counters
to the inner socket, configured in amavisd.conf by:
$enable_zmq = 1; # enable use of ZeroMQ (SNMP and nanny)
@zmq_sockets = ( "ipc://$MYHOME/amavisd-zmq.sock" ); # is a default


Mark

Renato Botelho

unread,
May 2, 2012, 6:28:55 AM5/2/12
to
On Sat, Apr 28, 2012 at 11:34 PM, Mark Martinec
<Mark.Marti...@ijs.si> wrote:
> A preview of the version 2.8.0 of amavisd-new is available at:
>
>  http://www.ijs.si/software/amavisd/amavisd-new-2.8.0-pre6.tar.gz
>
> Release notes are at:
>
>  http://www.ijs.si/software/amavisd/release-notes.txt
>
>
> Most changes compared with 2.8.0-pre4 are in the improved
> support for the ZeroMQ message-passing library, which should
> now work with the old ZeroMQ perl module, as well as with the
> new ZMQ::LibZMQ2 and ZMQ::LibZMQ3 modules. Not all combinations
> of the perl module and the versions of zmq (or cx) library have
> been thoroughly tested, so if in doubt, stay with ZeroMQ for the
> time being.
>
> New 0MQ-based services: amavis-mc, amavis-service, amavis-status.
> See release notes for more.

Hello Mark,

Last year i submitted a patch to make amavisd-new respect personal
sa_required_score when it's defined [1]. Will it be included in 2.8.0?

I'm using this feature on some servers since then without any problems.

[1] http://lists.amavis.org/pipermail/amavis-users/2011-August/000686.html

Regards
--
Renato Botelho

0 new messages