You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by dl...@apache.org on 2008/11/18 19:01:32 UTC

svn commit: r718667 - in /mina/ftpserver/trunk/core/src: main/java/org/apache/ftpserver/ main/java/org/apache/ftpserver/command/impl/ main/java/org/apache/ftpserver/config/spring/ main/java/org/apache/ftpserver/impl/ main/java/org/apache/ftpserver/list...

Author: dlat
Date: Tue Nov 18 10:01:31 2008
New Revision: 718667

URL: http://svn.apache.org/viewvc?rev=718667&view=rev
Log:
FTPSERVER-136 incorrent IP used in opening data channel.


Modified:
    mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/DataConnectionConfiguration.java
    mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/DataConnectionConfigurationFactory.java
    mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/command/impl/PASV.java
    mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/config/spring/ListenerBeanDefinitionParser.java
    mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/config/spring/SpringUtil.java
    mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/impl/DefaultDataConnectionConfiguration.java
    mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/impl/IODataConnectionFactory.java
    mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/listener/Listener.java
    mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/listener/ListenerFactory.java
    mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/listener/nio/AbstractListener.java
    mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/listener/nio/NioListener.java
    mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/PasvAddressTest.java
    mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/PasvAddressWithHostnameTest.java
    mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/config/spring/MyCustomListener.java
    mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/config/spring/SpringConfigTest.java

Modified: mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/DataConnectionConfiguration.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/DataConnectionConfiguration.java?rev=718667&r1=718666&r2=718667&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/DataConnectionConfiguration.java (original)
+++ mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/DataConnectionConfiguration.java Tue Nov 18 10:01:31 2008
@@ -53,7 +53,7 @@
      * Get the active data connection local host.
      * @return The {@link InetAddress} for active connections
      */
-    InetAddress getActiveLocalAddress();
+    String getActiveLocalAddress();
 
     /**
      * Get the active data connection local port.
@@ -65,7 +65,7 @@
      * Get passive server address. null, if not set in the configuration.
      * @return The {@link InetAddress} used for passive connections
      */
-    InetAddress getPassiveAddress();
+    String getPassiveAddress();
 
     /**
      * Get the passive address that will be returned to clients on the PASV
@@ -74,7 +74,7 @@
      * @return The passive address to be returned to clients, null if not
      *         configured.
      */
-    InetAddress getPassiveExernalAddress();
+    String getPassiveExernalAddress();
 
     /**
      * Get the passive ports to be used for data connections. Ports can be

Modified: mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/DataConnectionConfigurationFactory.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/DataConnectionConfigurationFactory.java?rev=718667&r1=718666&r2=718667&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/DataConnectionConfigurationFactory.java (original)
+++ mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/DataConnectionConfigurationFactory.java Tue Nov 18 10:01:31 2008
@@ -39,12 +39,12 @@
     private SslConfiguration ssl;
 
     private boolean activeEnabled = true;
-    private InetAddress activeLocalAddress;
+    private String activeLocalAddress;
     private int activeLocalPort = 0;
     private boolean activeIpCheck = false;
     
-    private InetAddress passiveAddress;
-    private InetAddress passiveExternalAddress;
+    private String passiveAddress;
+    private String passiveExternalAddress;
     private PassivePorts passivePorts = new PassivePorts(new int[] { 0 });
 
     /**
@@ -52,7 +52,7 @@
      */
     public DataConnectionConfigurationFactory() {
         try {
-            activeLocalAddress = InetAddress.getLocalHost();
+            activeLocalAddress = InetAddress.getLocalHost().getHostAddress();
         } catch (UnknownHostException e) {
             throw new FtpServerConfigurationException(
                     "Failed to resolve localhost", e);
@@ -65,12 +65,26 @@
      * @return The {@link DataConnectionConfiguration} instance
      */
     public DataConnectionConfiguration createDataConnectionConfiguration() {
+    	checkValidAddresses();
         return new DefaultDataConnectionConfiguration(idleTime,
                 ssl, activeEnabled, activeIpCheck,
                 activeLocalAddress, activeLocalPort,
                 passiveAddress, passivePorts,
                 passiveExternalAddress);
     }
+    /*
+     * (Non-Javadoc)
+     *  Checks if the configured addresses to be used in further data connections 
+     *  are valid.
+     */
+    private void checkValidAddresses(){
+    	try{
+    		InetAddress.getByName(passiveAddress);
+    		InetAddress.getByName(passiveExternalAddress);
+    	}catch(UnknownHostException ex){
+    		throw new FtpServerConfigurationException("Unknown host", ex);
+    	}
+    }
     
     /**
      * Get the maximum idle time in seconds.
@@ -123,17 +137,17 @@
 
     /**
      * Get the local address for active mode data transfer.
-     * @return The {@link InetAddress} used for active data connections
+     * @return The address used for active data connections
      */
-    public InetAddress getActiveLocalAddress() {
+    public String getActiveLocalAddress() {
         return activeLocalAddress;
     }
 
     /**
      * Set the active data connection local host.
-     * @param activeLocalAddress The {@link InetAddress} for active connections
+     * @param activeLocalAddress The address for active connections
      */
-    public void setActiveLocalAddress(InetAddress activeLocalAddress) {
+    public void setActiveLocalAddress(String activeLocalAddress) {
         this.activeLocalAddress = activeLocalAddress;
     }
 
@@ -155,17 +169,17 @@
 
     /**
      * Get passive host.
-     * @return The {@link InetAddress} used for passive data connections
+     * @return The address used for passive data connections
      */
-    public InetAddress getPassiveAddress() {
+    public String getPassiveAddress() {
         return passiveAddress;
     }
 
     /**
      * Set the passive server address. 
-     * @param passiveAddress The {@link InetAddress} used for passive connections
+     * @param passiveAddress The address used for passive connections
      */
-    public void setPassiveAddress(InetAddress passiveAddress) {
+    public void setPassiveAddress(String passiveAddress) {
         this.passiveAddress = passiveAddress;
     }
 
@@ -176,7 +190,7 @@
      * @return The passive address to be returned to clients, null if not
      *         configured.
      */
-    public InetAddress getPassiveExernalAddress() {
+    public String getPassiveExernalAddress() {
         return passiveExternalAddress;
     }
 
@@ -186,7 +200,7 @@
      * 
      * @param passiveExternalAddress The passive address to be returned to clients
      */
-    public void setPassiveExernalAddress(InetAddress passiveExternalAddress) {
+    public void setPassiveExernalAddress(String passiveExternalAddress) {
         this.passiveExternalAddress = passiveExternalAddress;
     }
     

Modified: mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/command/impl/PASV.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/command/impl/PASV.java?rev=718667&r1=718666&r2=718667&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/command/impl/PASV.java (original)
+++ mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/command/impl/PASV.java Tue Nov 18 10:01:31 2008
@@ -22,6 +22,7 @@
 import java.io.IOException;
 import java.net.InetAddress;
 import java.net.InetSocketAddress;
+import java.net.UnknownHostException;
 
 import org.apache.ftpserver.DataConnectionException;
 import org.apache.ftpserver.command.AbstractCommand;
@@ -64,18 +65,19 @@
         session.resetState();
 
         // set data connection
-        ServerDataConnectionFactory dataCon = session.getDataConnection();
-        InetAddress externalPassiveAddress = session.getListener()
-                .getDataConnectionConfiguration().getPassiveExernalAddress();
-
+         ServerDataConnectionFactory dataCon = session.getDataConnection();
+         String externalPassiveAddress = session.getListener()
+         .getDataConnectionConfiguration().getPassiveExernalAddress(); 
+        
         try {
-            InetSocketAddress dataConAddress = dataCon
+        	
+        	InetSocketAddress dataConAddress = dataCon
                     .initPassiveDataConnection();
 
             // get connection info
             InetAddress servAddr;
             if (externalPassiveAddress != null) {
-                servAddr = externalPassiveAddress;
+                servAddr = resolveAddress(externalPassiveAddress);
             } else {
                 servAddr = dataConAddress.getAddress();
             }
@@ -98,4 +100,15 @@
         }
 
     }
+    /*
+     *  (non-Javadoc)
+     *   Returns an InetAddress object from a hostname or IP address.
+     */
+    private InetAddress resolveAddress(String host) throws DataConnectionException{
+    	try{
+    		return InetAddress.getByName(host);
+    	}catch(UnknownHostException ex){
+    		throw new DataConnectionException(ex.getLocalizedMessage(),ex);
+    	}
+    }
 }

Modified: mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/config/spring/ListenerBeanDefinitionParser.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/config/spring/ListenerBeanDefinitionParser.java?rev=718667&r1=718666&r2=718667&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/config/spring/ListenerBeanDefinitionParser.java (original)
+++ mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/config/spring/ListenerBeanDefinitionParser.java Tue Nov 18 10:01:31 2008
@@ -129,7 +129,7 @@
                     element, "idle-timeout", 300));
         }
 
-        InetAddress localAddress = SpringUtil.parseInetAddress(element,
+        String localAddress = SpringUtil.parseStringFromInetAddress(element,
                 "local-address");
         if (localAddress != null) {
             factoryBuilder.addPropertyValue("serverAddress", localAddress);
@@ -275,24 +275,24 @@
                         "ip-check", false));
                 dc.setActiveLocalPort(SpringUtil.parseInt(activeElm,
                         "local-port", 0));
-
-                InetAddress localAddress = SpringUtil.parseInetAddress(
+                
+                String localAddress = SpringUtil.parseStringFromInetAddress(
                         activeElm, "local-address");
                 if (localAddress != null) {
-                    dc.setActiveLocalAddress(localAddress);
+                	dc.setActiveLocalAddress(localAddress);
                 }
             }
 
             Element passiveElm = SpringUtil.getChildElement(element,
                     FtpServerNamespaceHandler.FTPSERVER_NS, "passive");
             if (passiveElm != null) {
-                InetAddress address = SpringUtil.parseInetAddress(passiveElm,
+                String address = SpringUtil.parseStringFromInetAddress(passiveElm,
                         "address");
                 if (address != null) {
-                    dc.setPassiveAddress(address);
+                	dc.setPassiveAddress(address);
                 }
 
-                InetAddress externalAddress = SpringUtil.parseInetAddress(
+                String externalAddress = SpringUtil.parseStringFromInetAddress(
                         passiveElm, "external-address");
                 if (externalAddress != null) {
                     dc.setPassiveExernalAddress(externalAddress);
@@ -311,7 +311,6 @@
                         .debug("SSL configuration found for the listener, falling back for that for the data connection");
                 dc.setSslConfiguration(listenerSslConfiguration);
             }
-
         }
 
         return dc.createDataConnectionConfiguration();

Modified: mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/config/spring/SpringUtil.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/config/spring/SpringUtil.java?rev=718667&r1=718666&r2=718667&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/config/spring/SpringUtil.java (original)
+++ mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/config/spring/SpringUtil.java Tue Nov 18 10:01:31 2008
@@ -255,5 +255,20 @@
         }
         return null;
     }
-
+    /**
+     * Return an attribute value after checking it is a valid {@link InetAddress}
+     * 
+     * @param parent
+     *            The element
+     * @param attrName
+     *            The attribute name
+     * @return The attribute string value.
+     */
+    public static String parseStringFromInetAddress(final Element parent,
+    		final String attrName){
+    	if ( parseInetAddress(parent, attrName)!=null){
+    		return parent.getAttribute(attrName);
+    	}
+    	return null;
+    }
 }

Modified: mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/impl/DefaultDataConnectionConfiguration.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/impl/DefaultDataConnectionConfiguration.java?rev=718667&r1=718666&r2=718667&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/impl/DefaultDataConnectionConfiguration.java (original)
+++ mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/impl/DefaultDataConnectionConfiguration.java Tue Nov 18 10:01:31 2008
@@ -20,9 +20,11 @@
 package org.apache.ftpserver.impl;
 
 import java.net.InetAddress;
+import java.net.UnknownHostException;
 
 import org.apache.ftpserver.DataConnectionConfiguration;
 import org.apache.ftpserver.DataConnectionConfigurationFactory;
+import org.apache.ftpserver.DataConnectionException;
 import org.apache.ftpserver.ssl.SslConfiguration;
 
 /**
@@ -41,12 +43,12 @@
     private SslConfiguration ssl;
 
     private boolean activeEnabled;
-    private InetAddress activeLocalAddress;
+    private String activeLocalAddress;
     private int activeLocalPort;
     private boolean activeIpCheck;
     
-    private InetAddress passiveAddress;
-    private InetAddress passiveExternalAddress;
+    private String passiveAddress;
+    private String passiveExternalAddress;
     private PassivePorts passivePorts;
 
     /**
@@ -54,9 +56,9 @@
      */
     public DefaultDataConnectionConfiguration(int idleTime,
             SslConfiguration ssl, boolean activeEnabled, boolean activeIpCheck,
-            InetAddress activeLocalAddress, int activeLocalPort,
-            InetAddress passiveAddress, PassivePorts passivePorts,
-            InetAddress passiveExternalAddress) {
+            String activeLocalAddress, int activeLocalPort,
+            String passiveAddress, PassivePorts passivePorts,
+            String passiveExternalAddress) {
         this.idleTime = idleTime;
         this.ssl = ssl;
         this.activeEnabled = activeEnabled;
@@ -92,7 +94,7 @@
     /**
      * Get the local address for active mode data transfer.
      */
-    public InetAddress getActiveLocalAddress() {
+    public String getActiveLocalAddress() {
         return activeLocalAddress;
     }
 
@@ -106,16 +108,16 @@
     /**
      * Get passive host.
      */
-    public InetAddress getPassiveAddress() {
+    public String getPassiveAddress() {
         return passiveAddress;
     }
 
     /**
      * Get external passive host.
      */
-    public InetAddress getPassiveExernalAddress() {
-        return passiveExternalAddress;
-    }
+    public String getPassiveExernalAddress()  {
+    	return passiveExternalAddress;
+    	}
 
     /**
      * Get passive data port. Data port number zero (0) means that any available

Modified: mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/impl/IODataConnectionFactory.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/impl/IODataConnectionFactory.java?rev=718667&r1=718666&r2=718667&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/impl/IODataConnectionFactory.java (original)
+++ mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/impl/IODataConnectionFactory.java Tue Nov 18 10:01:31 2008
@@ -24,6 +24,7 @@
 import java.net.InetSocketAddress;
 import java.net.ServerSocket;
 import java.net.Socket;
+import java.net.UnknownHostException;
 import java.security.GeneralSecurityException;
 
 import javax.net.ssl.SSLContext;
@@ -161,12 +162,18 @@
 
         // open passive server socket and get parameters
         try {
-            DataConnectionConfiguration dataCfg = session.getListener()
+            
+        	DataConnectionConfiguration dataCfg = session.getListener()
                     .getDataConnectionConfiguration();
-            address = dataCfg.getPassiveAddress();
+        	
+        	String passiveAddress=dataCfg.getPassiveAddress();
+        	
+        	
 
-            if (address == null) {
+            if (passiveAddress == null) {
                 address = serverControlAddress;
+            }else{
+            	address = resolveAddress(dataCfg.getPassiveAddress());
             }
 
             if (secure) {
@@ -293,8 +300,8 @@
                         dataSoc = createSocket(ssl, address, port, null,
                                 localPort, false);
                     } else {
-                        InetAddress localAddr = dataConfig
-                                .getActiveLocalAddress();
+                        InetAddress localAddr = resolveAddress(dataConfig
+                                .getActiveLocalAddress());
                         dataSoc = createSocket(ssl, address, port, localAddr,
                                 localPort, false);
                     }
@@ -302,8 +309,8 @@
                     if (localPort == 0) {
                         dataSoc = new Socket(address, port);
                     } else {
-                        InetAddress localAddr = dataConfig
-                                .getActiveLocalAddress();
+                        InetAddress localAddr =resolveAddress(dataConfig
+                                .getActiveLocalAddress());
                         dataSoc = new Socket(address, port, localAddr,
                                 localPort);
                     }
@@ -355,7 +362,17 @@
         }
         return ssoc;
     }
-
+    /*
+     *  (non-Javadoc)
+     *   Returns an InetAddress object from a hostname or IP address.
+     */
+    private InetAddress resolveAddress(String host) throws DataConnectionException{
+    	try{
+    		return InetAddress.getByName(host);
+    	}catch(UnknownHostException ex){
+    		throw new DataConnectionException(ex.getLocalizedMessage(),ex);
+    	}
+    }
     /*
      * (non-Javadoc)
      * 

Modified: mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/listener/Listener.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/listener/Listener.java?rev=718667&r1=718666&r2=718667&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/listener/Listener.java (original)
+++ mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/listener/Listener.java Tue Nov 18 10:01:31 2008
@@ -122,7 +122,7 @@
      * 
      * @return The local socket {@link InetAddress}, if set
      */
-    InetAddress getServerAddress();
+    String getServerAddress();
 
     /**
      * Get configuration for data connections made within this listener

Modified: mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/listener/ListenerFactory.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/listener/ListenerFactory.java?rev=718667&r1=718666&r2=718667&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/listener/ListenerFactory.java (original)
+++ mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/listener/ListenerFactory.java Tue Nov 18 10:01:31 2008
@@ -20,10 +20,12 @@
 package org.apache.ftpserver.listener;
 
 import java.net.InetAddress;
+import java.net.UnknownHostException;
 import java.util.List;
 
 import org.apache.ftpserver.DataConnectionConfiguration;
 import org.apache.ftpserver.DataConnectionConfigurationFactory;
+import org.apache.ftpserver.FtpServerConfigurationException;
 import org.apache.ftpserver.impl.DefaultDataConnectionConfiguration;
 import org.apache.ftpserver.listener.nio.NioListener;
 import org.apache.ftpserver.ssl.SslConfiguration;
@@ -38,7 +40,7 @@
  */
 public class ListenerFactory {
 
-    private InetAddress serverAddress;
+    private String serverAddress;
 
     private int port = 21;
 
@@ -82,6 +84,11 @@
      * @return The created listener
      */
     public Listener createListener() {
+    	try{
+    		InetAddress.getByName(serverAddress);
+    	}catch(UnknownHostException e){
+    		throw new FtpServerConfigurationException("Unknown host",e);
+    	}
         return new NioListener(serverAddress, port, implicitSsl, ssl,
                 dataConnectionConfig, idleTimeout, blockedAddresses,
                 blockedSubnets);
@@ -136,7 +143,7 @@
      * 
      * @return The local socket {@link InetAddress}, if set
      */
-    public InetAddress getServerAddress() {
+    public String getServerAddress()  {
         return serverAddress;
     }
 
@@ -147,7 +154,7 @@
      * @param serverAddress
      *            The local socket {@link InetAddress}
      */
-    public void setServerAddress(InetAddress serverAddress) {
+    public void setServerAddress(String serverAddress) {
         this.serverAddress = serverAddress;
     }
 

Modified: mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/listener/nio/AbstractListener.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/listener/nio/AbstractListener.java?rev=718667&r1=718666&r2=718667&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/listener/nio/AbstractListener.java (original)
+++ mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/listener/nio/AbstractListener.java Tue Nov 18 10:01:31 2008
@@ -40,7 +40,7 @@
  */
 public abstract class AbstractListener implements Listener {
 
-    private InetAddress serverAddress;
+    private String serverAddress;
 
     private int port = 21;
 
@@ -59,7 +59,7 @@
     /**
      * Constructor for internal use, do not use directly. Instead use {@link ListenerFactory}
      */
-    public AbstractListener(InetAddress serverAddress, int port, boolean implicitSsl, 
+    public AbstractListener(String serverAddress, int port, boolean implicitSsl, 
             SslConfiguration sslConfiguration, DataConnectionConfiguration dataConnectionConfig,
             int idleTimeout, List<InetAddress> blockedAddresses, List<Subnet> blockedSubnets) {
         this.serverAddress = serverAddress;
@@ -103,7 +103,7 @@
     /**
      * {@inheritDoc}
      */
-    public InetAddress getServerAddress() {
+    public String getServerAddress() {
         return serverAddress;
     }
 

Modified: mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/listener/nio/NioListener.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/listener/nio/NioListener.java?rev=718667&r1=718666&r2=718667&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/listener/nio/NioListener.java (original)
+++ mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/listener/nio/NioListener.java Tue Nov 18 10:01:31 2008
@@ -83,7 +83,7 @@
     /**
      * Constructor for internal use, do not use directly. Instead use {@link ListenerFactory}
      */
-    public NioListener(InetAddress serverAddress, int port,
+    public NioListener(String serverAddress, int port,
             boolean implicitSsl,
             SslConfiguration sslConfiguration,
             DataConnectionConfiguration dataConnectionConfig, 

Modified: mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/PasvAddressTest.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/PasvAddressTest.java?rev=718667&r1=718666&r2=718667&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/PasvAddressTest.java (original)
+++ mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/PasvAddressTest.java Tue Nov 18 10:01:31 2008
@@ -22,6 +22,7 @@
 import java.net.InetAddress;
 import java.net.InetSocketAddress;
 
+import org.apache.ftpserver.DataConnectionConfiguration;
 import org.apache.ftpserver.DataConnectionConfigurationFactory;
 import org.apache.ftpserver.FtpServerFactory;
 import org.apache.ftpserver.listener.ListenerFactory;
@@ -36,7 +37,7 @@
 */
 public class PasvAddressTest extends ClientTestTemplate {
 
-    private InetAddress passiveAddress;
+    private String passiveAddress;
 
     protected FtpServerFactory createServer() throws Exception {
         FtpServerFactory server = super.createServer();
@@ -45,14 +46,14 @@
         
         DataConnectionConfigurationFactory dccFactory = new DataConnectionConfigurationFactory();
         
-        passiveAddress = TestUtil.findNonLocalhostIp();
+        passiveAddress = TestUtil.findNonLocalhostIp().getHostAddress();
         dccFactory.setPassiveAddress(passiveAddress);
         dccFactory.setPassivePorts("12347");
+        DataConnectionConfiguration dcc=dccFactory.createDataConnectionConfiguration();
         
-        listenerFactory.setDataConnectionConfiguration(dccFactory.createDataConnectionConfiguration());
-
-        server.addListener("default", listenerFactory.createListener());
+        listenerFactory.setDataConnectionConfiguration(dcc);
         
+        server.addListener("default", listenerFactory.createListener());
         return server;
     }
 
@@ -63,7 +64,7 @@
         String reply = client.getReplyString();
 
         String ipEncoded = SocketAddressEncoder.encode(new InetSocketAddress(
-                passiveAddress, 12347));
+                InetAddress.getByName(passiveAddress), 12347));
 
         assertTrue("The PASV address should contain \"" + ipEncoded
                 + "\" but was \"" + reply + "\"", reply.indexOf(ipEncoded) > -1);

Modified: mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/PasvAddressWithHostnameTest.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/PasvAddressWithHostnameTest.java?rev=718667&r1=718666&r2=718667&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/PasvAddressWithHostnameTest.java (original)
+++ mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/PasvAddressWithHostnameTest.java Tue Nov 18 10:01:31 2008
@@ -43,7 +43,7 @@
         
         DataConnectionConfigurationFactory dccFactory = new DataConnectionConfigurationFactory();
 
-        dccFactory.setPassiveExernalAddress(InetAddress.getByName("127.0.0.1"));
+        dccFactory.setPassiveExernalAddress("127.0.0.1");
 
         listenerFactory.setDataConnectionConfiguration(dccFactory.createDataConnectionConfiguration());
 

Modified: mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/config/spring/MyCustomListener.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/config/spring/MyCustomListener.java?rev=718667&r1=718666&r2=718667&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/config/spring/MyCustomListener.java (original)
+++ mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/config/spring/MyCustomListener.java Tue Nov 18 10:01:31 2008
@@ -61,7 +61,7 @@
         return port;
     }
 
-    public InetAddress getServerAddress() {
+    public String getServerAddress() {
         return null;
     }
 

Modified: mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/config/spring/SpringConfigTest.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/config/spring/SpringConfigTest.java?rev=718667&r1=718666&r2=718667&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/config/spring/SpringConfigTest.java (original)
+++ mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/config/spring/SpringConfigTest.java Tue Nov 18 10:01:31 2008
@@ -65,12 +65,12 @@
         assertNotNull(listener);
         assertTrue(listener instanceof NioListener);
         assertEquals(2222, ((NioListener) listener).getPort());
-        assertEquals(InetAddress.getByName("1.2.3.4"), ((NioListener) listener)
-                .getServerAddress());
+        assertEquals(InetAddress.getByName("1.2.3.4"), InetAddress.getByName(((NioListener) listener)
+                .getServerAddress()));
         assertEquals(true, ((NioListener) listener)
                 .getDataConnectionConfiguration().isActiveEnabled());
-        assertEquals(InetAddress.getByName("1.2.3.4"), ((NioListener) listener)
-                .getDataConnectionConfiguration().getActiveLocalAddress());
+        assertEquals(InetAddress.getByName("1.2.3.4"), InetAddress.getByName(((NioListener) listener)
+        		.getDataConnectionConfiguration().getActiveLocalAddress()) );
         assertEquals("123-125", ((NioListener) listener)
                 .getDataConnectionConfiguration().getPassivePorts());