[Mono-bugs] [Bug 627562] New: FTP Client Lib fails on MONO: Protocol option not supported

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Mon Aug 2 13:38:00 EDT 2010



           Summary: FTP Client Lib fails on MONO: Protocol option not
    Classification: Mono
           Product: Mono: Class Libraries
           Version: 2.6.x
          Platform: Sparc
        OS/Version: Solaris 10
            Status: NEW
          Severity: Normal
          Priority: P5 - None
         Component: CORLIB
        AssignedTo: mono-bugs at lists.ximian.com
        ReportedBy: Lorenzo_Solano at Codetel.com.do
         QAContact: mono-bugs at lists.ximian.com
          Found By: ---
           Blocker: ---

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:
Gecko/20100625 Firefox/3.6.6 ( .NET CLR 3.5.30729)

We reported this issue to the developers of the FTP library, and they answer to
Us that the problem is in the MONO implementation (2.6.1) for Solaris 10.
http://code.google.com/p/starksoft-component-libraries/issues/detail?id=36 ,
they suggest to us that the problem is on the MONO implementation of the class

The issue is that on Windows and other platforms the same code, without the
modifications that I made to the FTP library; works just fine.

They also point us to this thread on the site of another FTP library having the
same issue with the same environment.

Reproducible: Always

Steps to Reproduce:
Using starksoft-ftp library
Steps to reproduce problem:
1. Make a console app to connect to FTP server
2. Compile in windows and copy folders release or debug to solaris
3. execute the 'consoleapplication.exe' with mono

This is the code sniped:
this is a piece of code use in the app.

FtpClient ftp = new FtpClient(hostname);

ftp.FileTransferType = TransferType.Binary;
ftp.DataTransferMode = TransferMode.Passive;

// open a connect to the rserver
ftp.Open(user, password);

FtpItemCollection list = ftp.GetDirList("/*");

// list all the items to the debug output window
foreach (FtpItem item in list)
    Console.WriteLine(item.Name + " " + item.Modified.ToString() + " " +
item.Size.ToString() + " "
+ item.SymbolicLink + " " + item.ItemType.ToString() + " " + item.Attributes +
" ---- " + item.RawText);

Actual Results:  
GLib: Cannot convert message: Conversion from character set 'UTF-8' to '646' is
not supported

Unhandled Exception: System.Net.Sockets.SocketException: Protocol option not
  at System.Net.Sockets.Socket.SetSocketOption (SocketOptionLevel optionLevel,
SocketOptionName optionName, Int32 optionValue) [0x00000] in <filename
  at System.Net.Sockets.TcpClient.set_ReceiveTimeout (Int32 value) [0x00000] in
<filename unknown>:0
  at Starksoft.Net.Ftp.FtpBase.CreateCommandConnection () [0x00000] in
<filename unknown>:0
  at Starksoft.Net.Ftp.FtpBase.OpenCommandConn () [0x00000] in <filename
  at Starksoft.Net.Ftp.FtpClient.Open (System.String user, System.String
password) [0x00000] in <filename unknown>:0
  at ConsoleApplication.Program.Main (System.String[] args) [0x00000] in
<filename unknown>:0

The problems seams to be on the implementation of System.Net.Sockets.TcpClient,
because when we comment the lines below the application runs just fine:
//_dataConn.SendTimeout = _tcpTimeout; 
//_dataConn.ReceiveTimeout = _tcpTimeout;
_dataConn.ReceiveBufferSize = _tcpBufferSize;
_dataConn.SendBufferSize = _tcpBufferSize;

The same app runs fine on Windows without commenting those lines.

Expected Results:  
No Exception thrown, connect to server and list all files.

Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.

More information about the mono-bugs mailing list