Opened 14 years ago

Last modified 6 years ago

#975 new Feature request

Add server type AS400 / Iseries

Reported by: johnnymac75 Owned by:
Priority: normal Component: FileZilla Client
Keywords: Cc: johnnymac75, Tim Kosse, Alexander Schuch, bobcozzi
Component version: Operating system type:
Operating system version:

Description

  • FileZilla version: 2.2.17
  • FTP Server (SYST command): OS/400 is the remote

operating system. The TCP/IP version is "V5R3M0"

The contents of the working directory is listed
correctly after logging in:

Status: Retrieving directory listing...
Command: PWD
Response: 257 "QGPL" is current library.
Command: TYPE A
Response: 200 Representation type is ASCII nonprint.
Command: PORT 10,10,21,33,5,33
Response: 200 PORT subcommand request successful.
Command: LIST
Response: 125 List started.
Response: 250 List completed.
Status: Directory listing successful

Note that the AS400 FTP server uses the name "library"
instead of directory, and "file" + "member" for PC
files (I'm not an AS400 developer => please correct me
if I'm wrong).

But I get the following error when trying to change to
another directory:

Command: CWD /DMFIN/
Response: 550-Specified directory does not exist or
cannot be accessed.
Response: 550 Working directory not changed.
Error: Could not retrieve directory listing

I tried with the command-line ftp client provided with
Windows XP, and the following commands work:

ftp> cd DMFIN
250 "DMFIN" is current library.
ftp> ls
200 PORT subcommand request successful.
125 List started.

The problem seems to come from the fact that FileZilla
doesn't issue the CWD DMFIN command as expected, but
CWD /DMFIN/: it adds the forward slashes and that seems
to be the cause of the problem!

Attachments (2)

filezilla-debug-trace.txt (51.5 KB) - added by johnnymac75 14 years ago.
FileZilla debug trace (trace messages + raw directory listing)
filezilla-debug-trace-2005-11-4.txt (56.6 KB) - added by johnnymac75 14 years ago.
FileZilla debug trace (trace messages + raw directory listing)

Download all attachments as: .zip

Change History (18)

comment:1 Changed 14 years ago by Tim Kosse

Please post a complete log.

Changed 14 years ago by johnnymac75

Attachment: filezilla-debug-trace.txt added

FileZilla debug trace (trace messages + raw directory listing)

comment:2 Changed 14 years ago by johnnymac75

Using the following site-specific command helped:

  • "SITE NAMEFMT 1" works if we use the following path:

/QSYS.LIB/DMFIN.LIB

The problem is that the files inside DMFIN are named
differently:
ACRFOLD and ACRFOLD.TXT are replaced by 1 list entries for
ACRFOLD.FILE!

comment:3 Changed 14 years ago by johnnymac75

For correctness, the 2 list entries ACRFOLD and ACRFOLD.TXT
are replaced by 1 entry (ACRFOLD.FILE) only when "SITE
LISTFMT 1" is used (to tell the FTP server to use the UNIX
list format).
By default, LISTFMT is set to 0 and the files are listed as:
ACRFOLD.FILE and ACRFOLD.FILE/TXT.MBR, while I was expecting
to see ACRFOLD.TXT!

I know this is very OS/400-specific, but if FileZilla
allowed to simply CWD DMFIN, I think I would have what I
expected.

Thanks.

comment:4 Changed 14 years ago by Tim Kosse

Can you please describe the filesystem syntax for your server?

comment:5 Changed 14 years ago by johnnymac75

The filesystem is structured as a set of LIBRARIES, which
can contain FILES, which can contain MEMBERS (which are
somewhat equivalent to PC files).
Object names are limited to 10 chararcters.

The filesystem syntax that can be used in FTP depends on the
"Naming Format" specified using the NAMEFMT site command.

  1. When NAMEFMT is set to 0 (default):

==============================

  • PWD returns "QGPL" is current library." after loggin in.
  • After CDUP, PWD returns "QSYS" is current library.
  • QSYS seems to be the root of the file system, as CDUP

commands don't change the working directory above QSYS.

  • MKDIR only creates new libraries under "QSYS", whatever

the current library!

  • GET DMFIN/DMPI.TXT works, where DMFIN is a library, DMPI a

file and TXT the member.

  • but GET /QSYS/DMFIN/DMPI.TXT returns 501 File must be specified by library/file.member.
  • get QSYS/DMFIN/DMPI.TXT returns 501 Character (/) not allowed in object name.
  • LIST dmfin returns DMFIN/ACRFOLD.TXT DMFIN/DMPI.TXT whatever the current library!
  • CD DMFIN + LIST returns ACRFOLD.TXT DMPI.TXT
  • LIST /dmfin returns 501 File must be specified by library/file.member.
  • LIST dmfin/dmpi returns DMPI.TXT

=> The expected syntax is LIBRARY/FILE.MEMBER.

  1. When NAMEFMT is set to 1:

==============================
Note that this option is set automatically by the FTP server
when entering a pathname starting with a '/'.

  • LIST dmfin returns 501 Unknown extension in database file name.
  • LIST dmfin.lib returns ACRFOLD.FILE/TXT.MBR DMPI.FILE/TXT.MBR
  • PWD returns 257 "/QSYS.LIB/DMFIN.LIB" is current library.
  • cd QSYS.LIB returns 250 "/QSYS.LIB" is current library.
  • CDUP returns

250 "/" is current directory.

  • CD qsys.lib/dmfin.lib returns

250 "/QSYS.LIB/DMFIN.LIB" is current library.

=> The filesystem syntax becomes
/QSYS.LIB/LIBRARY.LIB/FILE.FILE/MEMBER.MBR

=> I read that NAMEFMT 1 is used to allow to browse the FTP
server with a web browser.
It seems to work in FileZilla too, except that listing a
FILE.FILE always displays QPGMR instead of the members of
the file (see attached log file).

Conclusion
=================
If NAMEFMT is set to 0: FileZilla doesn' t allow to change
directory.
If NAMEFMT is set to 1: FileZilla allows to change
directory, but fails to list the contents of a FILE object.

It would be great if FileZilla could also work with NAMEFMT
set to 0, since the AS400 names are preserved with that
option (unlike the case with NAMEFMT 1), but I realize this
is more like a weird request rather than a bug report...

Thank you.

Changed 14 years ago by johnnymac75

FileZilla debug trace (trace messages + raw directory listing)

comment:6 Changed 13 years ago by Alexander Schuch

Can you please try FileZilla 3 beta and see if that version works for you?

comment:7 Changed 12 years ago by bobcozzi

You're confusing LIBRARIES with DIRECTORIES. Although the AS/400 ("System i" as its called today) does map libraries to directories, you must first tell it which format for directories you are using.
The system naming format, or the Unix-style naming format.

SITE QUOTE NAMEFMT 1

and

SITE QUOTE NAMEFMT 0

Are the two commands that toggle between "system format" and "Unix-style" format.
Note that your response message was "DMFIN is current library". Which would indicate that your system is configured to default to the system-naming convention.
Override that by issuing a QUOTE NAMEFMT 0 before any other FTP command (other than sign on) is issued.

comment:8 Changed 12 years ago by Tim Kosse

Supporting these ancient legacy file systems is a PITA.

I'm afraid that without access to an AS/400 system combined with developer friendly documentation, I can't do much to fix this.

comment:9 Changed 11 years ago by Alexander Schuch

FileZilla 3 supports automatic post-login commands, as mentioned in the following forum post:
<http://forum.filezilla-project.org/viewtopic.php?f=2&t=2056&p=12410&hilit=post+login+commands#p12410>

Using "SITE QUOTE NAMEFMT 0|1" as post-login command should command the server to use Unix-style format and FileZilla 3 will work as usual? Can anyone test this?

comment:10 Changed 11 years ago by bobcozzi

This seems to be an issue with FireFox, not the AS/400.
I'm having the same issue on non-AS/400 servers--it always adds a trailing forward slash.
This subtlety caused a week of research on the server support team's part but then I noticed the forward slash.

by entering the directory into the tree window directly, (without a slash) it worked.
Not sure when this "feature" was introduced, however.

comment:11 Changed 11 years ago by Alexander Schuch

@bobcozzi:
Which version of FileZilla did you try?

comment:12 Changed 11 years ago by Alexander Schuch

related to:
[ 1970587 ] Add Server type as400 / Iseries

comment:13 Changed 7 years ago by Alexander Schuch

SourceForge issue 1970587 is #2967 here.

comment:14 Changed 7 years ago by Alexander Schuch

Status: newmoreinfo

What's the status here? Do you still have that problem with FileZilla 3.5.3?
The feature request #2967 contains information about how do access data on an AS400. So if no one complains, I will merge this item with the mentioned RFE.

comment:15 Changed 6 years ago by Alexander Schuch

Status: moreinfonew

The following information has been provided by "bud_weizer" in #2967:

You can find all the information on IBM'S iseries web site at:
http://publib.boulder.ibm.com/infocenter/systems/scope/i5os/index.jsp?topic=/rzaiq/rzaiqfrmt.htm&tocNode=int_219470

Here you can create an as/400 account to do your tests with FTP for the Iseries (as/400).
http://www.rzkh.de/english/indexeng.html

There is a product that does it, you can see it at:
http://www.bluezonesoftware.com/products/secure-ftp

comment:16 Changed 6 years ago by Alexander Schuch

Summary: AS400 FTP server: cannot change working directoryAdd server type AS400 / Iseries
Type: Bug reportFeature request
Note: See TracTickets for help on using tickets.