FileZilla 3 development diary
Moderator: Project members
What puzzles me is, if someone is using a firewall or NAT router, which are very complex and invasive devices, why do they blame the other unrelated software for bugs in THEIR firewall/router?
Instead in the past, I've received lots and lots of complaints from clueless, ignorant users about transfers timing out. In all cases the culprit is the user's firewall or NAT router.
Due to the nature of the FTP protocol, the control connection is completely idle during the transfer. Many broken firewalls and routers hence drop the control connection, ultimately causing the transfer to time out or even fail.
In theory the SO_KEEPALIVE socket option sounds like a solution. However, the default keepalive time is set to two hours, whereas lots of broken routers/firewalls already drop the connection far earlier, e.g. 15 minutes or less.
While I have no idea how to set that option on other platforms, I figured out how to set it on Windows using WSAIoctl with the SIO_KEEPALIVE_VALS option.
I hope this helps the clueless.
Instead in the past, I've received lots and lots of complaints from clueless, ignorant users about transfers timing out. In all cases the culprit is the user's firewall or NAT router.
Due to the nature of the FTP protocol, the control connection is completely idle during the transfer. Many broken firewalls and routers hence drop the control connection, ultimately causing the transfer to time out or even fail.
In theory the SO_KEEPALIVE socket option sounds like a solution. However, the default keepalive time is set to two hours, whereas lots of broken routers/firewalls already drop the connection far earlier, e.g. 15 minutes or less.
While I have no idea how to set that option on other platforms, I figured out how to set it on Windows using WSAIoctl with the SIO_KEEPALIVE_VALS option.
I hope this helps the clueless.
I don't like OS X, it's worse than Windows. It's a failed attempt at creating a unix-like system, despite its BSD core or the worthless unix certifications.
My latest gripe: Application bundles. Which are actually just directories with the name suffix .app and a badly documented structure of the expected contents of that directory.
Take for example the application icons. You'd thing that since it's already directory based you could just drop your finished icons in an open, widely accepted format into it. That sounds nice and reasonably, and on top it is. But doesn't work.
Just like Windows, OS X uses its very own, proprietary icon format with the extension .icns. The difference: Windows uses it for historical reasons, OS X however is recent enough, Apple should have known better.
I couldn't find any program running under a non-tutti-frutti operating systems, neither open source nor freeware nor fully commercial software. Outside of OS X, the .icns format just doesn't exist. How does Apple expect to lure cross platform developers if a potential developer can't even create an application icon? Now internally, .icns appears to be very simple to the .ico file format, a simple container for a rasterized images in various sizes.
Since the application bundle is a directory, why didn't Apple choose to use a collection of .png files with a fixed name and size? I.e. inside a bundle, several files like 16x16.png, 32x32.png and so on.
Next there's the integration of the bundle with the operating system. You can actually execute some directories on OS X, namely the bundles. What OS X does behind the scenes is something like this:
- read the file MacInfo.plist in some subdirectory inside the bundle. This file actually is a XML file with a rather strange structure. Inside a <plist><dict> element, it has pairs of <key> and <string> elements. This means that it relies on a fixed order. I'd never design any XML scheme in that way. (Question: Any XML experts here? Do the XML specs say anything about the relative order of elements?).
- Read the string for the key CFBundleExecutable
- Execute said file
So far so good, however there are a couple of problems with this.
First of all Finder hides the fact that the bundles are just simple directories from the user. No operating should ever hide things from the user unless the user explicitly tells the system to do so.
Anti-DLL hell. We all know DLL hell all too well, some might know the elegant solution under Unix-like systems with versioned .so files, but few know about the implications of application bundles. Using application bundles in essence prohibits using shared libraries. By that I mean shared libraries which by definition live outside the bundle using such a library. Program + library in the very same bundle counts as static library, it's not shared with any other program, despite being a .so for example.
With such a scheme, using shared libraries would involve scanning all other bundles for the library, resulting in a massive performance drop.
To enforce the confusion, OS X does not display any error message if a program (inside a bundle) cannot be started if for example one dependency is missing, may it be a dependency from a future OS X version (e.g. trying to run an app for Tiger on 10.3 or older) or a shared library.
My latest gripe: Application bundles. Which are actually just directories with the name suffix .app and a badly documented structure of the expected contents of that directory.
Take for example the application icons. You'd thing that since it's already directory based you could just drop your finished icons in an open, widely accepted format into it. That sounds nice and reasonably, and on top it is. But doesn't work.
Just like Windows, OS X uses its very own, proprietary icon format with the extension .icns. The difference: Windows uses it for historical reasons, OS X however is recent enough, Apple should have known better.
I couldn't find any program running under a non-tutti-frutti operating systems, neither open source nor freeware nor fully commercial software. Outside of OS X, the .icns format just doesn't exist. How does Apple expect to lure cross platform developers if a potential developer can't even create an application icon? Now internally, .icns appears to be very simple to the .ico file format, a simple container for a rasterized images in various sizes.
Since the application bundle is a directory, why didn't Apple choose to use a collection of .png files with a fixed name and size? I.e. inside a bundle, several files like 16x16.png, 32x32.png and so on.
Next there's the integration of the bundle with the operating system. You can actually execute some directories on OS X, namely the bundles. What OS X does behind the scenes is something like this:
- read the file MacInfo.plist in some subdirectory inside the bundle. This file actually is a XML file with a rather strange structure. Inside a <plist><dict> element, it has pairs of <key> and <string> elements. This means that it relies on a fixed order. I'd never design any XML scheme in that way. (Question: Any XML experts here? Do the XML specs say anything about the relative order of elements?).
- Read the string for the key CFBundleExecutable
- Execute said file
So far so good, however there are a couple of problems with this.
First of all Finder hides the fact that the bundles are just simple directories from the user. No operating should ever hide things from the user unless the user explicitly tells the system to do so.
Anti-DLL hell. We all know DLL hell all too well, some might know the elegant solution under Unix-like systems with versioned .so files, but few know about the implications of application bundles. Using application bundles in essence prohibits using shared libraries. By that I mean shared libraries which by definition live outside the bundle using such a library. Program + library in the very same bundle counts as static library, it's not shared with any other program, despite being a .so for example.
With such a scheme, using shared libraries would involve scanning all other bundles for the library, resulting in a massive performance drop.
To enforce the confusion, OS X does not display any error message if a program (inside a bundle) cannot be started if for example one dependency is missing, may it be a dependency from a future OS X version (e.g. trying to run an app for Tiger on 10.3 or older) or a shared library.
After googling 5 seconds, I found that XnView (a free cross-platform image viewer) seems to support .icns files:botg wrote:I couldn't find any program running under a non-tutti-frutti operating systems, neither open source nor freeware nor fully commercial software. Outside of OS X, the .icns format just doesn't exist.
http://filext.com/file-extension/ICNS
-
- 425 Can't open data connection
- Posts: 42
- Joined: 2007-09-27 07:27
I checked it (I use XNView as default image app since many years), but XNView can only read this icns files. I think botg need a program that can write this files, but I am not sure.eyebex wrote:After googling 5 seconds, I found that XnView (a free cross-platform image viewer) seems to support .icns files:
<removed advertisement>
http://www.shinyfrog.net/en/software/img2icns/
http://www.macupdate.com/info.php/id/18369
looks like open source..but you may already know of this one
http://www.macupdate.com/info.php/id/18369
looks like open source..but you may already know of this one
http://www.os4depot.net/index.php?funct ... ns2png.lha
http://www.cli-apps.org/content/show.ph ... tent=65278
http://sourceforge.net/projects/icns/
http://ftp.pardus.org.tr/stable/2007-June/000914.html
all the same different sites
not sure if this is any good
http://www.cli-apps.org/content/show.ph ... tent=65278
http://sourceforge.net/projects/icns/
http://ftp.pardus.org.tr/stable/2007-June/000914.html
all the same different sites
not sure if this is any good
-
- 425 Can't open data connection
- Posts: 42
- Joined: 2007-09-27 07:27
I only found some informations about this icns files:
http://ezix.org/project/wiki/MacOSXIcon ... caldetails
http://ezix.org/project/wiki/MacOSXIcon ... caldetails
<removed advertisement>
Where should I post bugs? In separate thread? For now I'll post it here.
See the screenshot.
http://www.menelon.ee/private/mozilla/filezilla_bug.png
I renamed a file remotely (F2), switced windows, server disconnected and I got this. Only after I closed the rename dialog I was able to reconnect to any server.
See the screenshot.
http://www.menelon.ee/private/mozilla/filezilla_bug.png
I renamed a file remotely (F2), switced windows, server disconnected and I got this. Only after I closed the rename dialog I was able to reconnect to any server.
Like for all SourceForge projects, go to the bug tracker on the project page:Ezh wrote:Where should I post bugs? In separate thread? For now I'll post it here.
http://sourceforge.net/tracker/?group_i ... tid=372241
Maybe ICNWriter. Included in Glassworks.
http://www.halogenware.com/software/glassworks.html
Java based?
http://www.halogenware.com/software/glassworks.html
Java based?
Time to implement support for these legacy FTP proxies which some people seem to really like for some stupid reason.
I hope I have identified the most common proxy login sequences as outlined below:
USER@host
SITE
OPEN
%h Host
%u Username
%p Password
%a Account
%s Proxy user
%w Proxy password
I hope I have identified the most common proxy login sequences as outlined below:
USER@host
Code: Select all
USER %s
PASS %w
USER %u@%h
PASS %p
ACCT %a
Code: Select all
USER %s
PASS %w
SITE %h
USER %u
PASS %p
ACCT %a
Code: Select all
USER %s
PASS %w
OPEN %h
USER %u
PASS %p
ACCT %a
%u Username
%p Password
%a Account
%s Proxy user
%w Proxy password