Noel J. Bergman wrote:

> Steve,
>
> Did you contact Brian at all, or get a chance to look?  I've
> just committed
> a change to fix JAMES-271 that I'd like reviewed.
>
>       --- Noel

Hi Noel,

I'm afraid that I haven't had a moment to look at this in any meaningful
way.

Your change looks entirely reasonable, but again I haven't had a moment to
test it.

On inspection, I see that there are still a few remaining references to
java.net.InetAddress.get[All]ByName()in CVS for 2_1_fcs, namely...

- java.net.InetAddress.getAllByName():
org.apache.james.James.initialize()

- java.net.InetAddress.getByName():
org.apache.james.fetchmail.computeDefaultDomainName()
org.apache.james.core.AbstractJamesService.configure(Configuration)
org.apache.james.util.InetNetwork.getByAddress(byte[])
org.apache.james.transport.mailets.RemoteDeliverySocketFactory.setBindAdress
(String)

... all of which look benign. None the less, shouldn't we make it a rule
that ALL address resolution activity should be performed via the DNSServer?
This way, we have a single 'authority' responsible for James' address
resolution rules.

I'm scratching my head as to an easy way to achieve this. One approach is to
use Aspects. At a minimum, all invocations of
java.net.InetAddress.get[All]ByName() and
org.xbill.DNS.Address.get[All]ByName() would be replaced by invocations of
org.apache.james.dnsserver.DNSServer.get[All]ByName(). I would favour an
Aspect pre-processor which fixed up the source (rather than the byte-code),
so that such fix-ups could be incorporated back into the source in the CVS.
This way we fix-up once and make it visible.

Due to workload and an impending sailing holiday, its unlikely that I will
be able to perform much practical testing over the next couple of weeks.
Comments are easy :)

-- Steve



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

Reply via email to