Commit Graph

7224 Commits

Author SHA1 Message Date
Simon McVittie
ec6ca9b6a6 Update submodule: bubblewrap 0.8.0
* Improve error message if seccomp is disabled in kernel config
* Add --disable-userns option (needed for #5084)
* Add --assert-userns-disabled option (needed for #5084)

Signed-off-by: Simon McVittie <smcv@collabora.com>
2023-03-20 12:11:01 +00:00
Philip Withnall
ce4bb3d153 dir: Fix a minor leak of an OSTree checksum
The checksum here can leak if `flatpak_dir_remote_load_cached_summary()`
returns false at least once.

Spotted by asan while running gnome-software:
```
Direct leak of 2925 byte(s) in 45 object(s) allocated from:
    #0 0x7f44774ba6af in __interceptor_malloc (/lib64/libasan.so.8+0xba6af)
    #1 0x7f44764c941a in g_malloc ../../source/glib/glib/gmem.c:130
    #2 0x7f445bc860e7 in ostree_checksum_from_bytes src/libostree/ostree-core.c:1599
    #3 0x7f445bdbea82 in flatpak_dir_remote_fetch_indexed_summary /opt/gnome/source/flatpak/common/flatpak-dir.c:12563
    #4 0x7f445bd9932e in flatpak_remote_state_ensure_subsummary /opt/gnome/source/flatpak/common/flatpak-dir.c:577
    #5 0x7f445bdbfd42 in _flatpak_dir_get_remote_state /opt/gnome/source/flatpak/common/flatpak-dir.c:12872
    #6 0x7f445bdc006c in flatpak_dir_get_remote_state_optional /opt/gnome/source/flatpak/common/flatpak-dir.c:12953
    #7 0x7f445be07886 in flatpak_transaction_ensure_remote_state /opt/gnome/source/flatpak/common/flatpak-transaction.c:2057
    #8 0x7f445be095c7 in flatpak_transaction_add_ref /opt/gnome/source/flatpak/common/flatpak-transaction.c:2732
    #9 0x7f445be09c37 in flatpak_transaction_add_update /opt/gnome/source/flatpak/common/flatpak-transaction.c:2940
    #10 0x7f445bdd202c in flatpak_installation_list_installed_refs_for_update /opt/gnome/source/flatpak/common/flatpak-installation.c:1103
    #11 0x7f445bf07824 in gs_flatpak_add_updates ../../source/gnome-software/plugins/flatpak/gs-flatpak.c:2082
    #12 0x7f445bf2e2b9 in gs_plugin_add_updates ../../source/gnome-software/plugins/flatpak/gs-plugin-flatpak.c:484
    #13 0x7f44770533b2 in gs_plugin_loader_call_vfunc ../../source/gnome-software/lib/gs-plugin-loader.c:620
    #14 0x7f447705430f in gs_plugin_loader_run_results ../../source/gnome-software/lib/gs-plugin-loader.c:748
    #15 0x7f447706cb03 in gs_plugin_loader_process_thread_cb ../../source/gnome-software/lib/gs-plugin-loader.c:3110
    #16 0x7f44769967ed in g_task_thread_pool_thread ../../source/glib/gio/gtask.c:1531
    #17 0x7f447650e760 in g_thread_pool_thread_proxy ../../source/glib/glib/gthreadpool.c:350
    #18 0x7f447650dd02 in g_thread_proxy ../../source/glib/glib/gthread.c:831
```

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
2023-03-20 12:10:41 +00:00
Simon McVittie
a058d9617f tests: Call g_test_init() before isolated_test_dir_global_setup()
g_test_init() is meant to be called before any other use of GTest APIs,
and isolated_test_dir_global_setup() can call g_test_message(). GLib
2.76 makes this more of a practical problem.

(isolated_test_dir_global_setup() is essentially a reimplementation of
G_TEST_OPTION_ISOLATE_DIRS, since we don't depend on GLib 2.60.)

Alternative to https://github.com/flatpak/flatpak/pull/5355.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2023-03-17 16:34:09 +00:00
Simon McVittie
319832190f security policy: Downgrade 1.12.x, 1.10.x to "supported if feasible"
We have too many branches and too few maintainers to be able to treat
old-stable branches as fully supported.

Helps: #5352
Signed-off-by: Simon McVittie <smcv@collabora.com>
2023-03-17 13:36:50 +00:00
Jan Alexander Steffens (heftig)
c9cbdf5179 Set size of file info for symlinks to 0
`ostree_raw_file_to_content_stream` will try to read it, causing a
critical warning with GLib 2.76 causing tests to fail.
2023-03-17 13:27:21 +00:00
Simon McVittie
e936e3100d Update translation files for release
Signed-off-by: Simon McVittie <smcv@collabora.com>
1.15.4
2023-03-16 09:54:14 +00:00
Simon McVittie
7bfc469e38 Prepare v1.15.4
Signed-off-by: Simon McVittie <smcv@collabora.com>
2023-03-16 09:54:14 +00:00
Simon McVittie
e8219ad8c8 Update NEWS
Signed-off-by: Simon McVittie <smcv@collabora.com>
2023-03-16 09:54:14 +00:00
Simon McVittie
8e63de9a7d run: Prevent TIOCLINUX ioctl, the same as TIOCSTI
The TIOCLINUX ioctl is only available on Linux virtual consoles such as
/dev/tty1. It has several Linux-specific functions, one of which is a
copy/paste operation which can be used for attacks similar to TIOCSTI.

This vulnerability does not affect typical graphical terminal emulators
such as xterm, gnome-terminal and Konsole, and Flatpak is primarily
designed to be run from a Wayland or X11 graphical environment, so this
is relatively unlikely to be a practical problem.

CVE-2023-28100, GHSA-7qpw-3vjv-xrqp

Resolves: https://github.com/flatpak/flatpak/security/advisories/GHSA-7qpw-3vjv-xrqp
Signed-off-by: Simon McVittie <smcv@debian.org>
2023-03-16 09:54:14 +00:00
Simon McVittie
409e34187d cli-transaction: Escape any special characters in the EOL reason
CVE-2023-28101, GHSA-h43h-fwqx-mpp8

Signed-off-by: Simon McVittie <smcv@collabora.com>
2023-03-16 09:54:14 +00:00
Ryan Gonzalez
7fe63f2e8f Reject paths given to --filesystem/--persist with special characters
There isn't much in the way of legit reasons for this, but it's a
potential security footgun when displaying the text.

CVE-2023-28101, GHSA-h43h-fwqx-mpp8

Signed-off-by: Ryan Gonzalez <ryan.gonzalez@collabora.com>
Co-authored-by: Simon McVittie <smcv@collabora.com>
2023-03-16 09:54:14 +00:00
Ryan Gonzalez
6cac99dafe Ensure special characters in permissions and metadata are escaped
This prevents someone from placing special characters in order to
manipulate the appearance of the permissions list.

CVE-2023-28101, GHSA-h43h-fwqx-mpp8

Signed-off-by: Ryan Gonzalez <ryan.gonzalez@collabora.com>
2023-03-16 09:54:14 +00:00
Sabri Ünal
3abfddba92 Update Turkish Translation
- Translate new strings.
- To ensure consistency with Git terminology, use "İşleme" as a translation for "Commit".
2023-03-16 09:34:52 +00:00
Anders Jonsson
47d522acd0 Update Swedish translation 2023-03-16 09:34:18 +00:00
Mejans
da6c7e66eb Occitan translations updated 2023-03-16 09:33:12 +00:00
Fabio Pagnotta
fc05e818f0 Document path used for flatpak-override 2023-03-06 13:02:51 -06:00
Piotr Drąg
2e633bd7fa Update Polish translation 2023-03-06 15:47:19 +00:00
Philip Withnall
209d4bba0d transaction: Remove unused error argument from flatpak_transaction_add_op()
Introduces no functional changes, but simplifies the code a little.

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
2023-02-23 18:57:50 +00:00
Philip Withnall
0b106a992f transaction: Fix a minor typo in a documentation comment
Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
2023-02-21 19:59:30 +00:00
Dmitry
9db4cc7d7b Russian translation update 2023-02-21 19:59:01 +00:00
Simon McVittie
756994b5c4 Prepare v1.15.3
Signed-off-by: Simon McVittie <smcv@collabora.com>
1.15.3
2023-02-21 10:03:49 +00:00
Simon McVittie
09d6adcb78 Update i18n files for release
Signed-off-by: Simon McVittie <smcv@collabora.com>
2023-02-21 10:03:49 +00:00
Simon McVittie
26be72d070 meson: Use flatpak in all-lower-case as the machine-readable project name
The Meson project name is more like Autotools PACKAGE_TARNAME, and in
particular is used in the name of the dist tarball.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2023-02-21 10:03:49 +00:00
Simon McVittie
0a4ce23448 README: Signpost https://flatpak.org/setup/ as a good way to install
Signed-off-by: Simon McVittie <smcv@collabora.com>
2023-02-21 09:55:10 +00:00
Simon McVittie
cf2a4f2b59 CONTRIBUTING: Recommend building this branch with Meson
Signed-off-by: Simon McVittie <smcv@collabora.com>
2023-02-21 09:54:46 +00:00
Simon McVittie
cb7f17b1d2 release-checklist: Describe how to do releases with Meson
Signed-off-by: Simon McVittie <smcv@collabora.com>
2023-02-21 09:20:02 +00:00
Simon McVittie
9fa89a9587 meson: Include the same i18n bug reporting address as for Autotools
Signed-off-by: Simon McVittie <smcv@collabora.com>
2023-02-21 09:19:37 +00:00
Simon McVittie
30c6b7dbf2 Update NEWS
Signed-off-by: Simon McVittie <smcv@collabora.com>
2023-02-21 09:09:56 +00:00
Rodhos
88c187e44a update es.po 2023-02-21 09:07:51 +00:00
Dmitry
473a5e1f9d Update ru.po 2023-02-21 09:03:05 +00:00
Simon McVittie
28f4f71545 Update NEWS
[skip ci]

Signed-off-by: Simon McVittie <smcv@collabora.com>
2023-02-18 14:53:01 +00:00
Dan Nicholson
fba3a7d35e transaction: Ignore uninstall operations for no deploy
If `no_deploy` has been set to `TRUE` in a transaction, then the
intention is that no changes will be made to the installed flatpaks.
Currently that's not the case for explicitly or implicitly added
uninstall operations. That's particularly bad for eol-rebase flatpaks
since they old version will be automatically removed without the new
version being installed. To address this, prevent uninstall operations
from being added for no deploy transactions.

Closes: #5172
2023-02-18 14:48:47 +00:00
Simon McVittie
77b3f0f03e Update NEWS
[skip ci]

Signed-off-by: Simon McVittie <smcv@collabora.com>
2023-02-18 14:13:32 +00:00
Dan Nicholson
cc122e2972 flatpak-run: Unset GDK_BACKEND
If the `GDK_BACKEND` environment variable is present and it's value does
not match the Wayland and X11 socket configuration, then a GTK app will
fail to run since it will only consider the display backend from the
environment variable.

This should probably be extended to cover other display environment
variables such as `QT_QPA_PLATFORM` for Qt and `SDL_VIDEODRIVER` for
SDL. However, I've only tested this with GTK applications.
2023-02-13 18:24:54 +00:00
Simon McVittie
be2de97e86 dir: If metadata is syntactically invalid, say which file is the problem
Similar to the previous commit, but for metadata.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2023-02-08 21:14:17 +00:00
Simon McVittie
3ede5382fa dir: If overrides are syntactically invalid, include path in error message
It's unhelpful to say something like "Key file contains line “x” which is
not a key-value pair, group, or comment" without specifying which file
we are talking about.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2023-02-08 21:14:17 +00:00
Simon McVittie
628750d2de list: Show a warning if we can't load the current version
Conceptually similar to the previous commit, except it didn't crash
before, just didn't display anything.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2023-02-08 21:14:17 +00:00
Simon McVittie
5e2e771ece list: Handle error in flatpak_dir_load_deployed()
flatpak_dir_load_deployed() can fail and return NULL. If that happens,
there is a semi-installed but broken app, and we should show a warning
rather than crashing.

Resolves: https://github.com/flatpak/flatpak/issues/5293
Signed-off-by: Simon McVittie <smcv@collabora.com>
2023-02-08 21:14:17 +00:00
Simon McVittie
5b2295508f Update NEWS
[skip ci]

Signed-off-by: Simon McVittie <smcv@collabora.com>
2023-02-08 12:13:34 +00:00
Simon McVittie
c1d0b46cd4 utils-http: Avoid deprecation warning with curl >= 7.85.0
CURLOPT_PROTOCOLS_STR is documented as the replacement for
CURLOPT_PROTOCOLS.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2023-02-07 14:04:01 +00:00
Simon McVittie
64d627968e run: Avoid double-free of gpgconf stdout stream
g_subprocess_get_stdout_pipe() does not transfer ownership, so the
stream still belongs to the GSubprocess and we must not unref it.

Fixes: 764e5a4d "Add --socket=gpg-agent"
Resolves: https://github.com/flatpak/flatpak/issues/5095
Signed-off-by: Simon McVittie <smcv@collabora.com>
2023-02-07 14:03:47 +00:00
Phaedrus Leeds
b13d387aef dir: Add more debug output for unused refs
Inspired by the slight mystery of
https://github.com/flatpak/flatpak/issues/5192, this commit adds more
debug output to the functions that analyze installations for unused
refs. Some of the output is g_debug() (enabled by -vv) and some is
g_info() (enabled by -v) since otherwise the output would be too
verbose. This should hopefully help debug problems, not only related to
the unused refs code but anything involving dependencies.
2023-02-06 16:19:50 +00:00
Juan
b628f3f19d Spanish translation update 2023-02-06 16:17:59 +00:00
Simon McVittie
a98bbbe2ce Update translation files for 1.15.2 release
Signed-off-by: Simon McVittie <smcv@collabora.com>
1.15.2
2023-02-06 14:07:32 +00:00
Simon McVittie
4b261f53ed Prepare v1.15.2
Signed-off-by: Simon McVittie <smcv@collabora.com>
2023-02-06 12:04:31 +00:00
Piotr Drąg
fa35ebe513 Update POTFILES.in 2023-02-05 12:08:23 -06:00
Patrick Griffis
bb730ef8b8 Revert "Add support for files generated by appstreamcli compose (#5277)"
This reverts commit 88f7ecd000.
2023-02-04 12:30:15 -06:00
Luna
88f7ecd000 Add support for files generated by appstreamcli compose (#5277)
Co-authored-by: Bartłomiej Piotrowski <b@bpiotrowski.pl>
Co-authored-by: Jamie Murphy <hello@itsjamie.dev>
2023-02-04 10:40:07 -06:00
Simon McVittie
e72ae11b93 NEWS: Update
Signed-off-by: Simon McVittie <smcv@collabora.com>
2023-01-30 10:22:19 +00:00
Forest
01910ad12f utils: Unmap the old summary.idx file before trying to replace it
Exporting to an existing repo on a Samba filesystem failed with EACCES
when libglnx called renameat() to replace the old summary.idx file.

    error: renameat: Permission denied

This occurred even when the user had appropriate permissions to the file
and its ancestor directories. The problem was that flatpak had mapped the
old file into memory for reading, and still held a reference to that mapping
when attempting to replace the underlying file. Apparently this works on some
filesystems, but not on cifs.

We therefore release the memory mapping before replacing the underlying file.

Fixes #5257

Co-authored-by: Patrick <tingping@tingping.se>
2023-01-22 19:21:36 -06:00