summaryrefslogtreecommitdiff
path: root/client
Commit message (Collapse)AuthorAgeFilesLines
* Keep using ~/.gvfs as fallbackAlexander Larsson2012-03-151-1/+5
| | | | | | | | If runtime dir is not specifically set we don't fall back to ~/.cache/gvfs, as that unnecessarily invalidates all existing documentation and scripts using ~/.gvfs. However, if it is set, we still use it.
* Use user runtime dir for gvfs mountsWilliam Jon McCann2012-02-071-1/+1
| | | | | | https://bugzilla.gnome.org/show_bug.cgi?id=646391 Signed-off-by: Tomas Bzatek <tbzatek@redhat.com>
* fuse: Remove the unused sys/vfs.h includeTomas Bzatek2012-01-181-1/+0
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=583927
* Explicitly intialize mutexes on stackTomas Bzatek2011-11-141-1/+1
| | | | | | Turned out zeroing memory is not enough in some cases so let's be on the safe side and properly initialize all non-static mutexes. Also, don't initialize/clear the static ones.
* Adapt to glib thread API changesTomas Bzatek2011-10-261-1/+1
| | | | Last piece in order to fix https://bugzilla.gnome.org/show_bug.cgi?id=661148
* Adapt to glib mutex API changesTomas Bzatek2011-10-251-41/+39
| | | | A continuation to https://bugzilla.gnome.org/show_bug.cgi?id=661148
* Adapt to GLib 2.31 deprecations and thread API changesMatthias Clasen2011-10-213-10/+11
| | | | | | | GStaticMutex and GStaticRWLock have been replaced by GMutex and GRWLock, and g_thread_init() is no longer needed. https://bugzilla.gnome.org/show_bug.cgi?id=661148
* Use g_atomic_int_add instead of deprecated g_atomic_int_exchange_and_add.Kjartan Maraas2011-10-212-2/+2
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=659815
* Drop an unneeded includeMatthias Clasen2011-10-131-2/+0
| | | | | GLib recently became less forgiving about single includes like this.
* Purge hardcoded -DG_DISABLE_DEPRECATEDColin Walters2011-10-121-2/+2
| | | | | Especially now that deprecations are proper gcc warnings, no need to hardcode this.
* afp: register the afp urimapperCarl-Anton Ingmarsson2011-08-251-0/+2
|
* afp: add an urimapper for afpCarl-Anton Ingmarsson2011-08-252-0/+270
|
* fuse: Bring back real statfs()Tomas Bzatek2011-08-151-49/+18
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=655401
* client: Don't leak the GCancellable's fd in case of an g_poll errorChristian Kellner2011-05-251-0/+1
|
* client: Handle error events when polling _g_vfs_daemon_call_sync ()Christian Kellner2011-05-251-0/+8
| | | | Check for G_IO_NVAL, G_IO_ERR and G_IO_HUP when we (succesfully) returned from g_poll since we get into a infinite loop later otherwise.
* daemonfile: Re-root the path in set_display_name ()Christian Kellner2011-05-121-4/+13
| | | | | | | The path we get as a result of a set_display_name operation has to be re-rooted with the mount_prefix of the specific mount. This fixes the "Location not mounted" error that we currently get for e.g. WebDAV mounts with a mount_prefix after renaming of files.
* Pass mount_info to async_path_call callbacksChristian Kellner2011-05-121-1/+23
| | | | | Modify all callbacks do_async_path_call () to receive an additional GMountInfo parameter.
* [Fuse] Fix some broken indentingHans Petter Jansson2011-03-251-7/+7
|
* [Fuse] Pretend created file exists even if backend didn't create itHans Petter Jansson2011-03-251-3/+66
| | | | | | Fall back to looking up the file's handle by its path, and if we find that it's open, pretend it exists already. This replaces the strategy implemented in commit 4c052eee07df06e0a5d1d19fb68259c0ccfcbd92.
* [Fuse] Remove comment that doesn't make sense anymore.Hans Petter Jansson2011-03-251-2/+0
|
* [Fuse] Make created files visible immediately on WebDAVStefan Hajnoczi2011-03-231-37/+32
| | | | | | | | | | | | | | | | | | This patch changes .vfs_create() to force file creation and then opens the file again for replacement. This ensures that the created file is visible before its file handle is released. Simple programs like touch(1) and cp(1) encounter ENOENT from creat(2) on a WebDAV volume. FUSE calls .vfs_create() followed by .vfs_getattr() on the file as part of creat(2). The .vfs_getattr() call after .vfs_create() fails with ENOENT since the file handle is still open and the file has not yet been created on the server side. The WebDAV server fails the PROPFIND request to the non-existent file. Solve this problem by creating a file first and then reusing .vfs_open() code to open the file writeable with O_TRUNC. Signed-off-by: Hans Petter Jansson <hpj@cl.no>
* Cleanups and fixes for compiler warningsKjartan Maraas2011-03-175-13/+2
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=641856
* client: Fix wrong assignment before dbus_connection_unref()Jonathan Blanchard2011-03-161-1/+1
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=627881
* Fix return value of async_connection_accept_new_fd()Henry Hoegelow2010-12-071-2/+4
| | | | | | | | | | | | | async_connection_accept_new_fd() is a GSource callback and needs to return TRUE so that it is called again. Add the missing return value. Fixes gvfs client code on the ARM platform (and probably other platforms too). See https://bugzilla.gnome.org/show_bug.cgi?id=633330 for further details. Acked-by: Sven Neumann <sven@gimp.org>
* build: undef G_LOG_DOMAIN if we're going to redefine itBenjamin Otte2010-12-071-1/+1
| | | | Otherwise gcc will throw a warning.
* fuse: Add O_TRUNC support for open()Tomas Bzatek2010-11-121-5/+11
| | | | | | This requires kernel version 2.6.24 or later. See bug 627567 for details.
* Rename gdbusutils.h to avoid conflict with GIO1.6.2Matthias Clasen2010-05-277-7/+7
| | | | This makes gvfs build with recent glib again, see bug #619537
* Attach cancellable to async result and check in finish functionsBenjamin Otte2010-03-311-7/+50
| | | | | | | | | | | | This makes sure we always return ERROR_CANCELLED, just like we want to guarantee and avoids crashes in the file chooser. There should be API in GSimpleAsyncResult to attach a GCancellable that does this job for us, but so far there isn't, so we use g_object_get/set_data() and check the cancellables manually in the finish function. https://bugzilla.gnome.org/show_bug.cgi?id=614099
* Revert "Use complete_with_cancellable() in file enumerator"Benjamin Otte2010-03-311-4/+3
| | | | | | | This reverts commit 5af6a1dbdd2c6a61b515a5bd64350db3af16dae7. Replacing complete_in_idle() with a call that directly completes is BAD BAD BAD.
* Use complete_with_cancellable() in file enumeratorBenjamin Otte2010-03-291-3/+4
| | | | | | | This makes sure we always return ERROR_CANCELLED, just like we want to guarantee and avoids crashes in the file chooser. https://bugzilla.gnome.org/show_bug.cgi?id=614099
* Always call back from mainloop in g_daemon_file_find_enclosing_mount_asyncChristian Kellner2010-02-191-6/+18
| | | | | | On cache hit g_daemon_file_find_enclosing_mount_async would immediately call the callback function which breaks the aysnc-pattern contract. Fixes bug #609002.
* Enable support for lazy loading of gio modulesAlexander Larsson2010-01-122-1/+12
|
* Fix warningAlexander Larsson2009-12-011-1/+1
|
* Correctly dup strings in meta_tree_lookup_stringvAlexander Larsson2009-12-011-0/+1
| | | | Also, make sure to free that in all callers.
* Fix compiler warningAlexander Larsson2009-12-011-1/+1
|
* Add "default location" support for mountsChristian Kellner2009-11-261-0/+14
| | | | | | | | | | | The "default location" of the given mount is a path that reflects the main entry point for the user (e.g. the home directory, or the root of the volume). Backends can use g_vfs_backend_set_default_location () to set the default location (before registering the mount). https://bugzilla.gnome.org/show_bug.cgi?id=561998
* fuse: Request access::* as needed by file_info_get_stat_modeAlexander Larsson2009-11-261-1/+2
| | | | Fixes bug #594791.
* fuse: Fix setting timestampsTomas Bzatek2009-11-191-13/+26
| | | | | | | | We need to set time in seconds and microseconds separately. Moreover, backends may not fully support setting all attributes so don't report failure when at least one succeeded. At the moment, only SMB supports setting G_FILE_ATTRIBUTE_TIME_MODIFIED.
* Correctly report -ENOSYS for readline in FUSEMatt McCutchen2009-11-191-1/+6
| | | | | | | | | The readlink vfunc is not implemented in the FUSE module so we should not report success but an error (-ENOSYS). We also don't implement the vfunc for now since that might lead to a security issue (see the added comment). This fixes bug #601361. Signed-off-by: Christian Kellner <gicmo@gnome.org>
* Bug 517014 – Factorize error messages marked for translationClaude Paroz2009-09-302-31/+32
|
* Claim to support file: uris tooAlexander Larsson2009-09-301-0/+1
| | | | We forgot to say the file: method is supported (#596867)
* Make sure metadata is always returned by query_writable_namespaces()Carlos Garcia Campos2009-09-171-14/+16
|
* Fix a leak in gvfsfusedaemon.cMatthias Clasen2009-09-111-5/+3
| | | | This ref leak was reported by clang. Bug 594828.
* Implement support for g_cancellable_release_fd()Benjamin Otte2009-08-191-0/+1
| | | | | | | See bug 591388 and documentation for g_cancellable_release_fd() for a rationale. This fix requires glib git master.
* GDaemonMount calculates wrong root path when mount_prefix is setTomas Bzatek2009-08-181-1/+2
| | | | | | | | When a mount is mounted with a mount_prefix != "/", GDaemonMount calculates wrong root path, causing breakage of the .gvfs FUSE mount, and making the mounts unclickable in Nautilus. Patch by Mads Chr. Olesen, see bug 590730 for details.
* Include mount prefix when constructing fuse pathTomas Bzatek2009-08-181-3/+6
| | | | | | | | | On complex URIs like 'dav://server/gallery/w/TestAlbum', g_file_get_path () would return incomplete path without the middle '/gallery/w' part (mount prefix). This patch ensures full path to be returned. See bug 590862 for details.
* Bug 589915 - gedit crashed with SEGV in strlen()Peter Waller2009-08-041-2/+2
| | | | | FIx a crash introduced by commit c372064a where it was forgotten do adapt the function signature of a callback
* Plug various metadata-related memleaksMatthias Clasen2009-08-011-0/+1
| | | | These were reported in bug 590456.
* Call dbus_threads_init_default before doing any other dbus callsColin Walters2009-07-151-3/+3
| | | | | | This avoids race conditions with other threads; there are various internal mutexes involved in dbus_bus_get_private that need to be locked if g_vfs_get_default is called from a non-main thread.
* Bug 587484 – Interaction when unmounting mounts and misc fixesDavid Zeuthen2009-07-083-29/+261
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Port everything to use _with_operation() variants of unmount/eject methods - Add support for g_file_poll_mountable() - new job class: GVfsJobPollMountable - Pass mount operation for unmount/eject ops on GDaemonFile and GDaemonMount - receive in the appropriate GVfsJob classes - also pass unmount flags where it was missing - port all backends to use this - Teach GMountSource and GMountOperationDBus about the new GMountOperation::show-processes signal - also provide new API - g_mount_source_is_dummy() - e.g. when the client didn't passed NULL for the GMountOperation - g_mount_source_abort() - to send the ::abort signal to the client-side GMountOperation - make the client-side of GMountSource return ::reply with NOT_HANDLED when we do an abort - Refactor the mount operation handling in GProxyVolumeMonitor - Pass mount operation for unmount/ejects in GProxyVolumeMonitor - Pass the process id of the actual reader/writer in OpenForRead and OpenForWrite daemon methods - add some private API for making the FUSE client set the pid of the POSIX client (otherwise it looks like the FUSE client is blocking) and pass the right pid. This is because the FUSE client is basically impersonating the POSIX processes. - Make the process id mentioned above available in appropriate GVfsJob classes - GVfsJobOpenForRead - GVfsJobOpenForWrite - GVfsChannel - Provide API to get a list of all blocking clients, e.g. an array of GPid - g_vfs_daemon_get_blocking_processes() - Provide convenience API to easily doing the right thing on unmount; e.g. interact with the user about blocking processes - see the gphoto2 backend for example usage - g_vfs_backend_has_blocking_processes() - g_vfs_backend_unmount_with_operation() and g_vfs_backend_unmount_with_operation_finish() - Only the gphoto2 backend supports ::show-processes right now. Support for other backends will be added shortly. - Implement support for ::show-processes in the GDU volume monitor - right now we don't support "Unmount Anyway" since it requires ABI changes in libgdu.so - this will be changed as soon as there's a new gnome-disk-utility release