| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
This reverts commit a644c8763e1ed8a97fb1115046903d0c2583b8d5.
|
|
|
|
| |
This reverts commit 7aaada6e723122c705ac5a5dc638e18b8f8ddd36.
|
|
|
|
| |
This reverts commit a60d8c0987914213f2e69f760b15500a10c3adb4.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The set of daemons is a large list of executables to be built. To
ease its build an array of arrays was created, but this harms
readibility.
This has been improved by the use of the new dictionary types[0] and
the possibility of using a dictionary as a parameter in target
objects[1].
The individual dependencies have been moved directly to the new
dictionary because it remains clear their meaning.
[0] http://mesonbuild.com/Release-notes-for-0-47-0.html#new-builtin-object-type-dictionary
[1] http://mesonbuild.com/Release-notes-for-0-49-0.html#can-specify-keyword-arguments-with-a-dictionary
|
|
|
|
|
| |
man file building has been simplified by taking advantage of meson
arrays and generators placeholders.
|
|
|
|
|
|
| |
The use of an extra variable can be avoided and still maintain
readibility when checking compiler flags, so the build commands
have been changed.
|
|
|
|
|
|
|
|
|
| |
The used meson modules, default directories and includes have been
moved to the start of the build file, just after project related
information, so they are available early.
The way `po` directory path is defined has also been changed to
avoid the use of the `source_root` function.
|
|
|
|
|
|
|
|
|
| |
Although usually directory variables are set by using the `prefix`
directory, this might cause issues due to parameters that need
relative directories.
In order to ease the transition `prefix` directory has been stripped
from directory variables and only has been appended when necessary.
|
|
|
|
|
|
|
|
|
|
|
| |
When gvfs was ported to meson `gdbus-codegen` was not able to
generate the source and header files independently, and this caused
issues on highly parallelized build.
To avoid this issue a workaround was placed by using an external
script. However, recently glib and meson acquired support for
generating source and header files independently, so the
workaround has been removed.
|
|
|
|
|
|
|
|
|
|
| |
Functions derived from generators as `configure_file`,
`custom_target` and `i18n.merge_file` can use placeholders like
`@BASENAME@` that removes the extension from the input filename
string.
The output string has been replaced by this placeholder that
allows in some cases the use of less variables.
|
|
|
|
|
|
|
| |
The `install` and `install_dir` parameters must be the last
parameters in the `configure_file` function.
The paremeters have been reordered to fix this issue.
|
|
|
|
|
|
|
|
|
| |
The names of the variables in meson corresponding to the variables
obtained from the pkg-config files has been fixed by using a
pattern.
The pattern uses the dependency name as the prefix and the obtained
variable as the suffix.
|
|
|
|
|
|
|
| |
Since meson 0.49, the `/` character can be used to join paths[0], so
all the instances of `join_paths` have been replaced.
[0] http://mesonbuild.com/Release-notes-for-0-49-0.html#joining-paths-with-
|
|
|
|
|
|
|
|
|
|
| |
meson 0.49 has gained support for `libgcrypt-config` when using the
`dependency` function[0], so there is not need to call to it from
build files.
The minimum required meson version has also been bumped to 0.49.
[0] http://mesonbuild.com/Release-notes-for-0-49-0.html#libgcrypt-dependency-now-supports-libgcryptconfig
|
|
|
|
|
|
|
| |
Add missing trailing commas that avoids getting noise when another
file/parameter is added and eases reviewing changes[0].
[0] https://gitlab.gnome.org/GNOME/dconf/merge_requests/11#note_291585
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
All the available monitors install a set of files: volume monitor
files, DBus service files, etc...
These build commands are mostly common and only file names change,
which are built using a given pattern. These build commands have
been replaced by only one set of build commands that adapt to
monitors needs by changing their name and simplifies the entire
process.
These changes also help installing `GOA` and `MTP` necessary test
files.
|
|
|
|
|
| |
`gvfs_bindir` and `gvfs_includedir` are not used in any meson's
build files so they have been removed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If keyring contains more entries for one host, the first one is always
used. However, this is not always the best one. Imagine the situation
that the username was changed on the server for some reason and the
previous username is invalid. When user connects using the new username,
a new entry is added to the keyring. However, next time the old username
is automatically used when mounting using the hostname only, which leads
to login failures and the user has to specify its password each time...
Prefer the most recent item from keyring if they are equal in specificity
in order to prevent such issues.
It would be best to remove the invalid entry automatically from the
keyring, but it is not safe to remove it just in case of login failure,
because it might be just some network outage, or so...
https://gitlab.gnome.org/GNOME/gvfs/issues/352
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, when you try to mount AFP share and don't specify username
in the URI, the g_vfs_keyring_lookup_password() call is skipped and thus
you have to specify the credentials manually even if "Remember Password
Forever" was used last time. This is wrong and other backends in
the same situation tries to use the stored credentials. This is especially
annoying for locations which are propagated over DNS-SD. Let's change this.
Closes: https://gitlab.gnome.org/GNOME/gvfs/issues/352
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some servers e.g. davs://webdav.mc.gmx.net returns 403 status code
instead of 401 in case of invalid credentials. This causes that libsoup
fails immediately after the first login attempt, which is especially
problem in case of the wrong credentials stored in the keyring. A user
doesn't have any chance to manually specify correct credentials. Clear
the credentials cache and force libsoup to call the authentication
callback again...
Closes: https://gitlab.gnome.org/GNOME/gvfs/issues/351
|
| |
|
|
|
|
|
| |
This is needed to include the latest meson release, which is necessary
for: https://gitlab.gnome.org/GNOME/gvfs/merge_requests/25.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
New image is necessary because of new functionality. Add --no-cache
option to force rebuilding the image.
|
|
|
|
|
| |
GLib hasn't been released with g_unix_mount_get_root_path support yet,
so let's add macros to use this functionality only if available.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
UDisks2 handling of mounts which doesn't point into fs root (created
over bind operation, or btrfs subvolumes) is not optimal, see:
https://github.com/storaged-project/udisks/issues/478
Also GIO API doesn't expect that one GVolume can have multiple
mountpoints. Thus don't try to match UDisksBlock with mount which
doesn't point into fs root and create standalone GVfsUDisks2Mount
for it (or use GVfsUDisks2Volume corresponding with fstab entry).
https://gitlab.gnome.org/GNOME/gvfs/issues/330
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
gvfs_udisks2_mount_new returns NULL if volume is not specified and
mount is considered as internal by g_unix_mount_is_system_internal.
This prevents mount creation in certain cases even if x-gvfs-show is
manually specified. Mounts are already filtered out by
should_include_mounts, so I don't see much reason for additional check.
It is true that should_include_mount doesn't use
g_unix_mount_is_system_internal, but just
g_unix_is_mount_path_system_internal, however, we can change this
in future if needed.
https://gitlab.gnome.org/GNOME/gvfs/issues/330
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Beginning the commit 959db3e0, mtab-based mount options are prioritized
prior to the fstab options. However, "comment" option is not propagated
to mtab and thus mounts with "comment=x-gvfs-show" can be ignored, but
volumes can be still shown for them and vice versa. Consequently, mount
operation fails with the following:
"Mount is denied because the NTFS volume is already exclusively opened.
The volume may be already mounted, or another software may use it which
could be identified for example by the help of the 'fuser' command."
Just a note, that "comment=x-gvfs-*" is wrong as per the docs and it
should be "comment=gvfs-*" instead. However, it seems that the people
started using this after commit 37d4bf32 as workaround on distributions
with old util-linux versions, where plain "x-gvfs-*" option caused the
following error:
"Unrecognized mount option "x-gvfs-show" or missing value"
The workaround using "comment=x-gvfs-*" option worked so far just only
thanks to the "bug" in gvfs_udisks2_utils_lookup_fstab_options_value()
function, which doesn't care about the prefix of the mount option.
Let's prioritize fstab options before mtab-based mount options to fix
this regression. It is maybe less reliable because the assignment of
the corresponding fstab entry is arguable, but the rest of the volume
monitor code relies on it anyway.
Closes: https://gitlab.gnome.org/GNOME/gvfs/issues/348
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A new daemon is always spawned if MountLocation method (or LookupMount for
automounted) is called and the respective mount isn't registered yet. This
is not usually an issue, because the redundant daemons are consequently
terminated. However, this is a problem if mount operations hang for some reason.
This may happen e.g. with trash backend due to stale NFS mounts. Consequently,
new and new daemons are spawned which may lead to system failures due to lack
of system resources. See the following downstream bug report:
https://bugzilla.redhat.com/show_bug.cgi?id=1632960
Let's fix that behavior simply by preventing spawning of new daemons if
respective outgoing mount operations exist.
https://gitlab.gnome.org/GNOME/gvfs/merge_requests/19
|
|
|
|
|
|
|
|
| |
GRegex expects valid UTF-8 input by default and libpcre may crash if
it is not valid. GRegex is used to parse autorun file, which doesn't
have to be always valid. Let's use G_REGEX_RAW to prevent the crashes.
Closes: https://gitlab.gnome.org/GNOME/gvfs/issues/344
|
|
|
|
| |
(cherry picked from commit b846e5389073fc8607ef41851bf525b29029d976)
|
| |
|
| |
|
|
|
|
| |
(cherry picked from commit fa11cb717155213847c9941ce8fbcc9f83f3a44e)
|
|
|
|
|
| |
In this case the smb config is set up using the default port by the
sandbox itself - the config in the testsuite is not used.
|
|
|
|
|
|
|
| |
ID_SERIAL string is not URI-escaped before use, but unfortunately, it
may contain special characters (e.g. colons) and consequently it is not
possible to mount affected devices over activation_root. Let's URI-escape
the ID_SERIAL string before use as URI to fix that issue.
|
|
|
|
|
|
|
|
|
| |
ID_SERIAL string is not URI-escaped before use, but unfortunately, it
may contain special characters (e.g. colons) and consequently it is not
possible to mount affected devices over activation_root. Let's URI-escape
the ID_SERIAL string before use as URI to fix that issue.
Closes: https://gitlab.gnome.org/GNOME/gvfs/issues/338
|
|
|
|
|
|
| |
Files in volatile folder should be also marked as volatile.
Volatile handling is a bit simplified as a part of this patch also.
|
|
|
|
|
|
|
| |
The reworked cache hasn't been used for enumeration results and also
for missing files checks, which always caused rebuilding cache. Let's
save timestamps also for enumerations and use it to prevent redundant
cache rebuilds.
|
|
|
|
|
|
|
|
|
|
|
| |
The backend is totally unusable if you have too many files on your
Drive. This happens because the backend preloads the whole Drive's
metadata. Let's build the cache incrementaly per folders.
As a result, the backend works smoothly regardless of the total
number of Drive files, because the total number of transmitted data
is significantly reduced. On the other hand, more requests is done
to Drive, but the Drive quotas seem big enough.
|
|
|
|
|
|
| |
Files with multiple parents are currently removed from all parents.
This is unexpected and may cause data loss, because it is not obvious
that it is one file. Let's remove the file just from requested folder.
|
|
|
|
|
|
|
|
|
| |
One entry can have multiple parents. You can create such entry on
the web in a pretty simple way, e.g. Ctrl + Drag&Drop. Such entries
are currently shown only on one place in the backend. Also the backend
rely on get_parent_id() and get_entry_path() functions which are tottaly
wrong. Let's introduce get_parent_ids() and resolve entry_path only
from given filename.
|
|
|
|
|
|
| |
Entries without parents are not shown on the web and there isn't any
reason to list them here. Such entries belongs to some web services
and we have no control over them.
|
|
|
|
|
| |
dir_collisions are not properly invalidated if removed entry is on this list.
Let's remove the entry also from this list.
|
|
|
|
|
|
| |
Debug output contains mess because id and title are const gchar *
and are released together with GDataEntry on previous line. Let's
just swap the lines.
|
|
|
|
|
|
|
|
|
|
|
|
| |
"Windows Network" doesn't work with recent samba versions, because
"client max protocol" has been changed from NT1 to SMB3 recently.
NT1 is mandatory for workgroup support. Let's force NT1 using the
newly added smbc_setOptionProtocols API if available. But force this
only when neither hostname, nor IP address is used. This among others
prevents complete breakage if NT1 is disabled on server. Use GResolver
to implement this heuristic.
https://bugzilla.gnome.org/show_bug.cgi?id=780958
|
|
|
|
| |
(cherry picked from commit 847058eb893cf8cf724ce3f61d4b4458bad40b9d)
|
|
|
|
| |
(cherry picked from commit dcf47dbb1c4cfcdafb876b7bc5f79b7228d0a42e)
|