You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Sebb (JIRA)" <ji...@apache.org> on 2011/06/04 21:08:47 UTC
[jira] [Updated] (NET-231) ParserInitializationException for a
couple of server types (AS/400 and UNKNOWN Type: L8)
[ https://issues.apache.org/jira/browse/NET-231?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sebb updated NET-231:
---------------------
Fix Version/s: (was: 1.5)
> ParserInitializationException for a couple of server types (AS/400 and UNKNOWN Type: L8)
> ----------------------------------------------------------------------------------------
>
> Key: NET-231
> URL: https://issues.apache.org/jira/browse/NET-231
> Project: Commons Net
> Issue Type: Bug
> Affects Versions: 1.5, 2.0
> Reporter: Rob Weaver
> Priority: Minor
> Attachments: type_l8_1.5.patch
>
>
> Was getting an error when connecting to one of our vendor file servers that was returning "215 UNKNOWN Type: L8" for a SYST command.
> The DefaultFTPFileEntryParserFactory does a toUpperCase on the key, which was then being compared to the constant SYST_L8.
> That constant was "Type: L8", so it could never match.
> Also some systems respond as "AS/400" instead of "OS/400", so added the check for that string.
> Patch below and attached for 1.5, see issue NET-320 for patch for 2.0
> # This patch file was generated by NetBeans IDE
> # Following Index: paths are relative to: C:\Documents and Settings\robw\My Documents\NetBeansProjects\trunk
> # This patch can be applied using context Tools: Patch action on respective folder.
> # It uses platform neutral UTF-8 encoding and \n newlines.
> # Above lines and this line are ignored by the patching process.
> Index: src/java/org/apache/commons/net/ftp/FTPClientConfig.java
> --- src/java/org/apache/commons/net/ftp/FTPClientConfig.java Base (BASE)
> +++ src/java/org/apache/commons/net/ftp/FTPClientConfig.java Locally Modified (Based On LOCAL)
> @@ -171,7 +171,13 @@
> */
> public static final String SYST_OS400 = "OS/400";
>
> +
> /**
> + * Alternate SYST value for an AS/400 system.
> + */
> + public static final String SYST_AS400 = "AS/400";
> +
> + /**
> * Identifier by which an MVS-based ftp server is known throughout
> * the commons-net ftp system.
> */
> @@ -185,7 +191,7 @@
> *
> * @since 1.5
> */
> - public static final String SYST_L8 = "Type: L8";
> + public static final String SYST_L8 = "TYPE: L8";
>
> /**
> * Identifier by which an Netware-based ftp server is known throughout
> Index: src/java/org/apache/commons/net/ftp/parser/DefaultFTPFileEntryParserFactory.java
> --- src/java/org/apache/commons/net/ftp/parser/DefaultFTPFileEntryParserFactory.java Base (BASE)
> +++ src/java/org/apache/commons/net/ftp/parser/DefaultFTPFileEntryParserFactory.java Locally Modified (Based On LOCAL)
> @@ -109,7 +109,8 @@
> {
> parser = createOS2FTPEntryParser();
> }
> - else if (ukey.indexOf(FTPClientConfig.SYST_OS400) >= 0)
> + else if ((ukey.indexOf(FTPClientConfig.SYST_OS400) >= 0)
> + || (ukey.indexOf(FTPClientConfig.SYST_AS400) >= 0))
> {
> parser = createOS400FTPEntryParser();
> }
> Index: src/test/org/apache/commons/net/ftp/parser/DefaultFTPFileEntryParserFactoryTest.java
> --- src/test/org/apache/commons/net/ftp/parser/DefaultFTPFileEntryParserFactoryTest.java Base (BASE)
> +++ src/test/org/apache/commons/net/ftp/parser/DefaultFTPFileEntryParserFactoryTest.java Locally Modified (Based On LOCAL)
> @@ -62,6 +62,15 @@
> parser = factory.createFileEntryParser("OS/400");
> assertTrue(parser instanceof CompositeFileEntryParser);
>
> + parser = factory.createFileEntryParser("AS/400");
> + assertTrue(parser instanceof CompositeFileEntryParser);
> +
> + // Added test to make sure it handles the Unix systems that were
> + // compiled with OS as "UNKNOWN". This test validates that the
> + // check is case-insensitive.
> + parser = factory.createFileEntryParser("UNKNOWN Type: L8");
> +
> +
> try {
> parser = factory.createFileEntryParser("OS2FTPFileEntryParser");
> fail("Exception should have been thrown. \"OS2FTPFileEntryParser\" is not a recognized key");
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira