FileZilla 3 development diary

Moderator: Project members

Message
Author
User avatar
botg
Site Admin
Posts: 35563
Joined: 2004-02-23 20:49
First name: Tim
Last name: Kosse

Re: FileZilla 3 development diary

#796 Post by botg » 2008-07-03 10:39

I have no idea. Could have been a flipped bit as well ;)

User avatar
botg
Site Admin
Posts: 35563
Joined: 2004-02-23 20:49
First name: Tim
Last name: Kosse

Re: FileZilla 3 development diary

#797 Post by botg » 2008-07-07 22:07

Good news everybody. The socket class is now complete. FTP(S) has been completely ported to use the new class, only thing missing is the http class (as used by the update check code) and the network configuration wizard.
Once that has been completed I can release a first beta.

Future improvement: Move file transfers entirely into secondary threads using OS-specific optimizations, e.g. IO-completion ports (MSW), splice (Linux) and similar zero-copy features.

But before I'll implement that, the new class needs to be thoroughly tested, otherwise the gap would get too huge.

User avatar
boco
Contributor
Posts: 26936
Joined: 2006-05-01 03:28
Location: Germany

Re: FileZilla 3 development diary

#798 Post by boco » 2008-07-08 07:48

So that will mark 3.0.11.1 the last working release for Win2000?
No support requests over PM! You will NOT get any reply!!!
FTP connection problems? Please read Network Configuration.
FileZilla connection test: https://filezilla-project.org/conntest.php
FileZilla Pro support: https://customerforum.fileZilla-project.org

User avatar
botg
Site Admin
Posts: 35563
Joined: 2004-02-23 20:49
First name: Tim
Last name: Kosse

Re: FileZilla 3 development diary

#799 Post by botg » 2008-07-08 08:02

Yes. Unless somebody writes a patch that passes my unwritten quality expectations.

User avatar
botg
Site Admin
Posts: 35563
Joined: 2004-02-23 20:49
First name: Tim
Last name: Kosse

Re: FileZilla 3 development diary

#800 Post by botg » 2008-07-12 08:19

Ripoff: http://www.smartftp.com/features/visualcompare.php

At least they are trying ;)

User avatar
botg
Site Admin
Posts: 35563
Joined: 2004-02-23 20:49
First name: Tim
Last name: Kosse

Re: FileZilla 3 development diary

#801 Post by botg » 2008-07-15 09:22

/me shuffles to the drawer to fetch some SOCKS.

User avatar
boco
Contributor
Posts: 26936
Joined: 2006-05-01 03:28
Location: Germany

Re: FileZilla 3 development diary

#802 Post by boco » 2008-07-15 17:37

botg wrote:/me shuffles to the drawer to fetch some SOCKS.
LOL nice one.

/me goes over to my desktop to open windows.
No support requests over PM! You will NOT get any reply!!!
FTP connection problems? Please read Network Configuration.
FileZilla connection test: https://filezilla-project.org/conntest.php
FileZilla Pro support: https://customerforum.fileZilla-project.org

User avatar
botg
Site Admin
Posts: 35563
Joined: 2004-02-23 20:49
First name: Tim
Last name: Kosse

Re: FileZilla 3 development diary

#803 Post by botg » 2008-07-16 16:57

I've finished implementing SOCKS5 and HTTP/1.1 proxy support. Unfortunately SF.net is broken again, cannot commit changes to the repository anymore.

I'm getting very frustrated with SF.net, I think I need to migrate the services soon to my own server.

User avatar
botg
Site Admin
Posts: 35563
Joined: 2004-02-23 20:49
First name: Tim
Last name: Kosse

Re: FileZilla 3 development diary

#804 Post by botg » 2008-07-17 09:08

A few days ago, some user reported a bug in which FileZilla was unable to resume a download of a 7 GiB large file. The server was large file aware and did support resume of files > 4GiB. Yet FileZilla thought the server did not support this.

FileZilla does have a heuristic to detect servers not supporting resume of such large files (which there are plenty). It issues the REST command with the remote file size - 1 as argument and downloads the file. If REST fails or if the server does not transfer exactly 1 byte, the server does not support resume of large files.

So far so good, but for some reason, FileZilla didn't send something like REST 7GiB-1, but used an offset around 12 GiB. I had a hunch and compared the hexadecimal representation of both sizes. Low 32bits were identical, but the high 32 bits of the 64bit integer were doubled.

I wondered why this problem never showed up in my testing, but then I remembered that the user had a 64bit version of FileZilla. Trying it myself on a 64bit installation of Fedora, I could reproduce the problem. Checking my code, I could not found any flaws, so I checked wxWidgets' code.

As it turned out, on 64bit Linux, sizeof(unsigned long) == 8
The class in wxWidgets that handles 64bit integers is called wxLongLong and the function to get the low 32bits looked like this:

Code: Select all

unsigned long GetLo() { return (unsigned long)m_ll; }
That worked fine on 32bit systems, but on some 64bit systems (those with 8 byte long), it returned the 64bit integer unchanged.

The effects on FileZilla were the following on large files:
- Failing resume capability tests
- Transfer progress incorrect
- Uploads could not be resumed properly
- Overwrite if different size file exists action almost always reporting different size
- possibly more

While the effects on FileZilla were rather harmless, other programs might not be as fortunate. Programs using the output of GetLo() to allocate memory, address memory offsets or similar would be in all sorts of trouble.
If you're the wxWidgets package maintainer of a Linux distribution, you shoud consider backporting this change: http://svn.wxwidgets.org/viewvc/wx/wxWi ... hrev=54663 (If you're worried about ABI, you can just replace the unsigned long with wxUInt32 inside the GetLo() function.)

User avatar
botg
Site Admin
Posts: 35563
Joined: 2004-02-23 20:49
First name: Tim
Last name: Kosse

Re: FileZilla 3 development diary

#805 Post by botg » 2008-07-17 13:37

I like databases, they make my life manageable. In particular the versioninfo database with the newly added compat table. I wish I had that back at version 3.0.7 of FileZilla when I could no longer distribute binaries for OS X 10.4

As I wrote before, Windows 2000 support will be dropped with 3.1.0 (unless somebody else writes a patch). See what the update check page returns if called from Windows 2000 (NT 5.0) and Windows XP (NT 5.1):
http://update.filezilla-project.org/upd ... ersion=5.0
http://update.filezilla-project.org/upd ... ersion=5.1

User avatar
botg
Site Admin
Posts: 35563
Joined: 2004-02-23 20:49
First name: Tim
Last name: Kosse

Re: FileZilla 3 development diary

#806 Post by botg » 2008-07-18 21:10

Once again, I got one of those hillarious mails where some stupid user complains about things he doesn't even understand:
Wieso versuchst du auf imstupid83.kicks-ass.net zuzugreifen.
Ohne passwort wird das nichts. Ich bitte dies zu unterlassen. Danke
And the translation:
Why are you trying to access imstupid83.kicks-ass.net?
Without password you won't succeed. Please refrain from doing this. Thanks
For brand awareness, the server prints my e-mail address in its welcome message. And user is too stupid to distinguish between the server reply and the client that's connection. I pray to you Jebus, let it rain brain! (Yes I do believe in Jebus. There has to be somebody to do all the meaningless tasks the FSM won't touch with his noodly appendage)

User avatar
botg
Site Admin
Posts: 35563
Joined: 2004-02-23 20:49
First name: Tim
Last name: Kosse

Re: FileZilla 3 development diary

#807 Post by botg » 2008-07-26 15:26

Some ideas for 3.1.1:

- Don't require a username for ask and interactive logon types
- A new event dispatcher for the networking classes, current one are getting too complex
- See if it is possible to not blank remote file list if getting disconnected on behalf of the server.

User avatar
boco
Contributor
Posts: 26936
Joined: 2006-05-01 03:28
Location: Germany

Re: FileZilla 3 development diary

#808 Post by boco » 2008-07-26 18:01

botg wrote:- See if it is possible to not blank remote file list if getting disconnected on behalf of the server.
:mrgreen:
Just dim it (change the font color to grey'ish maybe) so you see the disconnection.
No support requests over PM! You will NOT get any reply!!!
FTP connection problems? Please read Network Configuration.
FileZilla connection test: https://filezilla-project.org/conntest.php
FileZilla Pro support: https://customerforum.fileZilla-project.org

User avatar
botg
Site Admin
Posts: 35563
Joined: 2004-02-23 20:49
First name: Tim
Last name: Kosse

Re: FileZilla 3 development diary

#809 Post by botg » 2008-08-09 22:14

Of the three things I've mentioned in my previous post, only the first one will be in 3.1.1. I've spent quite some time on the event dispatcher, but had to discard it eventually. My prototype didn't work at all. I'll probably try again in a future version.

User avatar
boco
Contributor
Posts: 26936
Joined: 2006-05-01 03:28
Location: Germany

Re: FileZilla 3 development diary

#810 Post by boco » 2008-08-09 23:31

Take your time, it's a leisure time project after all. :mrgreen:
No support requests over PM! You will NOT get any reply!!!
FTP connection problems? Please read Network Configuration.
FileZilla connection test: https://filezilla-project.org/conntest.php
FileZilla Pro support: https://customerforum.fileZilla-project.org

Post Reply