1. 19 Jul, 2019 3 commits
    • Goran Vidović's avatar
      Update Croatian translation · f7e06c59
      Goran Vidović authored
      f7e06c59
    • Iñigo Martínez's avatar
      build: Remove `rpath` parameter · 7920cd38
      Iñigo Martínez authored
      Target executables used as monitors do not depend on `libgvfscommon`
      or `libgvfsdaemon`, which are `gvfs` libraries installed outside of
      the default library directory.
      
      Due to this reason, they don't need to set `rpath` parameter.
      7920cd38
    • Robby Workman's avatar
      daemon/meson.build: define gvfs_rpath for libgvfsdaemon.so · f361857c
      Robby Workman authored
      On Slackware development branch with gvfs-1.40.2, I just noticed this:
        # ldd /usr/lib64/gvfs/libgvfsdaemon.so | grep "not found"
      	libgvfscommon.so => not found
      
      After some backtracking, it seems that this first occurred in the
      switchover from autotools to meson in the 1.36.x --> 1.38.x bump.
      
      Big thanks to Cogitri in #gnome/irc.gnome.org for the patience and
      assistance with troubleshooting this.
      Signed-off-by: 's avatarRobby Workman <rworkman@slackware.com>
      f361857c
  2. 18 Jul, 2019 1 commit
    • Mayank Sharma's avatar
      google: Fix issue with stale entries remaining after rename operation · 95511d5d
      Mayank Sharma authored
      Currently, whenever we perform a rename operation, we set the `entry`'s
      title to new display name, but at the time of removal of this entry from
      cache, we still use the newer title. Hence, each time rename is done, a
      single stale entry remains. This commit fixes the issue by reverting
      back the title to the original display name of `entry` and then
      performing a removal from cache.
      
      Fixes: #410
      95511d5d
  3. 15 Jul, 2019 5 commits
    • Matthew Leeds's avatar
      ProxyVolumeMonitor: Don't leak a GVfsDBusDaemon · 12b238a3
      Matthew Leeds authored
      In g_proxy_volume_monitor_register() we create a GVfsDBusDaemon object
      (which is also of type GDBusProxy) but never free it. This causes there
      to be a dangling reference to the singleton GDBusConnection object used
      by the GDBusProxy for the rest of the lifetime of a process that uses a
      gvfs function such as g_file_new_for_path(). With the recent changes I
      made to GLib[1], that extra reference leads to a warning after a 30
      second delay in g_test_dbus_down().
      
      So this commit frees the GVfsDBusDaemon object after it has served its
      purpose in g_proxy_volume_monitor_register(), which fixes the test
      failure I'm seeing in another project.
      
      This is consistent with how we handle GDBusProxy objects in most of the
      rest of gvfs, but there are two places where they are leaked:
      1. in g_proxy_volume_monitor_constructor(), but that object appears to
      be intended to live forever, so it's unclear what should be done there
      2. in meta_tree_get_metadata_proxy(), but there the proxy is a static
      variable so it's unclear when it should be freed
      
      If you try to reproduce this leak, note that if gio takes its "lazy
      loading" code path in g_io_modules_scan_all_in_directory_with_scope(),
      this g_proxy_volume_monitor_register() function may not be executed. So
      I had to change an if condition so that we would always call
      g_type_module_use(). That lazy loading only happened when I built and
      installed gvfs myself rather than using the distribution's package.
      
      [1] glib!963
      12b238a3
    • Ondrej Holy's avatar
      Post release version bump · 3236c26f
      Ondrej Holy authored
      3236c26f
    • Ondrej Holy's avatar
      Update NEWS for 1.41.4 release · b3e1ff2e
      Ondrej Holy authored
      b3e1ff2e
    • Ondrej Holy's avatar
      Update info about reporting bugs · 5237de9f
      Ondrej Holy authored
      README file still points to bugzilla.gnome.org instead of gitlab.gnome.org.
      Let's fix that and add some info about reporting security issues also.
      5237de9f
    • Ondrej Holy's avatar
      google: Do not enumerate volatile entries if title matches id · 1afee5ad
      Ondrej Holy authored
      Currently, the volatile entry is enumerated if its title matches id
      of another entry. But we don't want to enumerate volatile entries
      to not confuse our clients. Let's add simple check to prevent this.
      1afee5ad
  4. 12 Jul, 2019 1 commit
  5. 11 Jul, 2019 4 commits
  6. 10 Jul, 2019 1 commit
  7. 09 Jul, 2019 1 commit
    • Mayank Sharma's avatar
      google: Check ownership in is_owner() without additional HTTP request · 212f531e
      Mayank Sharma authored
      Earlier, we were fetching ACL feed of an entry and then checking the
      ownership by comparing account identity with elements from this feed.
      This was slow due to Network IO being performed while checking ownership.
      
      We now use GDataAuthors on a GDataEntry to get the list of "owners" of
      the file. We then use the GoaObject stored on GDataGoaAuthorizer to get
      the account which is being used by GDataService. Finally, we take the
      email address of account and compare them to check the ownership. This
      method now runs without anymore additional network requests.
      212f531e
  8. 28 Jun, 2019 1 commit
  9. 19 Jun, 2019 2 commits
  10. 06 Jun, 2019 2 commits
  11. 31 May, 2019 4 commits
    • Ondrej Holy's avatar
      admin: Ensure correct ownership when moving to file:// uri · 40961941
      Ondrej Holy authored
      User and group is not restored properly when moving (or copying with
      G_FILE_COPY_ALL_METADATA) from admin:// to file://, because it is handled
      by GIO fallback code, which doesn't run with root permissions. Let's
      handle this case with pull method to ensure correct ownership.
      40961941
    • Ondrej Holy's avatar
      admin: Use fsuid to ensure correct file ownership · d7d36299
      Ondrej Holy authored
      Files created over admin backend should be owned by root, but they are
      owned by the user itself. This is because the daemon drops the uid to
      make dbus connection work. Use fsuid and euid to fix this issue.
      
      Closes: #21
      d7d36299
    • Ondrej Holy's avatar
      admin: Allow changing file owner · a42a976e
      Ondrej Holy authored
      CAP_CHOWN is dropped together with other privilages and thus the backend
      can't change file owner. This might be probably e.g. in case of copy
      operation when G_FILE_COPY_ALL_METADATA is used. Let's keep CAP_CHOWN
      to fix this.
      a42a976e
    • Ondrej Holy's avatar
      admin: Add query_info_on_read/write functionality · 764e9af7
      Ondrej Holy authored
      Admin backend doesn't implement query_info_on_read/write which might
      potentially lead to some race conditions which aren't really wanted
      especially in case of admin backend. For example, in file_copy_fallback(),
      g_file_query_info() is used if g_file_input_stream_query_info() is not
      supported, which in theory means that the info might be obtained from
      the different file then it is opened. Let's add this missing
      functionality to prevent this possibility.
      764e9af7
  12. 22 May, 2019 1 commit
  13. 21 May, 2019 2 commits
  14. 16 May, 2019 5 commits
  15. 09 May, 2019 1 commit
    • Mayank Sharma's avatar
      google: Support deleting shared Google Drive files · bc8ac105
      Mayank Sharma authored
      `g_file_delete ()` currently fails for shared files with
      "Permission denied" error (if they have a different owner and only
      one parent folder). This is because `gdata_service_delete_entry ()`
      can't be used for files, which have a different owner.
      `gdata_documents_service_remove_entry_from_folder ()` has to be used
      instead in this case (as well as for cases when the files have
      multiple parents).
      
      This fix depends on libgdata!5,
      which fixes `gdata_documents_service_remove_entry_from_folder ()`
      implementation to make it work for files with only one parent.
      
      Fixes: #265
      bc8ac105
  16. 08 May, 2019 1 commit
  17. 30 Apr, 2019 4 commits
    • Ondrej Holy's avatar
      admin: Handle --help even if not under pkexec · 4bbe3372
      Ondrej Holy authored
      Error is shown if `gvfsd-admin --help` is started without pkexec. Change
      order of the input checks and print help in this case as well.
      4bbe3372
    • Ondrej Holy's avatar
      admin: Prevent core dumps when daemon is manually started · a9362fa8
      Ondrej Holy authored
      Use `g_printerr ()` instead of `g_error ()` in order to prevent core
      dumps when starting the gvfsd-admin daemon manually without pkexec, or
      with wrong commandline arguments.
      
      Fixes: #395
      a9362fa8
    • Ondrej Holy's avatar
      admin: Fix minor memory leak · 04c44b91
      Ondrej Holy authored
      GOptionContext is not released after `g_option_context_new ()` call.
      Let's use `g_option_context_free ()` to fix this minor memory leak.
      04c44b91
    • Philip Langdale's avatar
      afc: Remove assumptions about length of device UUID · a021631a
      Philip Langdale authored
      Modern Apple devices have UUIDs that are not 40 digits long, as used
      to be the case. Accordingly, a recent change in libimobiledevice
      removed any assumptions around the UUID length, and we should do the
      same in the afc backend. Without this change, we see a symptom where
      the volume monitor and backend disagree on the expected mount root.
      
      I have tested this on a 2018 iPad pro (iPad8,3) which has a 24 digit
      UUID.
      a021631a
  18. 23 Apr, 2019 1 commit