summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* google: Fix in-fs copy operation using stored volatile pathsMayank Sharma2020-01-311-46/+367
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Owing to the loss of filename, the copy operation was disabled a long time ago in (https://bugzilla.gnome.org/show_bug.cgi?id=755701). Normally, for POSIX based systems, copying `/file1` to directory `/folder1` is done by doing copy ('/file1', '/folder1/file1'). Since, google drive backend uses IDs as filenames (which are not human readable), so doing a copy operation normally should constitute of doing `copy ('/id1', '/folder1/id2')`, but instead GIO being POSIX compliant does `copy ('/id1', '/folder/id1')`. Furthermore, after the copy operation has been done, nautilus performs a `query_info` operation on the path `/folder1/id1` (to check if the file has actually been copied) but since the newly created file inside `/folder1` has the new path `/folder1/id2` (where 'id2' is generated by Drive API) this operation fails resulting in an error and the new file's title being set to `id1` (Loss of titles). To counter this issue, we store `id1` in Properties Resource on the new file being created, and insert a "fake" entry into the cache. This fake entry (`('id1', 'parent') -> GDataEntry`) gives the illusion that the file exists after the copy operation, and hence the `query_info` operation doesn't fail, and copies the file (while retaining title) successfully. This commit enables copy operation and handles most of the quirky cases of Drive, e.g. files having same title in a directory, file being copied over to same folder, etc. Depends upon: https://gitlab.gnome.org/GNOME/libgdata/merge_requests/7 Fixes: https://gitlab.gnome.org/GNOME/gvfs/issues/8
* Revert "ci: Add possibility to specify default image"Ondrej Holy2020-01-311-1/+1
| | | | | This reverts commit 49170edbb1a8c7ad1f439c3ce7215b487bd39890, which broke CI on forks, because $TAG variable is not set there...
* ci: Enable SFTP test casesOndrej Holy2020-01-302-2/+11
| | | | | | SFTP test cases are skipped currently. Let's add non-root user, generate SSH key, set XDG_RUNTIME_DIR and install missing openssh-server package to make them work.
* ci: Enable DAV test casesOndrej Holy2020-01-302-1/+3
| | | | | | | | | | | | | | | DAV test cases are skipped currently. Let's install missing dependencies and use x86_64 runners to make them work. x86_64 runners are needed because the non_aws runners have probably blocked ports for some reasons (or at least ports in the 8087-8090 range), which causes the following failures: (98) Address already in use: AH00072: make_sock: could not bind to address 127.0.0.1:8087 no listening sockets available, shutting down It would be nice to make it work on all runners, but I don't have more capacity to debug this further.
* ci: Add possibility to specify default imageOndrej Holy2020-01-301-1/+1
| | | | | | Add easy way to specify default image for testing using TAG variable. The variable is now predefined to latest. But this allows to easy change the image if latest image is broken, or can be used for debugging.
* fuse: Reopen file and skip to desired offset if seek is not supportedOndrej Holy2020-01-291-0/+8
| | | | | | | | | | The fuse daemon can fail when client attempts to seek backwards and seek is not supported by the concrete backend. There is fallback for forward seeks using `g_input_stream_skip`. Let's reopen the file and use the same approach also for backwards seeks. This is pretty ugly to reopen the file but similar approach is used already to emulate read/write mode. Fixes: https://gitlab.gnome.org/GNOME/gvfs/issues/441
* goa: Add support for certificate promptsOndrej Holy2020-01-291-2/+96
| | | | | | | | | | Since commit f5ee590e, it is not possible to access Nextcloud/ownCloud shares with self-signed (or invalid) certificates. This is because the mount operation is handled by GOA volume monitor and the prompt to accept certificate is not shown. Let's update the volume monitor to handle just passwords and show the prompt to the client. Fixes: https://gitlab.gnome.org/GNOME/gvfs/issues/251
* sftp: Fix file ownership when replacingOndrej Holy2020-01-291-32/+152
| | | | | | | | | | User and group are reset when replacing even though G_FILE_CREATE_REPLACE_DESTINATION is not set. Although the backend calls SSH_FXP_OPEN with SSH_FILEXFER_ATTR_UIDGID attribute, the OpenSSH server ignores this attribute in this operation. Let's fix this by the separate SSH_FXP_FSETSTAT call. Fixes: https://gitlab.gnome.org/GNOME/gvfs/issues/418
* dnssd: Prevent crashes after releasing resolverOndrej Holy2020-01-271-2/+6
| | | | | | | | | | | | | | | | | | | | The following error often happens when mounting dav+sd share (e.g. created over gnome-user-media) and the mount operation fails for some reason: dbus[47482]: arguments to dbus_connection_unref() were incorrect, assertion "connection->generation == _dbus_current_generation" failed in file ../../dbus/dbus-connection.c line 2823. This is normally a bug in some application using the D-Bus library. This is because avahi is not thread-safe and our resolver doesn't use mutexes. But it seems to me that mutexes are not necessarily needed if everything would work as expected. Unfortunately, changes made by commit 3384af8 causes that start_avahi_resolver is being called multiple times by mistake, which also calls avahi_service_resolver_new multiple times. Consequently, it may crash when resolver is beeing freed too early as there might still be unexpected pending operations using avahi client. Fixes: GNOME/gvfs#449
* Add Malay translationUmarzuki Bin Mochlis Moktar2020-01-272-0/+2200
|
* Update Japanese translationsicklylife2020-01-241-360/+193
|
* Update Japanese translationsicklylife2020-01-241-1676/+1846
|
* tests: Update certificate to work with recent standardsOndrej Holy2020-01-231-25/+43
| | | | | | | | | | | | | The following error appears on Ubuntu because of change of OpenSSL defaults: "SSL Library Error: error:140AB18F:SSL routines:SSL_CTX_use_certificate:ee key too small" This is probably because the original cert was generated with rsa:1024. Let's generate new one with rsa:2048 using the following command to fix this: "openssl req -x509 -nodes -days 1 -newkey rsa:2048 -subj /CN=localhost -keyout testcert.pem -out testcert.pem" Fixes: https://gitlab.gnome.org/GNOME/gvfs/issues/448
* Update Slovak translationDuĊĦan Kazik2020-01-191-375/+392
|
* fuse: Prevent abortions if modified time is not setOndrej Holy2020-01-141-3/+7
| | | | | | If `G_FILE_ATTRIBUTE_TIME_MODIFIED` is not set for some reason, the fuse daemon aborts as it expects that it is always set. Let's use g_file_info_has_attribute to prevent the crashes.
* Update Chinese (China) translationDz Chen2019-12-271-207/+224
|
* Update Galician translationFran Dieguez2019-12-251-872/+34
|
* dnssd: guard avahi_client_free to prevent freeing NULLTobias Mueller2019-11-271-1/+4
| | | | | | | This should not happen, but somehow the global_client ends up being NULL. In daemon/gvfsbackenddnssd.c the call to avahi_client_free in the finalize function is similarly guarded.
* Update Chinese (Taiwan) translationYi-Jyun Pan2019-11-271-369/+384
| | | | (cherry picked from commit dde126c316f13f98dfd72cc69ec17261a4a800a3)
* ci: Fix gnome-build-meta jobwip/oholy/fix-gnome-build-metaOndrej Holy2019-11-221-10/+1
| | | | | Reflect the changes made in GNOME/gnome-build-meta to make the job work again.
* Post release bumpOndrej Holy2019-11-221-1/+1
|
* Update NEWS for 1.43.2 release1.43.2Ondrej Holy2019-11-221-0/+6
|
* gdbus: Add workaround for deadlocks when cancelling jobsOndrej Holy2019-11-111-4/+25
| | | | | | | | | | | | | | | GVfs calls gvfs_dbus_daemon_proxy_new() in cancelled signal handler which internally needs CONNECTION_LOCK(connection). The lock can be unfortunately held by gdbus worker thread which can call g_cancellable_disconnect(). This obviously leads to deadlocks. I don't see any reason why we have to block g_cancellable_disconnect() because of gvfs_dbus_daemon_proxy_new() resp. gvfs_dbus_daemon_call_cancel(). Let's call it over idle source to not block the cancelled signal handler in order to prevent the deadlocks. It would be better to fix this issue directly in gdbus codes, however, it is not fully clear to me, what is a proper way to fix this. https://gitlab.gnome.org/GNOME/glib/issues/1023
* smb: Improve enumeration performanceOndrej Holy2019-11-052-8/+38
| | | | | | | | | | | | The samba backend calls stat for each file during the enumeration job. Unfortunately, this is significantly slower with the recent samba versions. However, smbc_readdirplus2() has been recently added and it can be used to improve the performance as all the necessary info is transferred in one network request. Let's use smbc_readdirplus2() if available. See: https://gitlab.com/samba-team/samba/merge_requests/302 Relates: https://gitlab.gnome.org/GNOME/gvfs/issues/306
* test: Port to python-twistedOndrej Holy2019-10-291-1/+1
| | | | | | | | | | Test suite were ported to python3, however, twistd binary is still required for ftp test cases. The twistd binary is part of python2-twisted, which is going to be retired. Let's use python3 version instead. It seems that Fedora has twistd-3 binary, whereas, Debian has twistd3, so try to look for both of them. The test cases seem working nicely with it as per my testing. Fixes: https://gitlab.gnome.org/GNOME/gvfs/issues/428
* Post release version bumpOndrej Holy2019-10-111-1/+1
|
* Update NEWS for 1.43.1 release1.43.1Ondrej Holy2019-10-111-0/+9
|
* daemon: Don't set a content-type that isn't certainBastien Nocera2019-10-111-2/+4
| | | | | | Don't ignore the result_uncertain flag from g_content_type_guess() as it might cause nautilus to incorrectly think that a particular file is of a certain type, and never check its magic.
* smb: Don't set a content-type that isn't certainBastien Nocera2019-10-111-2/+8
| | | | | | Don't ignore the result_uncertain flag from g_content_type_guess() as it might cause nautilus to incorrectly think that a particular file is of a certain type, and never check its magic.
* sftp: Don't set a content-type that isn't certainBastien Nocera2019-10-111-3/+6
| | | | | | Don't ignore the result_uncertain flag from g_content_type_guess() as it might cause nautilus to incorrectly think that a particular file is of a certain type, and never check its magic.
* nfs: Don't set a content-type that isn't certainBastien Nocera2019-10-111-2/+4
| | | | | | Don't ignore the result_uncertain flag from g_content_type_guess() as it might cause nautilus to incorrectly think that a particular file is of a certain type, and never check its magic.
* mtp: Don't set a content-type that isn't certainBastien Nocera2019-10-111-2/+4
| | | | | | Don't ignore the result_uncertain flag from g_content_type_guess() as it might cause nautilus to incorrectly think that a particular file is of a certain type, and never check its magic.
* gphoto2: Don't set a content-type that isn't certainBastien Nocera2019-10-111-2/+5
| | | | | | Don't ignore the result_uncertain flag from g_content_type_guess() as it might cause nautilus to incorrectly think that a particular file is of a certain type, and never check its magic.
* dav: Don't set a content-type that isn't certainBastien Nocera2019-10-111-5/+10
| | | | | | Don't ignore the result_uncertain flag from g_content_type_guess() as it might cause nautilus to incorrectly think that a particular file is of a certain type, and never check its magic.
* afc: Don't set a content-type that isn't certainBastien Nocera2019-10-111-2/+4
| | | | | | Don't ignore the result_uncertain flag from g_content_type_guess() as it might cause nautilus to incorrectly think that a particular file is of a certain type, and never check its magic.
* afp: Don't set a content-type that isn't certainBastien Nocera2019-10-111-2/+4
| | | | | | Don't ignore the result_uncertain flag from g_content_type_guess() as it might cause nautilus to incorrectly think that a particular file is of a certain type, and never check its magic.
* smb: Move variable to block where it's usedBastien Nocera2019-10-111-3/+1
| | | | | content_type was only used and initialised inside this block, so move it there.
* dav: Add support for services with IPv6 link-local addressesOndrej Holy2019-10-111-1/+13
| | | | | | | | | | The mount operation currently fails with "Invalid argument" error if GVfsDnsSdResolver returns link-local IPv6 address. This can quite easily happen also when using File Share functionality provided by GNOME. It fails because the link-local addresses requires interface to be specified. Let's append the interface in them to fix this issue. Fixes: https://gitlab.gnome.org/GNOME/gvfs/issues/423
* common: Add interface property for GVfsDnsSdResolverOndrej Holy2019-10-112-0/+53
| | | | | | GVfsDnsSdResolver doesn't store interface for the resolved service, however, we need this for link-local address support. Let's add the missing bits for it.
* dav: Remove brackets from IPv6 address before useOndrej Holy2019-10-101-1/+5
| | | | | | This is follow up of commit d8556a0, which removes brackets when mounting over dav/davs schemes, however, the same fix is also needed when mounting over dav+sd/davs+sd schemes in order to prevent "Invalid URI" error.
* Updated Danish translationAsk Hjorth Larsen2019-10-021-347/+361
|
* Revert "sftp: Always use port 22 if not specified"Ondrej Holy2019-10-011-5/+7
| | | | This reverts commit 1a38caf8bcb4e02b68f8062319ef7736796a7e64.
* Revert "build: Do not treat deprecated-declarations as errors"Ondrej Holy2019-09-201-1/+0
| | | | This reverts commit db26e29930084ad48711c076d611b0227dd97a65.
* metadata: Replace usage of deprecated GTimeVal by GDateTimeOndrej Holy2019-09-201-3/+4
| | | | | GTimeVal is deprecated. Let's replace it by GDateTime in order to prevent the deprecation warnings.
* trash: Replace usage of deprecated GTimeVal by GDateTimeOndrej Holy2019-09-201-16/+23
| | | | | GTimeVal is deprecated. Let's replace it by GDateTime in order to prevent the deprecation warnings.
* ftp: Remove usage of deprecated GTimeValOndrej Holy2019-09-201-5/+6
| | | | | GTimeVal is deprecated. Let's remove it in order to prevent the deprecation warnings.
* smb: Remove usage of deprecated GTimeValOndrej Holy2019-09-201-7/+4
| | | | | GTimeVal is deprecated. Let's remove it in order to prevent the deprecation warnings.
* mtp: Remove usage of deprecated GTimeValOndrej Holy2019-09-201-2/+2
| | | | | GTimeVal is deprecated. Let's remove it in order to prevent the deprecation warnings.
* http: Remove usage of deprecated GTimeValOndrej Holy2019-09-201-3/+2
| | | | | GTimeVal is deprecated. Let's remove it in order to prevent the deprecation warnings.
* gphoto2: Remove usage of deprecated GTimeValOndrej Holy2019-09-201-7/+4
| | | | | GTimeVal is deprecated. Let's remove it in order to prevent the deprecation warnings.