| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
|
| |
Make using GCR optional by compiling with --disable-gcr. This makes
gvfs strict when checking SSL certificates, so don't silently disable it
if the library is not found, only disable it if --disable-gcr is given.
https://bugzilla.gnome.org/show_bug.cgi?id=750706
|
|
|
|
|
|
| |
Never call bd_open() with an empty path.
https://bugzilla.gnome.org/show_bug.cgi?id=749093
|
|
|
|
|
|
|
|
|
|
| |
If gvfs-open exits before the program it starts fully activates, then
the dbus-daemon may avoid doing the activating method call.
This commit works around the problem by pinging the activated application,
and waiting for a reply.
https://bugzilla.gnome.org/show_bug.cgi?id=746534
|
|
|
|
| |
This was breaking the build for me due to warnings-as-errors
|
|
|
|
|
|
|
|
|
|
|
|
| |
We want to split gvfs package on client and daemon part due to app
sandboxing. Return FALSE from vfs_is_active if there aren't any
supported uri schemes (i.e. deamon part is missing). It will cause
things to work just like if the gvfs client part was never installed.
Replace some warnings/errors by g_debug to suppress errors when
registering gio modules and daemon part is missing.
https://bugzilla.gnome.org/show_bug.cgi?id=750401
|
|
|
|
|
|
|
|
| |
Unmount progress is shown only when unmount takes more then 1.5 seconds.
However the progress should be shown everytime when unmount is finished
for users to be sure it is safe to remove device.
https://bugzilla.gnome.org/show_bug.cgi?id=750267
|
|
|
|
| |
bash, dash etc. drop suid root privileges without -p.
|
|
|
|
|
|
|
|
|
|
|
| |
Use the newly-introduced data connection when pulling data from a sftp
mount. This prevents blocking other operations behind a few MBs of
in-flight data and improves interactivity.
If the data connection is not usable, fall back to the default copy
implementation.
https://bugzilla.gnome.org/show_bug.cgi?id=747128
|
|
|
|
|
|
|
| |
Update the infrastructure to allow submitting multiple commands to be
sent on different connections and then waiting for the all to complete.
https://bugzilla.gnome.org/show_bug.cgi?id=747128
|
|
|
|
|
|
|
|
|
|
|
| |
Use the newly-introduced data connection when pushing data from a sftp
mount. This prevents blocking other operations behind a few MBs of
in-flight data and improves interactivity.
If the data connection is not usable, fall back to the default copy
implementation.
https://bugzilla.gnome.org/show_bug.cgi?id=747128
|
|
|
|
|
|
|
|
|
|
|
|
| |
Login to the command connection and the data connection when mounting.
Any password entered during the first connection is reused for the
second connection.
Because the data connection is not essential, do not fail if the
connection attempt fails, and introduce a function to determine if a
connection is usable.
https://bugzilla.gnome.org/show_bug.cgi?id=747128
|
|
|
|
|
|
|
| |
Add a data connection in addition to the command connection currently
used.
https://bugzilla.gnome.org/show_bug.cgi?id=747128
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Multiple connections are needed since 7890d2801a7f ("sftp: Implement
push support") and ed826fdf386c ("sftp: Implement pull support"). This
is because up to 2 MiB of data may be in flight, so any "command" sent
(e.g. refreshing the view in Nautilus) gets queued up which makes the
mount unusable on a slow connection when copying at the same time.
This changes the code to support multiple connections but still uses
a single connection.
https://bugzilla.gnome.org/show_bug.cgi?id=747128
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
We don't want to have dependency on udev in client part of gvfs due
to app sandboxing. Thus move the code into the metadata daemon and
get tree name via dbus.
Common code to get metadata proxy has to be moved in metatree code.
Mentioned changes caused that unistd.h is also included in
meta-get-tree.c and cause symbol redeclaration error. Variable
"pause" has to be renamed to avoid this conflict.
|
|
|
|
|
|
| |
Commit 6cbe00d removed gvfsmountinfo.c from common shared library,
however libbluray dependency wasn't removed. Remove the dependency
by this patch.
|
| |
|
|
|
|
|
|
|
|
| |
Copy the modification timestamp after copying a file from the device.
Normally, this would be done in the copy fallback path, but if pull() is
implemented, it must also copy metadata.
https://bugzilla.gnome.org/show_bug.cgi?id=749788
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Uri is altered before g_app_info_launch_default_for_uri, because of
the following code (from the commit 95aac17):
file = g_file_new_for_commandline_arg (location[i])
uri = g_file_get_uri (file);
Examples of uri changes:
mailto:email -> mailto:///email
ssh://user@host -> sftp://user@host/
This patch cause that uri isn't preprocessed for locations with scheme
(however absolute and relative paths are still preprocessed).
https://bugzilla.gnome.org/show_bug.cgi?id=738690
|
| |
|
|
|
|
|
|
|
|
|
| |
In systemd v209 the various libsystemd-* libraries were merged into a
single libsystemd library. So first check for this library and fall back
to libsystemd-login if not found.
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=749603
Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=779766
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
d59e6873086f ("Fix 'path[12]_out' leak in file_transfer()") assumed that
path[12]_out were always set by create_proxy_for_file2 but this is not
always the case. Fix it so that create_proxy_for_file2 always sets
path[12]_out.
To reproduce the bug:
$ gvfs-copy --progress smb://host/unmounted/a smb://host/unmounted/b
Segmentation fault (core dumped)
https://bugzilla.gnome.org/show_bug.cgi?id=749462
|
|
|
|
|
|
|
|
|
| |
Get the storage information from the device in query_info() and
query_fs_info() so that the disk space numbers are correct. Previously,
if you deleted an item and checked the free space, it would not have
changed.
https://bugzilla.gnome.org/show_bug.cgi?id=749491
|
|
|
|
|
|
|
|
|
|
| |
For progress in applications like Nautilus to be shown correctly, they
need at least one progress callback to be emitted at the end. This is
supposed to be guaranteed according to the GIO documentation. With
server-side copy and move using webdav, emit a single progress callback
at the end with the source file size.
https://bugzilla.gnome.org/show_bug.cgi?id=749354
|
| |
|
|
|
|
|
|
|
|
| |
Commit f5ee590 introduces TLS certificate verifying for webdav. Uknown
certificates has to be confirmed by user during mount currenlty, thus
test cases for webdav over https have to also confirm the certificates.
https://bugzilla.gnome.org/show_bug.cgi?id=708306
|
| |
|
| |
|
|
|
|
|
|
|
| |
g_unix_mount_monitor_new is deprecated now. It was renamed to
g_unix_mount_monitor_get, because it is singleton. See Bug 742599.
https://bugzilla.gnome.org/show_bug.cgi?id=712382
|
|
|
|
|
|
|
| |
Metadata are unset from client side using dbus set api, therefore dbus
unset api and corresponding code isn't necessary. There is only one
usage of unset api in private meta-set utility, which is replaced by
this patch.
|
|
|
|
|
| |
Metadata are read from client side directly using meta_tree_enumerate_keys,
therefore dbus api and corresponding code isn't necessary.
|
|
|
|
|
|
|
|
|
|
|
| |
This is follow-up of commit 6a260ff, which updated license for
ParseFTPList.c, but ParseFTPList.h should be updated also.
Synced from upstream commit:
http://hg.mozilla.org/mozilla-central/rev/f4157e8c4107
https://bugzilla.mozilla.org/show_bug.cgi?id=716478
https://bugzilla.gnome.org/show_bug.cgi?id=601583
|
|
|
|
|
|
|
|
|
| |
Since commit b358ca "Make sure metadata is always returned by
query_writable_namespaces()", query_writable_namespaces() is expected to
return non-NULL values. There is one error case where it's not currently
doing that.
https://bugzilla.gnome.org/show_bug.cgi?id=747362
|
|
|
|
|
|
|
| |
This makes the common (non-error) case more linear, and thus a bit more
readable. This is in preparation for the next commits.
https://bugzilla.gnome.org/show_bug.cgi?id=747362
|
|
|
|
|
|
|
| |
These functions return pointers, so it's better to return NULL rather
than FALSE.
https://bugzilla.gnome.org/show_bug.cgi?id=747360
|
|
|
|
|
|
|
|
|
| |
file_transfer() calls create_proxy_for_file2() passing it 'path1_out'
and 'path2_out' arguments. These return values are newly allocated
strings, so they must be freed when no longer used. This fixes a leak
reported by valgrind.
https://bugzilla.gnome.org/show_bug.cgi?id=747361
|
|
|
|
|
|
|
|
|
|
|
| |
create_proxy_for_file2() will only set the *path2_out return value if a
mount info was found for the 'file2' argument. However, as this return
value must be freed, it's much better to set 'path2_out' to NULL rather
than leave it unset. This way the caller can call g_free() on the
returned value without having to set 'path2_out' to NULL before calling
create_proxy_for_file2.
https://bugzilla.gnome.org/show_bug.cgi?id=747361
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When mounting a secure webdav share, verify the certificate using the
system certificate store, or if that is not possible, ask the user
whether it is OK.
ssl-strict is enabled for the SoupSession. If the first connection
attempt fails, the certificate is presented to the user. If they agree
to the certificate, then it is stored and compared with the certificate
presented on each subsequent connection. It is an error if the
certificate changes.
https://bugzilla.gnome.org/show_bug.cgi?id=708306
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=526582
|
|
|
|
|
|
|
|
|
|
|
|
| |
When ftp is layered on top of TLS, it does a write-write-read which
causes a large amount of latency due to the combination of Nagle's
algorithm and delayed ACKs. Use TCP_NODELAY to disable Nagle's algorithm
and prevent this.
The flag is used for both secure and normal connections. This should
not cause any issues.
https://bugzilla.gnome.org/show_bug.cgi?id=526582
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implement TLS support (aka explicit ftps). This is done by using a
different URL scheme, ftps, so that it is only used if explicitly
specified.
Although the protocol allows transparently upgrading a normal
connection to a secure one, there are several problems with this.
FEAT is needed to determine support for it but some servers do not allow
this before login. Some servers are configured to allow AUTH TLS but
have firewalls that block data connections because they can't inspect
the traffic. Servers may disallow TLS on the data connection, making it
unclear to the user how secure the connection is. Finally, there may be
verification errors which need to be presented to the user, and these
are unexpected because they did not choose to use ftps.
Making secure ftp opt-in as a separate URL scheme side-steps most of
these issues as well as ensuring there are no regressions for normal
ftp. When using ftps, we assume that the server implements AUTH TLS so
the connection is secured before login. It is also assumed that TLS for
data connections is allowed, so both control and data connection are
secure before any information is transferred.
Verification errors are presented during mounting. If the identity
changes on subsequent reconnections, the connection is aborted.
While presenting verification errors to the user in this way is perhaps
not the best way of handling security, it is fairly standard.
The implementation has been successfully tested on vsftpd, ProFTPD,
Pure-FTPd, IIS, and FileZilla Server.
Based on a patch by Benjamin Otte.
https://bugzilla.gnome.org/show_bug.cgi?id=526582
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a utility function to present a certificate to the user during a
mount to confirm whether to continue or not.
This adds a dependency on Gcr, to parse information from the
certificate.
Based on a patch by Ondrej Holy.
https://bugzilla.gnome.org/show_bug.cgi?id=526582
|
|
|
|
|
|
|
|
|
|
|
|
| |
If logging in without an agent, g_str_has_prefix (buffer, "Enter
passphrase for key") fails the second time around (e.g. if the first
entry was incorrect) because the buffer contains a leading newline: "
Enter passphrase for key '/home/user/.ssh/id_rsa': "
This makes the login process timeout.
To fix this, trim leading whitespace.
https://bugzilla.gnome.org/show_bug.cgi?id=545445
|
|
|
|
|
|
|
| |
Handle the case when the fingerprint could not be parsed from SSH's
output.
https://bugzilla.gnome.org/show_bug.cgi?id=545445
|