Stefano Bagnara wrote:

> In the mean time I fixed the following DNSServer related bugs in Trunk

I can review the code changes, but I seem to recall that we can much
backport the entire DNSServer from trunk, so long as we preserve the static
method rather than change the deployment descriptors.

A couple of specifics:

> DNSServer does not properly cache MX lookups for CNAMEd domains
> https://issues.apache.org/jira/browse/JAMES-672

We should review this again, because there are rules against allowing a
CNAME as the target of an MX record.

> Make sure our container use an expiration for cached dns data
> https://issues.apache.org/jira/browse/JAMES-679

> This one is a workaround that would avoid JAMES-592 to happen, with no
> changes to the code.

It disables the cache, and that means taking a performance hit on most
lookups.  I get 100's of 1000s of connections daily, and they do tend to
come in waves from the same IP, so I would not get the benefit from having
already done the lookup.  Plus, when dnsjava goes to process the IP, we
would not have already populated it into the cache.

The correct fix is in trunk (and in my patch).  I don't understand why
people insist on forcing a crippled fix on v2.3 when we have already made
the correct one in trunk.

> With this vote I'm trying to fix the v2.3 branch backport for 2.3.1
> release (so this is not necessarily related to next-minor).

I appreciate that you are willing to come around.

> This is why I remove the "full backport from trunk" from the options,
> because as Noel pointed out, we would break assembly.xml compatibility
> and we cannot do this in a point release.

As I said, I will need to review the two branches, but we can look at
backporting the entire DNSServer from trunk, so that we do not have major
code differences between the two.  All that we need to do for compatibility
is introduce the static method in the v2.3 branch so that the client code
can call it without the assembly issue.

> 3) Define where to add the
> "java.security.Security.setProperty("networkaddress.cache.ttl" , "0");"
> apply it to trunk and backport it (if you vote this please tell your
> preferences about the place to add this code).

IIRC, it must happen before other things so placement in a container
enviroment is interesting.  I'm offline with no Internet access at the
moment, so I can't check.

Personally, I'd backport the DNSServer fixes, reintroduce the static method,
and if we can find the right place add the networkaddress.cache.ttl as a
catch-all for bad third party code.

        --- Noel



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to