| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
A bunch of proxy servers assume that the first command sent by an FTP
server is USER and if it isn't, they bomb out. We do want to support
FEAT-before-USER though so we can do secure FTP (if we ever actually
implement it). So we need to make sure we try it at least once and if it
fails, we open a new connection and try with USER instead.
|
|
|
|
|
| |
Get rid of the custom unmount code und fallback to default
implementation which does the exact same thing.
|
|
|
|
|
|
|
| |
Add generic logic to GVfsJobUnmount to automatically return
G_IO_ERROR_BUSY when there are active connections _and_
the user decided to not force and unmount.
Fixes bug 509606.
|
|
|
|
|
|
| |
This includes logic in a GVfsChannel to force close is as well as a
function in the GVfsDaemon to iterate over all active channels and
call the force-close function.
|
|
|
|
|
|
| |
Add a public function to schedule a job in the daemon's threadpool
making it possible for e.g. a job to "manually" implement the
try() / run() stages of job execution.
|
|
|
|
| |
Let the GVfsChannel pick up the blocked state from the backend.
|
| |
|
|
|
|
|
|
|
| |
When the backend is set to block requests it will answer all
incoming requets with G_IO_ERROR_NOT_MOUNTED. This will later
be used by the unmount code to bridge the time while we are
unregistering the mount but have not finished doing so.
|
|
|
|
|
|
|
|
|
|
| |
Get rid of our own unmount logic which was just calling exit () and
instead rely on the default unmount logic. The result is that first
we get busy-on-unmount automatically once bug 509606 is fixed;
also we are fixing bug 567664 since by just calling exit () we never
sent a reply to the caller of unmount ().
https://bugzilla.gnome.org/show_bug.cgi?id=567664
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=639373
|
|
|
|
| |
Cowan. Fixes bug #593664.
|
| |
|
| |
|
|
|
|
|
| |
WebDAV RFC 4331 " Quota and Size Properties" added two properties
that can be used to obtain the free and used space.
|
|
|
|
|
| |
Some servers will send a displayname property which is empty leading to a
critical warning inside GIO. We therefore have to check if the displayname
is non-null before setting it.
|
|
|
|
|
|
|
|
| |
When doing a PROPFIND to stat () a location we have to find the "target"
response element that we did the PROPFIND for. We do this by comparing
the URL given by the href sub-element of the response element. Before
doing this comparison we have to decode the URL to make sure to ignore
encoding differences. Fixes bug 629660.
|
|
|
|
|
|
|
|
| |
http_uri_get_basename () remained the same and will still encode the
resulting basename. http_path_get_basename (), which will be used by
the dav backend, will not.
Also make sure that in the trailing/leading spaces removal we do not
exceed the string boundaries.
|
|
|
|
|
|
|
| |
If there was a username given by the user and/or the user specified a (non-default)
port we need to take those into account when creating the share's display-name. This
will resolve ambiguities that could otherwise happen if we have two mounts with
different users or on different ports to the same host. Fixes bug 637649.
|
|
|
|
|
|
|
| |
As of commit 6e2f67 we escape the path of the mount_base. Later when we
set the mount_prefix of the backend's mount_spec we do use the mount_base
for this. We therefore have to unescape the path again because otherwise
comparing paths won't work in the client.
|
|
|
|
|
|
|
| |
Up until now we decode the URL in the URI-mapper on the client side
but never re-encoded it before sending it to the server. We now do
encode the initial mount_base in do_mount () and then append encoded
filenames to this. Fixes bug 561515.
|
|
|
|
|
| |
Since we don't need that function in the http backend anymore move it
to the dav backend as g_vfs_backend_dav_uri_for_path ().
|
|
|
|
|
|
|
| |
Use http_backend_get_mount_base () instead of
http_backend_uri_for_filename () since in the http backend every unique
URL corresponds to a new mount; we therefore don't have filenames as
in the other backends (filename will and *must* always be "/").
|
|
|
|
|
| |
http_backend_get_mount_base () retrieves the URL of the backends
"mount point". URL must not bee freed.
|
|
|
|
|
|
|
| |
Set edit/displayname based on the filename in the Content-Disposition
header if available.
Based on a patch from Mike Gratton <mike@vee.net>.
Fixes bug 551298
|
|
|
|
|
|
|
|
| |
When comparing URIs in dav_uri_match() do not take username or
password into account because on a redirect the server is likely to not
include the username in the url supplied in the Location header.
Therefore redirection will fail and thus mounting.
Should fix bug 586248. Patch based on a version from Henrik Holst.
|
|
|
|
| |
Send which languages we prefer. Fixes bug 166795.
|
|
|
|
|
|
|
| |
Do stat() the location, i.e. do a PROPFIND, on open () and correctly
report G_IO_ERROR_IS_DIRECTORY for collections instead of trying
to fetch (GET) them.
Should finally fix bug 551339
|
|
|
|
|
| |
We're missing a lot of dbus_message_unref after sending
messages, add them.
|
|
|
|
|
|
|
|
|
|
|
| |
There is a race in g_vfs_job_close_read_finalize vs command_read_cb
where if these run in different threads (the command_read_cb in the main
thread and the close in another thread), such as in the smb case then
we may free the channel early.
We fix this by having the command reading propely ref the channel and
add a cancellable that allows us to cancel the command reading when the
channel is closed.
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=614554
|
|
|
|
|
|
|
| |
We were moving and renaming files, instead of just renaming them,
as the display_name wasn't properly rooted to the existing directory.
https://bugzilla.gnome.org/show_bug.cgi?id=638191
|
|
|
|
|
|
|
|
|
| |
This is actually a workaround for inacessible root of the share.
By setting default location to a user-specified path Nautilus will
go to this folder by default, leaving errors from inaccessible
root behind.
https://bugzilla.gnome.org/show_bug.cgi?id=586129
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=641856
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is the first step in making extraction faster. Some GIO-based
file managers like Nautilus sort files by inode number and making
copy/extraction faster (more linear read on disk, linear read from
archive).
For the archiving backend, let's give each file a number corresponding
with the position the file is stored in the archive. We can't use
native inode number stored in some types of archives as long as there
are no guarantees it reflects actual position in the file.
This change will have no effect until we make do_open_for_read() not
to close archive after reading and continue from the last position.
I'm afraid this concept would conflict with multiple accesses at one
time though.
|
|
|
|
| |
Happens with some archive types, such as rpm (libarchive 2.8.4).
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=631483
|
|
|
|
|
|
|
| |
This will fix an abort when archive is to be mounted for the second time:
ERROR:gvfsbackendarchive.c:240:g_vfs_backend_archive_finalize: assertion failed: (archive->file == NULL)
https://bugzilla.redhat.com/show_bug.cgi?id=645630
|
| |
|
| |
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=416221
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=416221
|
|
|
|
|
|
|
| |
Support for it will come in later patches.
The patch also detects chgrp support, but we're not intending to use it
yet.
|
|
|
|
|
|
| |
To access the Documents/ folder within applications.
https://bugzilla.gnome.org/show_bug.cgi?id=636132
|
| |
|
|
|
|
|
|
| |
In error cases, we would get the refcounting wrong, which would lead to
a warning when finalizing the backend, because we carried around an
invalid pointer to an unreffed address for the whole time.
|
| |
|
| |
|
| |
|
| |
|
| |
|