[ 
http://issues.apache.org/jira/browse/JAMES-302?page=comments#action_12322721 ] 

Danny Angus commented on JAMES-302:
-----------------------------------

"I seem to remember reading in some RFC that mail should always rely on DNS 
information and should not be delivered base on local host tables"

For SMTP this is largely correct, SMTP mail hosts may differ widely from other 
domain hosts and it is the MX records that mail is principally interested in.

However resolving IP addresses isn't quite the same thing, and may be required 
in James for other things, such as IP or hostname black/white lists or 
resolution of hosts for conectionsto other services/protocols.

I think the crux of the matter is in the classnames though, 
dnsserver.DNSServer.getByName() clearly implies that the lookup will be 
resolved by DNS not by refrence to /etc/hosts 

Lets be clear about what behaviour we want here, and why.

Why "in v2.2.0 java.net.InetAddress.getByName() has pretty thoroughly been 
replaced by org.apache.james.dnsserver.DNSServer.getByName(), " in the first 
place?





> Functionality of org.apache.james.dnsserver.DNSServer.getByName(String) is 
> not symetric to java.net.InetAddress.getByName(String)
> ---------------------------------------------------------------------------------------------------------------------------------
>
>          Key: JAMES-302
>          URL: http://issues.apache.org/jira/browse/JAMES-302
>      Project: James
>         Type: Bug
>   Components: DNSServer
>     Versions: 2.2.0
>  Environment: Tested on WIN2000, JDK 1.4.1_01-b01
>     Reporter: Steve Brewin
>     Priority: Minor
>      Fix For: 2.3.0

>
> org.apache.james.dnsserver.DNSServer.getByName(String) does not always return 
> the same result as java.net.InetAddress.getByName(address). Sometimes an 
> exception is thrown when the standard implementation does not.
> When passed a fully qualified domain name the results are the same. When 
> passed a hostname or the special name 'localhost', a 
> java.net.UnknownHostException is thrown by 
> org.apache.james.dnsserver.DNSServer while java.net.InetAddress resolves the 
> addresses correctly.
> This is a critical issue as in v2.2.0 java.net.InetAddress.getByName() has 
> pretty thoroughly been replaced by 
> org.apache.james.dnsserver.DNSServer.getByName(), but in the noted 
> circumstances it doesn't perform the same. Dependent code breaks.
> Here are the contrasting examples...
> // FAILS
> String address = "localhost";
> java.net.InetAddress inetAddress = 
> org.apache.james.dnsserver.DNSServer.getByName(address);
> return inetAddress;
> // FAILS
> String address = "hostname";
> java.net.InetAddress inetAddress = 
> org.apache.james.dnsserver.DNSServer.getByName(address);
> return inetAddress;
> // SUCCEEDS
> String address = "localhost";
> java.net.InetAddress inetAddress = java.net.InetAddress.getByName(address);
> return inetAddress;
> // SUCCEEDS
> String address = "hostname";
> java.net.InetAddress inetAddress = java.net.InetAddress.getByName(address);
> return inetAddress;

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


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

Reply via email to