Hi all,

Triggered by a post about IPv6 at the James user list and the fact that I've 
been playing with IPv6 at home I started looking into the IPv6 support of 
James. Having an IPv6 network at home but no mail server to support it is so 
uncool ;-)
And since this is open-source I'll try to code it instead of just talking 
about it, but I'd like to have some feedback.
(Don't expect any miracles, I don't have that much spare time...)

So far I've found that SMTP and POP over IPv6 connections seem to work 
perfectly, wich is to be expected since the JRE will bind to an IPv6 
interface in just the same way as an IPv4 interface. But as Noel pointed out 
allready, the authorized addresses configuration does not accept IPv6 
addresses. I've started adding IPv6 support in there and this seems to work, 
although i did not test it that well (yet).
There are issues with this as well, since someip.dom/64 could be a valid IPv6 
network but when it resolves to both IPv4 and IPv6 it's not alway simple to 
guess what was intended. And /64 on an IPv4 address will create an open 
relay, so perhaps it's a good idea to add a separete AuthorizedAddressesV6 
configuration?
(As a side note, is using DNS names in AuthorizedAddresses a smart thing to 
do? I *might* be vunarable to DNS poisoning and could cause problems when DNS 
entry's are changed.)

Most other IPv6 stuff will fail, since James never resolves AAAA records, but 
only looks for A records. Getting DNSServer to resolve AAAA records and deal 
with IPv6 literals seems to be the big step. For as far i can see, most 
InetAddresses originate from DNSServer anyway (or am I missing something?), 
and they can be used transparently.
There will be a need for some configuration, trying to resolve AAAA records on 
a server wich does not have IPv6 connectivity is rather useless. The same 
applies when there is IPv6 connectivity but no IPv4 connectivity. This may be 
rare for now, but is likely to happen more and more in the future. So, for 
now, my guess is we need to be able to configure wich IP versions are 
available and perhaps also wich one is prefered.
I might be possible to get some sensible information about this by simply 
walking through the available network interfaces. At least for IPv6 it is 
possible to see the difference between local and global connectivity by 
looking at the local addresses (that is, until people start doing NAT on 
IPv6, wich is kinda dumb and therefore likely to happen</flamebait>)

 As for dealing with address wich have both IPv4 and IPv6 addresses, whould it 
be right to assume that this should be treated the same way as a server with 
2 IPv4 addresses?

I think the DNS stuff should be fairly straight forward, but I'd like to get 
some pointers about the best way to deal with the configuration issues. 
Another issue might be what happens to existing mailets, they might not 
expect to see IPv6 addresses and e.g. assume that InetAddress.getAddres will 
allways return 4 bytes. I know i'd do that if i wrote the code 2 years ago...

I guess there will be other issues as well, such as wanting to use different 
relay hosts for IPv4 and IPv6 addresses, but I think it's best to get the 
basic up and running first.

One last question, do you want me to create (one or separate) Jira issues for 
this?

Arjan Veenstra
(off the get some sleep now)


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

Reply via email to