commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Balakrishnan J (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (VFS-592) ftp IPV6 URI always throws 550 Failed to change directory to Remote Root Directory
Date Thu, 07 Jan 2016 12:12:39 GMT

     [ https://issues.apache.org/jira/browse/VFS-592?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Balakrishnan J updated VFS-592:
-------------------------------
    Description: 
FTP URI when connected with IPV6 machine always throws either of the following 

1) 550 Failed to change directory to Remote Root Directory
2) org.apache.commons.vfs2.FileSystemException: Could not determine the type of file

The code snippet :
-----------------------------

public void performFTP() throws IOException
{
		FileObject rootDirFileObject;
        
        FileSystemManager vfsManager = VFS.getManager();
        UserAuthenticator auth = new StaticUserAuthenticator(null, "ipv6test","Welcome6");

        FileSystemOptions opts = new FileSystemOptions();
        FtpFileSystemConfigBuilder.getInstance().setPassiveMode(opts, true);
        FtpFileSystemConfigBuilder.getInstance().setUserDirIsRoot(opts, true);
        
        DefaultFileSystemConfigBuilder.getInstance().setUserAuthenticator(opts, auth);
        rootDirFileObject = m_FsManager.resolveFile("ftp://adc00pcf.us.oracle.com/abc", opts);
        
        if(rootDirFileObject == null || !rootDirFileObject.exists()){
            try {
 			throw new Exception("ftp.connection.remote.path.does.not.exist");
            } catch (Exception e) {
            	// TODO Auto-generated catch block
            	e.printStackTrace();
            }
        }
}


  was:
FTP URI when connected with IPV6 machine always throws either of the following 

1) 550 Failed to change directory to Remote Root Directory
2) org.apache.commons.vfs2.FileSystemException: Could not determine the type of file

The code snippet :
-----------------------------

public FtpResult performScript(String pScript) throws IOException
	{
		FtpResult result=null;
					
		// First verify that the Remote and Local Directories do exist as directories
		try {

			//FileObject remoteRootDir = resolveDir(remoteDir);
			FileObject remoteRootDir = m_FsManager.resolveFile("ftp://adc00pcf.us.oracle.com/abc",
m_SrcTargetOptions);
			if (remoteRootDir.getType()!=FileType.FOLDER) {
				String msg = resfunction.getString("FTP.550FailedToChangeDirectoryToRemoteRoot").replaceAll("\\{0\\}",
remoteDir);
				ftpTrace = handleActionMessage(msg, lineNumber);
				if (m_stopFTPOnError)
					return new FtpResult(Status.ERROR, ftpTrace);
			}
		}
		catch (FileSystemException fsx) {
	        final Writer exWriter = new StringWriter();
	        fsx.printStackTrace(new PrintWriter(exWriter));
			ftpTrace = exWriter.toString();
			AgentLogger.log(Level.INFO, "Validate RemoteDirectory raised ", fsx);
			return new FtpResult(Status.ERROR, ftpTrace);
		}
		
		try {
			FileObject localRootDir =  m_FsManager.resolveFile(m_SchemeLocalDir);
			if (localRootDir.getType()!=FileType.FOLDER) {
				String msg = resfunction.getString("FTP.550FailedToChangeDirectoryToLocalRoot").replaceAll("\\{0\\}",
m_SchemeLocalDir);
				ftpTrace = handleActionMessage(msg, lineNumber);
				if (m_stopFTPOnError)
					return new FtpResult(Status.ERROR, ftpTrace);
			}
		}
		catch (FileSystemException fsx) {
			ftpTrace = handleActionMessage(resfunction.getString("FTP.550FailedToChangeDirectoryToLocalRoot"),
lineNumber);
			ftpTrace += fsx.getLocalizedMessage();
			AgentLogger.log(Level.FINE, "Validate LocalDirectory raised ", fsx);
			if (m_stopFTPOnError)
				return new FtpResult(Status.ERROR, ftpTrace);
		}			

		FileObject fileToRename=null;
		BufferedReader cmdReader = new BufferedReader(new StringReader(pScript));
		
			
			try {
					
					// MKD aa succeeds if aa does not exist
					// MKD aa/bb succeeds if aa does exist; fails if aa does not exist
					// MKD ./aa created /tmp/./aa
					actionMessage = resfunction.getString("FTP.550CreateDirectoryOperationFailed");
					FileObject newDir = resolveFile(getRemoteDir(relativeDir), "mynewdir");
					if (!newDir.exists())
						{
							newDir.createFolder();
							if (newDir.exists())
								actionMessage = resfunction.getString("FTP.257DirectoryCreated").replaceAll("\\{0\\}",
handleProtocol(newDir));
						}
					}						
				
			} 
			catch (Exception ex) {
				AgentLogger.log(Level.FINE, "FTP Cmd="+cmd, ex);
				
			} // end of processing the command
			
		}
		
		return result;
		
	}



> ftp IPV6 URI always throws 550 Failed to change directory to Remote Root Directory
> ----------------------------------------------------------------------------------
>
>                 Key: VFS-592
>                 URL: https://issues.apache.org/jira/browse/VFS-592
>             Project: Commons VFS
>          Issue Type: Bug
>    Affects Versions: 2.0
>            Reporter: Balakrishnan J
>            Priority: Critical
>
> FTP URI when connected with IPV6 machine always throws either of the following 
> 1) 550 Failed to change directory to Remote Root Directory
> 2) org.apache.commons.vfs2.FileSystemException: Could not determine the type of file
> The code snippet :
> -----------------------------
> public void performFTP() throws IOException
> {
> 		FileObject rootDirFileObject;
>         
>         FileSystemManager vfsManager = VFS.getManager();
>         UserAuthenticator auth = new StaticUserAuthenticator(null, "ipv6test","Welcome6");
>         FileSystemOptions opts = new FileSystemOptions();
>         FtpFileSystemConfigBuilder.getInstance().setPassiveMode(opts, true);
>         FtpFileSystemConfigBuilder.getInstance().setUserDirIsRoot(opts, true);
>         
>         DefaultFileSystemConfigBuilder.getInstance().setUserAuthenticator(opts, auth);
>         rootDirFileObject = m_FsManager.resolveFile("ftp://adc00pcf.us.oracle.com/abc",
opts);
>         
>         if(rootDirFileObject == null || !rootDirFileObject.exists()){
>             try {
>  			throw new Exception("ftp.connection.remote.path.does.not.exist");
>             } catch (Exception e) {
>             	// TODO Auto-generated catch block
>             	e.printStackTrace();
>             }
>         }
> }



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message