This project is read-only.
3
Vote

FEAT 211 No extension supported

description

I have a server that responds to the FEAT command with "211 No extension supported", causing
 
System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
at System.Collections.Generic.List1.RemoveAt(Int32 index)
at AlexPilotti.FTPS.Client.FTPSClient.GetFeaturesFromServer()
at AlexPilotti.FTPS.Client.FTPSClient.Connect(String hostname, Int32 port, NetworkCredential credential, ESSLSupportMode sslSupportMode, RemoteCertificateValidationCallback userValidateServerCertificate, X509Certificate x509ClientCert, Int32 sslMinKeyExchangeAlgStrength, Int32 sslMinCipherAlgStrength, Int32 sslMinHashAlgStrength, Nullable
1 timeout, Boolean useCtrlEndPointAddressForData, EDataConnectionMode dataConnectionMode)

comments

rsjrny wrote Jan 26, 2013 at 9:27 PM

My MVS (Z/OS) system returns the same FEAT and is causing me a connection problem.


Status: Resolving address of my.website.com
Status: Connecting to nn.nn.nn.nn:21...
Status: Connection established, waiting for welcome message...
Response: 220-FTPD1 IBM FTP CS V1R11 at my.website.com, 14:33:20 on 2013-01-26.
Response: 220 Connection will close if idle for more than 15 minutes.
Command: USER thisisme
Response: 331 Send password please.
Command: PASS ******
Response: 230 thisisme is logged on. Working directory is "thisisme.".
Command: SYST
Response: 215 MVS is the operating system of this server. FTP Server is running on z/OS.
Command: FEAT
Response: 211 no Extensions supported
Status: Server does not support non-ASCII characters.
Status: Connected
Status: Retrieving directory listing...

wrote Feb 22, 2013 at 12:35 AM

wrote May 14, 2013 at 10:08 PM

jwikman wrote May 14, 2013 at 10:12 PM

I've got the same issue with a ftp server.

There is a simple fix for this in FeatCmd()

Change
features.RemoveAt(0);
features.RemoveAt(features.Count - 1);
To:
if (features.Count > 0)
  features.RemoveAt(0);
if (features.Count > 0)
  features.RemoveAt(features.Count - 1);