| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We check to see if the desired file name already exists before doing
a renaming by stat'ing the file (to prevent smb from destroying an
existing file). Since smb is not case sensitive, the check for an
existing file mistakenly returns true if we are only changing the
filename's case.
Add a second check to see whether we are simply changing the
case of the filename.
Fixes: https://gitlab.gnome.org/GNOME/gvfs/-/issues/672
(cherry picked from commit a845ba0220fef72815ce091b92f74767d8025541)
|
|
|
|
| |
This reverts commit f99b812d16d29f9fa6dd090f4ccb6058c004e012.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We check to see if the desired file name already exists before doing
a renaming by stat'ing the file (to prevent smb from destroying an
existing file). Since smb is not case sensitive, the check for an
existing file mistakenly returns true if we are only changing the
filename's case.
Add a second check to see whether we are simply changing the
case of the filename.
Fixes: https://gitlab.gnome.org/GNOME/gvfs/-/issues/672
|
|
|
|
|
| |
The `mount_try_again` variable is redundant since it is set to `TRUE` in
all cases. Let's remove it to sligtly improve readability of the code.
|
|
|
|
|
|
|
|
|
|
|
| |
After the recent samba change, the "Invalid Argument" error can be still
returned when anonymous login is requested even after the commit 747c7f6.
This is because `smbc_setOptionNoAutoAnonymousLogin` is called after returning
from the `auth_callback` function (i.e. there is one redundant iteration).
Let's rework the handling a bit and call that immediately, which bypasses
the issue.
Fixes: https://gitlab.gnome.org/GNOME/gvfs/-/issues/619
|
|
|
|
|
|
|
|
| |
With samba 4.16.0, mount operation fails with the "Invalid Argument" error
when kerberos/ccache is misconfigured. Ignore this error, so user get a chance
to login using the password...
Fixes: https://gitlab.gnome.org/GNOME/gvfs/-/issues/611
|
|
|
|
|
|
|
| |
It can be correctly implied from the value of filesystem::remote for
many backends, but let's make it explicit for them too.
Fixes https://gitlab.gnome.org/GNOME/gvfs/-/issues/497
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The layout of the modal dialogs in gnome-shell changed [1] and the title
now is larger and uses the style of a headline. Make sure all titles
remain fully visible and use shorter strings for those.
Also unify the generic "Enter password" strings a bit to make work
easier for translators and use this string for most cases:
"Authentication Required\nEnter password for “%s”:"
[1] https://gitlab.gnome.org/GNOME/gnome-shell/issues/1343
|
|
|
|
|
|
|
|
|
|
| |
The G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE attribute is currently
set only if the G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE or some other
attributes are requested. Thus it is not set when the fast content type
attribute is requested separately. Let's set the attribute independently
to fix this issue.
Fixes: https://gitlab.gnome.org/GNOME/gvfs/-/issues/529
|
|
|
|
|
|
|
|
|
| |
The move operation doesn't report progress currently, however, the
documentation says that it is guaranteed that the prorgress_callback
is called after all data has been transferred. Let's report the
the total number of bytes moved during the operation.
https://gitlab.gnome.org/GNOME/nautilus/-/issues/1635
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
content_type was only used and initialised inside this block, so move it
there.
|
|
|
|
|
| |
GTimeVal is deprecated. Let's remove it in order to prevent the
deprecation warnings.
|
|
|
|
|
|
|
|
|
| |
GVfs uses different forms of "Operation not supported" string,
e.g. "Operation unsupported", "Operation not supported by
backend". Let's use "Operation not supported" consistently as
this is also used in GLib.
https://gitlab.gnome.org/GNOME/gvfs/issues/170
|
|
|
|
|
| |
Update obsolete comments and misleading debug output to make the
mount procedure more obvious.
|
|
|
|
|
|
|
|
|
|
|
| |
Recent samba releases seems invoke auth_callback even when using
cached winbind credentials. It shows password prompt to user, which
is unexpected. Add one more iteration in the mount procedure just
for ccache. This will unfortunately make one fail attempt if the
winbind ccache is not configured, but I don't see better way to
fix this.
Closes: https://gitlab.gnome.org/GNOME/gvfs/issues/369
|
|
|
|
|
| |
The winbind ccache is enabled by default currently, but let's enable
it explicitely to be obvious.
|
|
|
|
| |
https://gitlab.gnome.org/GNOME/gvfs/issues/2
|
|
|
|
|
|
|
|
|
| |
fstat fails with EINVAL on Windows servers if O_WRONLY is used to open
(though it works properly on SAMBA servers). O_RDWR is needed to make
it work. This causes issues when copying files over gvfsd-fuse among
others.
https://bugzilla.gnome.org/show_bug.cgi?id=795805
|
|
|
|
|
|
|
|
| |
smbc_rmdir returns 0 for non-empty dir currently even if the dir has
not been removed. Add workaround and return G_IO_ERROR_NOT_EMPTY in
this case.
https://bugzilla.gnome.org/show_bug.cgi?id=792147
|
|
|
|
|
|
|
| |
Save the failed errno as soon as possible to avoid "Error: Success" type
of messages.
https://bugzilla.gnome.org/show_bug.cgi?id=793515
|
|
|
|
| |
Fix a warning due to no previous prototype for create_smb_uri.
|
|
|
|
|
|
|
|
|
|
|
| |
The "[]:" chars are omitted currently when encoding uri, because they
are valid for IPv6. This causes problems in some cases, e.g. output from
g_file_get_uri(g_file_new_for_uri("dav+sd://foo%3Abar._webdav._tcp.local"))
is "dav+sd://foo:bar._webdav._tcp.local/", which is obviously wrong. Add
gvfs_is_ipv6 in order to detect IPv6 addresses and encode also "[]:" chars
in other cases. Use gvfs_is_ipv6 to detect IPv6 also in some backends.
https://bugzilla.gnome.org/show_bug.cgi?id=772849
|
|
|
|
|
|
|
|
|
| |
Replace custom g_string_append_encoded() by g_string_append_uri_escaped().
The functions are identical except additional UTF-8 support, which can
be simply disabled by allow_utf8 parameter. The custom function was used
probably because the g_string_append_uri_escaped has been added later.
https://bugzilla.gnome.org/show_bug.cgi?id=604116
|
|
|
|
|
|
|
|
| |
IPv6 server includes brackets in GMountSpec, smbclient doesn't. Commit
4012d70 fixed IPv6 handling for SMB backend. Share and use the modified
create_smb_uri() function in order to fix the IPv6 handling.
https://bugzilla.gnome.org/show_bug.cgi?id=604116
|
|
|
|
|
|
|
|
|
|
|
| |
IPv6 server includes brackets in GMountSpec, smbclient doesn't. Remove
the brackets from the uri before usage in smbclient functions.
The IPv6 uris can be consequently used in the following format (port
isn't mandatory), e.g.:
gvfs-mount smb://[::1]:139/
https://bugzilla.gnome.org/show_bug.cgi?id=604116
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The smb read call can take any arbitrary size and the both the
libsmbclient SMB1 and SMB2 engines will break this down into as
many simultaneous on the wire calls as needed to pipeline
the reads / writes.
Restricting this to 65534 will be slow, so remove this
restriction.
See https://lists.samba.org/archive/samba/2016-October/204225.html
https://bugzilla.gnome.org/show_bug.cgi?id=773632
|
|
|
|
|
|
|
|
|
| |
I'm convinced that our own server cache is not needed,
because we are not using it in no way. Let's remove the
cache and let samba use its internal cache instead:
https://git.samba.org/cifs-utils.git/?p=samba.git;a=blob;f=source3/libsmb/libsmb_cache.c
https://bugzilla.gnome.org/show_bug.cgi?id=771483
|
|
|
|
|
|
| |
Remove some ancient comments, dead code, or duplicated code.
https://bugzilla.gnome.org/show_bug.cgi?id=771483
|
|
|
|
|
|
| |
See https://developer.gnome.org/hig/stable/typography.html
https://bugzilla.gnome.org/show_bug.cgi?id=772219
|
|
|
|
|
|
|
| |
Mark all network-based backends as remote. This is useful to remove
some hardcoded lists of filesystem types in GTK+.
Bump required GLib version accordingly.
|
|
|
|
|
|
|
|
|
|
| |
G_FILE_ATTRIBUTE_ACCESS_CAN_WRITE is set for regular files only when
S_IWUSR is not set currently (i.e. FALSE only). It seems to me that
it is reliable to set this to TRUE for regular files in other cases.
Applications should not rely on those attributes, however it is crucial
for some apps which rely on them still (e.g. File Roller).
https://bugzilla.gnome.org/show_bug.cgi?id=724497
|
|
|
|
|
|
|
| |
Since daemons' stdout and stderr goes into the journal, make it quiet by
default by using the existing debug logging mechanism.
https://bugzilla.gnome.org/show_bug.cgi?id=740660
|
|
|
|
|
|
| |
Otherwise nautilus will offer the wrong action in its UI.
https://bugzilla.gnome.org/show_bug.cgi?id=753934
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=744078
|
|
|
|
|
|
|
| |
Since converting a GSeekType into an lseek type is repeated in a few
places, move it into shared code.
https://bugzilla.gnome.org/show_bug.cgi?id=738967
|
|
|
|
|
|
|
| |
Random string generation is used in a few different places, so share the
implementation.
https://bugzilla.gnome.org/show_bug.cgi?id=738967
|
|
|
|
|
|
|
|
|
| |
Previously, the smb backend would try logging in anonymously first if a
user is not specified making it difficult to mount a share as a specific
user from Nautilus. Instead, only try an anonymous login if the
anonymous flag is TRUE after calling AskPassword.
https://bugzilla.gnome.org/show_bug.cgi?id=742169
|
|
|
|
|
| |
Remove old compatibility ifdefs left over from ad521f604df7 ("Require
libsmbclient from Samba 3.4.0 or higher").
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=505042
|
|
|
|
|
|
|
| |
If given an invalid type when setting time::modified in
do_set_attribute, don't try and change the mtime after failing the job.
https://bugzilla.gnome.org/show_bug.cgi?id=730844
|
|
|
|
|
|
|
|
|
| |
Instead of creating a list of GFileInfos and sending them when the
entire directory has been read, call g_vfs_job_enumerate_add_info
to send them in batches (default of 50). This simplifies the code
and should reduce the memory usage when enumerating a large directory.
https://bugzilla.gnome.org/show_bug.cgi?id=730856
|
|
|
|
|
|
|
|
|
| |
When closing a file that is overwriting another file, don't ignore the
error message when unlinking the old file. This is important when
unlinking fails due to a permission denied error but the error message
that was being returned was File Exists (from the subsequent rename).
https://bugzilla.gnome.org/show_bug.cgi?id=726998
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=710986
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=573837
|
|
|
|
|
|
| |
Also remove the old libsmb-compat.h header file.
https://bugzilla.gnome.org/show_bug.cgi?id=573837
|
|
|
|
|
|
|
| |
Calculated the number of bytes used by subtracting the size from the
number of bytes free, as done with local files.
https://bugzilla.gnome.org/show_bug.cgi?id=711838
|
| |
|
|
|
|
|
|
|
|
| |
This prevents errors of the form "Error performing operation: Success"
when doing a close after a replace that tries to overwrite a file but
fails in the final rename.
https://bugzilla.gnome.org/show_bug.cgi?id=603353
|