Viktor Dukhovni:
> On Wed, Dec 10, 2014 at 01:26:42PM -0500, Wietse Venema wrote:
> 
> > The anvil service stores information under a key of service:client.
> > Apparently, your master.cf service is [2001:1470:ff80::25]:10088,
> > and in this case the client is 2001:1470:ff80:88::80:c.
> 
> What if Mark also had a service entry with no port?

That is not possible with TCP services.

In the ``service:client'' counter ID, the service is the name in
the master.cf first column. The anvil service does not require that
this has a port (but TCP does).

> Appending a raw IPv6 address to that would be ambiguous.  Indeed
> with "::"

The smtpd(8) daemon knows nothing about how the anvil server
administers its information. It just provides endpoint information
to the anvil client. This is a good thing; the fewer assumptions
the smtpd(8) daemon makes about the anvil(8) service, the better.

The anvil client and server intentionally know nothing about protocols
or ports. The client just combines some endpoint information into
a hopefully-useful counter ID, and the server maintains counters.
Again, the fewer assumptions the anvil client and server make about
the endpoints, the better.

Anvil has hard-coded counters for different SMTP protocol states
but those counters could be replaced with named counters, where
names are supplied by the smtpd(8) daemon.

I am pretty religous about keeping different parts of Postfix dumb.
If the syntax of the counter ID needs to change, then it must not
become specific to IP addressess or ports. It should work with all
supported client-server protocols (there is no standard API to
identify the peer of a FIFO request).

        Wietse

Reply via email to