You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by Norman Maurer <no...@apache.org> on 2007/05/10 11:07:20 UTC

Re: svn commit: r536784 - /james/server/trunk/core-library/src/main/java/org/apache/james/dnsserver/DNSServer.java

Hi guys,

I whould like to backport this change to 2.3 branch because its a
critical bug. Maybe we should make it conifugurable in 2.3 because it
will change the lookup process.

WDYT ?

bye
Norman

norman@apache.org schrieb:
> Author: norman
> Date: Thu May 10 01:58:47 2007
> New Revision: 536784
>
> URL: http://svn.apache.org/viewvc?view=rev&rev=536784
> Log:
> Lookup local hostname and address on init of DNSServer to be able to resolv it later. See JAMES-787 and JAMES-302
>
> Modified:
>     james/server/trunk/core-library/src/main/java/org/apache/james/dnsserver/DNSServer.java
>
> Modified: james/server/trunk/core-library/src/main/java/org/apache/james/dnsserver/DNSServer.java
> URL: http://svn.apache.org/viewvc/james/server/trunk/core-library/src/main/java/org/apache/james/dnsserver/DNSServer.java?view=diff&rev=536784&r1=536783&r2=536784
> ==============================================================================
> --- james/server/trunk/core-library/src/main/java/org/apache/james/dnsserver/DNSServer.java (original)
> +++ james/server/trunk/core-library/src/main/java/org/apache/james/dnsserver/DNSServer.java Thu May 10 01:58:47 2007
> @@ -111,6 +111,13 @@
>       * calls
>       */
>      private boolean setAsDNSJavaDefault;
> +    
> +    private String localHostName;
> +    
> +    private String localCanonicalHostName;
> +    
> +    private String localAddress;
> +    
>  
>      /**
>       * @see org.apache.avalon.framework.configuration.Configurable#configure(Configuration)
> @@ -228,6 +235,15 @@
>              getLogger().info("Registered cache, resolver and search paths as DNSJava defaults");
>          }
>          
> +        // Cache the local hostname and local address. This is needed because 
> +        // the following issues:
> +        // JAMES-787
> +        // JAMES-302
> +        InetAddress addr = getLocalHost();
> +        localCanonicalHostName = addr.getCanonicalHostName();
> +        localHostName = addr.getHostName();
> +        localAddress = addr.getHostAddress();
> +        
>          getLogger().debug("DNSServer ...init end");
>      }
>  
> @@ -492,7 +508,13 @@
>       */
>      public InetAddress getByName(String host) throws UnknownHostException {
>          String name = allowIPLiteral(host);
> +         
>          try {
> +            // Check if its local
> +            if (name.equalsIgnoreCase(localHostName) || name.equalsIgnoreCase(localCanonicalHostName) ||name.equals(localAddress)) {
> +                return getLocalHost();
> +            }
> +            
>              return org.xbill.DNS.Address.getByAddress(name);
>          } catch (UnknownHostException e) {
>              Record[] records = lookupNoException(name, Type.A, "A");
> @@ -510,6 +532,11 @@
>      public InetAddress[] getAllByName(String host) throws UnknownHostException {
>          String name = allowIPLiteral(host);
>          try {
> +            // Check if its local
> +            if (name.equalsIgnoreCase(localHostName) || name.equalsIgnoreCase(localCanonicalHostName) ||name.equals(localAddress)) {
> +                return new InetAddress[] {getLocalHost()};
> +            }
> +            
>              InetAddress addr = org.xbill.DNS.Address.getByAddress(name);
>              return new InetAddress[] {addr};
>          } catch (UnknownHostException e) {
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
> For additional commands, e-mail: server-dev-help@james.apache.org
>
>
> !DSPAM:1,4642deea79381796414773!
>
>
>   


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org