[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
http://bugzilla.novell.com/show_bug.cgi?id=627562
http://bugzilla.novell.com/show_bug.cgi?id=627562#c0
Summary: FTP Client Lib fails on MONO: Protocol option not
supported
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:1.9.2.6)
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
System.Net.TcpClient.
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.
http://ftps.codeplex.com/Thread/View.aspx?ThreadId=61949
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);
}
ftp.Close();
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
supported
at System.Net.Sockets.Socket.SetSocketOption (SocketOptionLevel optionLevel,
SocketOptionName optionName, Int32 optionValue) [0x00000] in <filename
unknown>:0
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
unknown>:0
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