NetWare FTP - ASCII transfer problem when using PSEUDO_SERVER_FLAG

  • 7001078
  • 01-Aug-2008
  • 26-Apr-2012

Environment

Novell FTP Services NWFTPD.NLM
Novell NetWare 6.5

Situation

The Novell NetWare FTP server provides some limited ability to act as though it is a Unix FTP server rather than a NetWare FTP server.  This is accomplished with the PSEUDO_SERVER_FLAG setting in SYS:\ETC\FTPSERV.CFG.  This often helps some clients (those which mistakenly think all FTP is UNIX-style) function better with NetWare's FTP Server.  However, it has come to Novell's attention that at least one situation exists where using the PSEUDO_SERVER_FLAG can lead to an undesirable result.  This can happen with the PSEUDO_SERVER_FLAG settings of 2 and 3, both of which cause the NetWare FTP Server to "lie" and announce itself as a "UNIX" system.
 
Some FTP clients make educated guesses about whether files should be transferred in ASCII mode or BINARY mode.  BINARY mode results in an exact copy of the original file.  ASCII mode is for pure ASCII text files, and can result in a slightly modified file, as the sending and receiving side attempt to compensate for possible differences in the way each handles the end-of-line delimiters in an ASCII file.
 
A common command-line FTP client in many Linux distributions is lukemftp.  This client is designed to know that if it is transferring a file to/from a another UNIX-style system (i.e. UNIX or Linux) that no ASCII adjustments are needed.  The client therefore selects BINARY mode (even for ASCII files) since it will be slightly more efficient.  However, if the FTP server is a NetWare server that is deceptively announcing itself as "UNIX," this can lead such a client to make this decision incorrectly.  In that case, when transferring an ASCII file, the end-of-line delimiters won't be properly adjusted.
 
This may or may not cause any concern, depending on the subsequent processes in which the ASCII file is involved.

Resolution

Novell cautions administrators about the use of PSEUDO_SERVER_FLAG=2 or =3.  The "lie" that this setting causes can help some FTP clients work better with NetWare's FTP server, but can make other clients function less accurately.
 
Novell's official recommendation is to let NetWare FTP announce itself as "NETWARE", by only using PSEUDO_SERVER_FLAG=0 or 1.  Administrators must weigh for themselves the benefits and risks using the UNIX "lie."