| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Although specs discourage it, ftps:// is generally accepted to mean
"implicit" TLS on a separate port (in the same style as HTTPS); some
servers still use this method and it's regaining popularity within IANA.
gvfs couldn't connect to such servers, as it only implemented "explicit"
TLS (STARTTLS) mode.
This patch implements "implicit" TLS mode and adds the 'ftpis' URI
scheme for it.
https://gitlab.gnome.org/GNOME/gvfs/issues/4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implement TLS support (aka explicit ftps). This is done by using a
different URL scheme, ftps, so that it is only used if explicitly
specified.
Although the protocol allows transparently upgrading a normal
connection to a secure one, there are several problems with this.
FEAT is needed to determine support for it but some servers do not allow
this before login. Some servers are configured to allow AUTH TLS but
have firewalls that block data connections because they can't inspect
the traffic. Servers may disallow TLS on the data connection, making it
unclear to the user how secure the connection is. Finally, there may be
verification errors which need to be presented to the user, and these
are unexpected because they did not choose to use ftps.
Making secure ftp opt-in as a separate URL scheme side-steps most of
these issues as well as ensuring there are no regressions for normal
ftp. When using ftps, we assume that the server implements AUTH TLS so
the connection is secured before login. It is also assumed that TLS for
data connections is allowed, so both control and data connection are
secure before any information is transferred.
Verification errors are presented during mounting. If the identity
changes on subsequent reconnections, the connection is aborted.
While presenting verification errors to the user in this way is perhaps
not the best way of handling security, it is fairly standard.
The implementation has been successfully tested on vsftpd, ProFTPD,
Pure-FTPd, IIS, and FileZilla Server.
Based on a patch by Benjamin Otte.
https://bugzilla.gnome.org/show_bug.cgi?id=526582
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Updating the address of the FSF.
This has been done by:
while read file; do
sed -i 's:59 Temple Place:51 Franklin Street:' $file
sed -i 's:Suite 330:Fifth Floor:' $file
sed -i 's:02111-1307:02110-1301:' $file
done
https://bugzilla.gnome.org/show_bug.cgi?id=656598
Signed-off-by: Tomas Bzatek <tbzatek@redhat.com>
|
|
|
|
| |
A continuation to https://bugzilla.gnome.org/show_bug.cgi?id=661148
|
|
|
|
|
|
|
| |
Support for it will come in later patches.
The patch also detects chgrp support, but we're not intending to use it
yet.
|
| |
|
|
|
|
|
| |
now that we try EPSV anyway, we can omit assuming it exists and try PASV
first.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The new code doesn't rely on funny workaround flags anymore and also
doesn't set workaround flags unconditionally after any failure.
It now works like this:
1) if a default method exists, try the default method.
2) if the default method failed, try all methods in order until one succeeds.
3) if any method succeeded, make it the new default method.
This way, we take the proper method by default, and have a proper
fallback mechanism for flaky connections/servers that sometimes fail to
connect properly.
Also, it's much easier to add new methods (like active FTP) later.
|
| |
|
|
|
|
| |
Progress updates are not sent yet.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A busy connection is a connection that is currently used as a handle for
a file transfer (upload or download). If all connections are busy, we
can just return EBUSY instead of waiting for 30 seconds for a connection
to become available.
This is mostly useful for performance when there is a maximum of 1
connection to the server and this connection is busy transferring a
file. Even gio functions like g_file_copy() sometimes do additional
operations while transferring files. (It does a query_info for the
progress callback.)
|
|
|
|
|
| |
- replace tabs with 8 spaces
- remove spaces at end of line
|
|
|
|
|
|
| |
The cache handling has been split into a separate file and structure
now. While the API still isn't perfect, it's much clearer than before.
It's also faster when looking up lots of symlinks.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
split out the old FtpConnection struct into a separate GVfsFtpTask
structure that acts as a one-stop solution to vfuncs. It keeps track of
all important structures:
- the backend
- the current job
- the potential connection to the server
- the error state
during the lifetime of a backend vfunc and supplies convenience
functions to ease implementing these vfuncs. The API of gvfsftptask.h is
documented.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-02-28 Benjamin Otte <otte@gnome.org>
* daemon/Makefile.am:
* daemon/gvfsbackendftp.c:
* daemon/gvfsbackendftp.h:
drop my current FTP code and continue development in here. Should make
testing easier for adventurous people.
svn path=/trunk/; revision=1414
|
|
|
|
|
|
|
|
|
|
|
|
| |
2007-11-01 Christian Kellner <gicmo@gnome.org>
* client/*.[ch]:
* common/*.[ch]:
* daemon/*.[ch]:
* test/*.[ch]:
Add copyright information to source files.
svn path=/trunk/; revision=1007
|
|
Original git commit by Hans Petter Jansson <hpj@cl.no> at 1183988607 +0200
svn path=/trunk/; revision=683
|