summaryrefslogtreecommitdiff
path: root/daemon
Commit message (Collapse)AuthorAgeFilesLines
* ftp: Fix stupid proxy servers disconnecting on FEATBenjamin Otte2011-06-141-2/+9
| | | | | | | | 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.
* gphoto2: Use new default auto-busy codeChristian Kellner2011-06-071-77/+1
| | | | | Get rid of the custom unmount code und fallback to default implementation which does the exact same thing.
* daemon: Implement auto-busy on unmountChristian Kellner2011-06-061-16/+90
| | | | | | | 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.
* daemon: Add logic to force close active channelsChristian Kellner2011-06-064-2/+41
| | | | | | 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.
* daemon: Function to schedule a job in a threadChristian Kellner2011-06-062-0/+9
| | | | | | 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.
* daemon: Also block active channels if the backend is blockedChristian Kellner2011-06-061-0/+16
| | | | Let the GVfsChannel pick up the blocked state from the backend.
* daemon: Add getter function for blocking stateChristian Kellner2011-06-062-0/+8
|
* daemon: New logic to the backend to block requestsChristian Kellner2011-06-062-0/+24
| | | | | | | 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.
* dav: Use default unmount logicChristian Kellner2011-06-051-10/+0
| | | | | | | | | | 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
* afc: Better error messages for AFCBastien Nocera2011-05-251-14/+8
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=639373
* Fix singular/plural form confusion with media/medium. Reported by Bruce ↵Kjartan Maraas2011-05-241-1/+1
| | | | Cowan. Fixes bug #593664.
* Remove duplicate include of glib.hKjartan Maraas2011-05-241-1/+0
|
* Add more translation contextKjartan Maraas2011-05-242-2/+4
|
* dav: Implement query_fs_info and report used and free spaceChristian Kellner2011-05-191-0/+150
| | | | | WebDAV RFC 4331 " Quota and Size Properties" added two properties that can be used to obtain the free and used space.
* dav: Check for empty but present displayname dav-propertyChristian Kellner2011-05-181-1/+1
| | | | | 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.
* dav: Decode the paths of the multistatus response before comparing themChristian Kellner2011-05-181-44/+49
| | | | | | | | 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: New function to get the basename without trying to decode itChristian Kellner2011-05-182-29/+43
| | | | | | | | 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.
* dav: Include username and/or port in the backend's display-nameChristian Kellner2011-05-171-9/+45
| | | | | | | 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.
* dav: Unescape the path when setting the mount_prefix of the GMountSpecChristian Kellner2011-05-161-1/+6
| | | | | | | 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.
* dav: Correctly encode URLsChristian Kellner2011-05-141-12/+32
| | | | | | | 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.
* http/dav: Move http_backend_uri_for_filename to dav backendChristian Kellner2011-05-123-48/+44
| | | | | 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 ().
* http: Get rid of unnecessary calls to uri_for_filename ()Christian Kellner2011-05-121-5/+2
| | | | | | | 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: Add http_backend_get_mount_base ()Christian Kellner2011-05-122-0/+8
| | | | | http_backend_get_mount_base () retrieves the URL of the backends "mount point". URL must not bee freed.
* http: use Content-Disposition filename if availableChristian Kellner2011-05-081-6/+26
| | | | | | | 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
* dav: correctly handle usernames supplied in the urlChristian Kellner2011-05-081-10/+9
| | | | | | | | 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.
* http/dav: Send Accept-Language headerChristian Kellner2011-05-081-0/+4
| | | | Send which languages we prefer. Fixes bug 166795.
* dav: Fix copying of remote folders to diskChristian Kellner2011-05-043-6/+101
| | | | | | | 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
* Don't leak dbus messagesAlexander Larsson2011-04-1527-11/+55
| | | | | We're missing a lot of dbus_message_unref after sending messages, add them.
* Fix threadsafety of closing channelsAlexander Larsson2011-04-151-30/+18
| | | | | | | | | | | 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.
* afc: Use a better display name for jailbroken device accessMartin Szulecki2011-04-081-2/+1
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=614554
* afc: Fix renaming files moving them to the root dirBastien Nocera2011-03-271-7/+15
| | | | | | | 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
* smb: Add support for default locationTomas Bzatek2011-03-181-2/+11
| | | | | | | | | 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
* Cleanups and fixes for compiler warningsKjartan Maraas2011-03-177-16/+3
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=641856
* archive: Propagate entry index as inode no. for filesTomas Bzatek2011-03-171-3/+11
| | | | | | | | | | | | | | | | | 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.
* archive: Skip leading "./" from pathnames if presentTomas Bzatek2011-03-171-3/+13
| | | | Happens with some archive types, such as rpm (libarchive 2.8.4).
* build: Don't link http backend with SoupOutputStreamRyan Brown2011-03-161-1/+0
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=631483
* archive: Prevent assertion failure on duplicate mountTomas Bzatek2011-03-161-7/+19
| | | | | | | 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
* smb: Catch invalid argument type when setting mtimeBenjamin Otte2011-01-241-0/+9
|
* sftp: Catch invalid argument type for chmod commandBenjamin Otte2011-01-241-0/+9
|
* ftp: Implement chmodLawrence Rust2011-01-241-0/+91
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=416221
* ftp: Parse mode, user and group for unix listingsLawrence Rust2011-01-241-4/+110
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=416221
* ftp: Parse SITE HELP output to detect chmod supportBenjamin Otte2011-01-232-1/+59
| | | | | | | Support for it will come in later patches. The patch also detects chgrp support, but we're not intending to use it yet.
* afc: Add support for House Arrest protocolBastien Nocera2010-12-171-139/+1183
| | | | | | To access the Documents/ folder within applications. https://bugzilla.gnome.org/show_bug.cgi?id=636132
* ftp: Detect TLS and SSL supportBenjamin Otte2010-12-082-1/+5
|
* ftp: Fix refcounting of addresses when connectingBenjamin Otte2010-12-081-0/+2
| | | | | | 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.
* obex: Move variables into #if USE_HALBenjamin Otte2010-12-071-3/+5
|
* Fix distcheckTomas Bzatek2010-11-121-2/+3
|
* Remove last traces of GConfTomas Bzatek2010-11-121-15/+6
|
* Port daemons to GSettingsTomas Bzatek2010-11-123-161/+74
|
* Add GSettings schemasTomas Bzatek2010-11-126-1/+89
|