summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-09-23Support servers which do not set allowable_actions on an object Not all ↵HEADmasterBenjamin Kahn1-9/+15
servers will broadcast permissions, so we need to check if the server supports each permission before we try to use it. Also, we were looking at the wrong data-structure for actions.
2013-08-01GMountSpec to Uri was'nt encoding the host properly for CMIS URIs.Cédric Bosdonnat1-3/+9
The problem was that g_vfs_encode_uri was not encoding ':' in the binding URL because those may appear in ipv6 hostnames. As ipv6 hostnames are in the form [theipv6], the ':[]' are unescaped only for those ipv6 hostnames.
2013-07-31CMIS backend: started implementing writing + updated against libcmis masterCédric Bosdonnat1-46/+130
2013-07-31Cmis: backend: fixed server display nameCédric Bosdonnat2-8/+22
2013-07-31CMIS backend: implemented files reading and fixed enumerate for rootCédric Bosdonnat1-131/+265
2013-07-31cmis backend: fixed some ls issues in /run mounted treeCédric Bosdonnat1-143/+280
2013-07-31cmis backend, implement do_enumerate for folders listingCédric Bosdonnat1-11/+203
2013-07-31CMIS backend: enumerate repositories and improved mount display nameCédric Bosdonnat1-40/+145
Also got rid of the custom logger used for debugging purpose: to get the g_print output, start gvfsd manually.
2013-07-31Don't modify the hostname part of the CMIS url: we don't want it to be ↵Cédric Bosdonnat1-0/+1
lowercased
2013-07-31moved gvfsuriutils.{ch} back to common to use them in cmis backend laterCédric Bosdonnat5-8/+8
2013-07-31cmis backend: now (un)mounting properly, though not yet perfectCédric Bosdonnat1-16/+169
2013-07-31cmis backend code skeletonCédric Bosdonnat5-0/+380
Conflicts: daemon/Makefile.am
2013-07-08Post release version bumpOndrej Holy1-1/+1
2013-07-08Update NEWS for 1.17.3 releaseOndrej Holy1-0/+6
2013-07-08Post release version bumpOndrej Holy1-1/+1
2013-07-08Implement clean shutdown in obexftp backendTimothy Arceri1-6/+9
https://bugzilla.gnome.org/show_bug.cgi?id=511802
2013-07-08Implement clean shutdown in mtp backendTimothy Arceri1-2/+1
https://bugzilla.gnome.org/show_bug.cgi?id=511802
2013-07-08Implement clean shutdown in afc backendTimothy Arceri1-2/+1
https://bugzilla.gnome.org/show_bug.cgi?id=511802
2013-07-02gvfs-test: Add first test for mtp backendMartin Pitt3-0/+413
Add umockdev dump and ioctl trace for a Sony Xperia Mini mobile phone (with CyanogenMod), with some small demo files and the ioctls from these commands recorded: gvfs-mount 'mtp://[usb:001,017]' gvfs-ls 'mtp://[usb:001,017]/SD-Karte' gvfs-ls 'mtp://[usb:001,017]/SD-Karte/Music' gvfs-ls 'mtp://[usb:001,017]/SD-Karte/Music/GStreamer - The Test Sine' gvfs-info 'mtp://[usb:001,017]/SD-Karte/Music/GStreamer - The Test Sine' gvfs-info 'mtp://[usb:001,017]/SD-Karte/Music/GStreamer - The Test Sine/sine.ogg' gvfs-cat 'mtp://[usb:001,017]/SD-Karte/Music/GStreamer - The Test Sine/sine.ogg' gvfs-cat 'mtp://[usb:001,017]/SD-Karte/hello.txt' gvfs-info 'mtp://[usb:001,017]/SD-Karte/hello.txt' gvfs-info 'mtp://[usb:001,017]/SD-Karte/DCIM/100CANON/IMG_0001.JPG' gvfs-cat 'mtp://[usb:001,017]/SD-Karte/DCIM/100CANON/IMG_0001.JPG' If umockdev is available, use it to simulate that device and check that we can get the directory and file info, and access the file contents. This bumps the (optional) umockdev dependency to >= 0.2.10.
2013-06-20gvfs-test: Drop dbus startup from gvfs-testbedMartin Pitt2-32/+38
Drop the D-BUS launch in the gvfs-testbed wrapper, and always launch the test session D-BUS in gvfs-test. This makes both scripts easier and more consistent, and also makes the GPhoto test work under gvfs-testbed. This bumps the (optional) umockdev dependency to >= 0.2.9.
2013-06-20gvfs-test: Support calling this in an unbuilt treeMartin Pitt1-3/+7
Instead of failing all over the place and complaining about a missing session.conf, run the tests against the installed gvfs.
2013-06-19afc: Bump libimobiledevice dependencyOndrej Holy4-73/+1
https://bugzilla.redhat.com/show_bug.cgi?id=951731 https://bugzilla.gnome.org/show_bug.cgi?id=702577
2013-06-18afc: Update to libimobiledevice new apiOndrej Holy3-13/+80
https://bugzilla.redhat.com/show_bug.cgi?id=951731
2013-06-14Update NEWS for releaseAlexander Larsson1-0/+8
2013-06-14metadata: Fix short journal checkAlexander Larsson1-6/+11
This was reading the size in the wrong place *sizep, not *(sizep-1), plus the out of bounds checks were wrong. https://bugzilla.gnome.org/show_bug.cgi?id=637095
2013-06-13goa: export the activation root for volumesGiovanni Campagna2-13/+22
Now that we can be in charge of mounts even if we have the shadow mount infrastructure, we should export it so that tracking of the associated GDaemonMount works correctly. https://bugzilla.gnome.org/show_bug.cgi?id=696279
2013-06-13GProxyVolume: extend the protocol so the volume monitor can force a call to ↵Giovanni Campagna3-7/+28
Mount Some volume monitors, like gnome-online-accounts, want their mount implementation to be called even though the volume has an activation root. Allow them to advertise so using the expansion fields of the volume DBus representation. https://bugzilla.gnome.org/show_bug.cgi?id=696279
2013-06-13GDaemonFile: fix relative path handling to account for mount_prefixGiovanni Campagna1-16/+69
If two files have two different origins (say, one from g_mount_get_root() and one from g_file_new_for_uri()), the mount_spec they use could expose a different mount_prefix, even if the represent the same URI and network object. This in particular fixes the handling of shadow mounts for dav (which rewrites the mount_spec during mount to find the right prefix) https://bugzilla.gnome.org/show_bug.cgi?id=696279
2013-06-13gvfs-test: Add first test for gphoto2 backendMartin Pitt4-3/+400
Add umockdev dump and ioctl trace for a Canon PowerShot SX200 digicam, with ioctls from these commands recorded: gvfs-mount -li gvfs-mount gphoto2://[usb:001,011]/ gvfs-info gphoto2://[usb:001,011] gvfs-info gphoto2://[usb:001,011]/DCIM gvfs-info gphoto2://[usb:001,011]/DCIM/100CANON/IMG_0001.JPG gvfs-info gphoto2://[usb:001,011]/DCIM/100CANON/IMG_0002.JPG gvfs-cat gphoto2://[usb:001,011]/DCIM/100CANON/IMG_0001.JPG gvfs-cat gphoto2://[usb:001,011]/DCIM/100CANON/IMG_0002.JPG (With two tiny test images, not actual big photos) If umockdev is available, use it to simulate that device and check that we can get the directory and file info, and access the pictures. Note that this does not yet work under gvfs-testbed, as we somehow need to inject the $UMOCKDEV_ROOT into the spawned d-bus.
2013-06-13gvfs-test: More robust cleanup of temporary home directoryMartin Pitt1-1/+13
Especially the trash:// tests have a tendency to leave the gvfs-metadata child around a little while after killing the D-BUS daemon, and thus leaving the temporary home directory busy. Retry for a few times to allow gvfsd-metadata to clean up itself.
2013-06-06http: Don't send a SoupMessage if we only want the thumbnail pathDebarshi Ray1-0/+7
https://bugzilla.gnome.org/show_bug.cgi?id=701714
2013-05-29Use GOnce for interface type registrationTomas Bzatek1-4/+5
Related to https://bugs.freedesktop.org/show_bug.cgi?id=65130
2013-05-29gvfs-test: Drop assumption about local consolesMartin Pitt1-6/+0
Drop the check that mounting a CD fails without the fake polkit. This worked in ConsoleKit times, but not with logind any more.
2013-05-29gvfs-test: Do not assume that /run/udev/rules.d/ existsMartin Pitt2-1/+3
Create the directory if necessary. Recent udev versions do not create it automatically any more.
2013-05-29gvfs-test: Fix for Python 3.3Martin Pitt1-3/+5
Use read() instead of readall() for reading from subprocess, as this is a BufferedReader() now. This also works for older Python versions. Also, add another missing Popen.stdin.flush(), like in the previous commit.
2013-05-29gvfs-test: Fix communication with gvfs CLI toolMartin Pitt1-0/+4
Flush the stdin stream to "gvfs-mount" after writing to it. Apparently Python 3.3's buffering behaviour has changed to require this now.
2013-05-29gvfs-test: Avoid deadlocks when waiting for CLI user promptsMartin Pitt1-0/+7
Force subprocess' stdout to be non-blocking, so that we do not potentially wait forever, but time out properly.
2013-05-28smb: Add support for specifying custom portTomas Bzatek3-24/+88
Thanks to the work by Jeremy Allison we should be able to connect to a non-standard port through new enough Samba version. This patch adds a port argument to smburi parser and both smb and smb-browse backends. https://bugzilla.gnome.org/show_bug.cgi?id=698071
2013-05-27Post release version bumpOndrej Holy1-1/+1
2013-05-24Update NEWS for 1.17.1 releaseOndrej Holy1-0/+12
2013-05-22metadata: Downgrade journal short-read to debugColin Walters1-1/+1
Because multiple clients can be concurrently writing to the journal, it's possible to see partially written journal entries. Emitting g_warning() here breaks test cases. The real fix would be safe concurrent access to the journal, but that's harder. https://bugzilla.gnome.org/700785
2013-05-21sftp: Fix two compilation warningsColin Walters1-2/+2
2013-05-21Updated slovak translationRichard Stanislavský1-1902/+1736
2013-05-13metadata: Flush all scheduled writeouts on daemon exitTomas Bzatek1-6/+40
This patch ensures that we safely write all data from journals to metatrees on exit. E.g. if anything happens to session bus or we get replaced by some other instance. https://bugzilla.gnome.org/show_bug.cgi?id=637095
2013-05-13metadata: Use shorter writeout timeout on NFSTomas Bzatek3-3/+16
Since we've moved journal to a non-volatile storage, let's flush more often to minimize a chance of data loss. https://bugzilla.gnome.org/show_bug.cgi?id=637095
2013-05-13metadata: Put journal in $XDG_RUNTIME_DIR for shared NFS homedir caseTomas Bzatek3-105/+136
This essentially moves is_on_nfs() from metatree.c in metabuilder.c as the more appropriate place for shared functions. It's used in meta_builder_get_journal_filename() to determine whether to use original metadata directory or temporary $XDG_RUNTIME_DIR location to work around certain NFS issues. The idea behind this change is to have separate journals for every client that is accessing shared homedir. Then the only possible point of conflict is on rotation which is backed up by atomic file rename. Without this, there were multiple metadata daemons writing to the same journal file, overwriting changes to each other and being racy in flush and rotation. There will always be a conflict between clients, overwriting tree file data by flushing their journals. https://bugzilla.gnome.org/show_bug.cgi?id=637095
2013-05-13metadata: Create new journal if it doesn't existTomas Bzatek3-6/+18
With concurrent access of multiple daemons there may be a moment when tree file exists but not the journal file. The daemon can't write anything without journal and is doomed until next rotation. Missing journal file can also happen on system crash etc. This patch tries to create new journal file only when it doesn't exist, other errors still lead to inability to store anything. This will also allow us to have journal file somewhere else, e.g. on a non-persistent storage. https://bugzilla.gnome.org/show_bug.cgi?id=637095
2013-05-13metadata: Be more resistive to broken journal filesTomas Bzatek1-0/+12
In shared NFS homedir case with multiple clients writing to the same mmaped journal file data can get easily corrupted. The daemon iterates over a journal file on flush taking in account variable entry size and advances according to the data read. However in certain case invalid data are read making us to jump out of bounds. In case of zero entry size we would stand at the same place leading to infinite loop. This patch checks if the indicated entry size is at least the size of the structure we're getting the size from (it's a first element) and breaks the iteration cycle if it's not. This may lead to partial data loss on flush as we don't process the rest of the journal file. Old data from existing tree file will be preserved of course, only few recent changes would get lost. https://bugzilla.gnome.org/show_bug.cgi?id=637095
2013-05-13metadata: Force tree re-read after successful flushTomas Bzatek1-6/+8
Once we flush the journal and write new tree file we need to re-read it to refresh internal data structures (and mmap data from the right file). We originally left this work on meta_tree_refresh_locked() and meta_tree_needs_rereading() respectively where we checked the rotated bit. In detail, metabuilder wrote a new temp tree file, then explicitly opened the current (old) one, wrote the rotated bit and atomically replaced the temp file. Then the metadata daemon having mmapped the old file detected the rotated bit and scheduled journal and tree file reopen+reread. However in concurrent environment like NFS homedir where multiple metadata daemons are handling the same database we may run in a race and not getting the rotated bit detected properly. This led to an infinite loop between meta_journal_add_entry() - meta_tree_flush_locked() - meta_tree_refresh_locked() - meta_journal_add_entry() since we had full journal, didn't detect the rotation and since the files were already unlinked, there was no force to break that loop. This patch forces tree file re-read after successful flush to prevent this issue. https://bugzilla.gnome.org/show_bug.cgi?id=637095
2013-05-07Implement clean shutdown in sftp backendTimothy Arceri1-2/+2
https://bugzilla.gnome.org/show_bug.cgi?id=511802