-
Notifications
You must be signed in to change notification settings - Fork 166
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support query parameters for disk sas uri #120
Commits on May 12, 2022
-
Translated using Weblate (Czech)
Currently translated at 0.5% (5 of 955 strings) Translation: libguestfs/libguestfs-master Translate-URL: https://translate.fedoraproject.org/projects/libguestfs/libguestfs-master/cs/ (cherry picked from commit 1886a03)
Configuration menu - View commit details
-
Copy full SHA for 9943282 - Browse repository at this point
Copy the full SHA 9943282View commit details -
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Translation: libguestfs/libguestfs-master Translate-URL: https://translate.fedoraproject.org/projects/libguestfs/libguestfs-master/ (cherry picked from commit 7c7b9f5)
Configuration menu - View commit details
-
Copy full SHA for 9859bf4 - Browse repository at this point
Copy the full SHA 9859bf4View commit details -
daemon: Fix compilation with older rpm that lacks RPMVSF_MASK_NOSIGNA…
…TURES On RHEL 7 (rpm-devel-4.11.3-45.el7.x86_64): rpm-c.c: In function ‘guestfs_int_daemon_rpm_start_iterator’: rpm-c.c:97:44: error: ‘RPMVSF_MASK_NOSIGNATURES’ undeclared (first use in this function) rpmtsSetVSFlags (ts, rpmtsVSFlags (ts) | RPMVSF_MASK_NOSIGNATURES); ^ rpm-c.c:97:44: note: each undeclared identifier is reported only once for each function it appears in Fixes: commit aa6f803 (cherry picked from commit bc96e0b)
Configuration menu - View commit details
-
Copy full SHA for 3115f10 - Browse repository at this point
Copy the full SHA 3115f10View commit details -
appliance: don't read extfs signature from QCOW2 image directly
If the appliance is a QCOW2 image, function get_root_uuid_with_file() fails to read ext filesystem signature (0x53EF at offset 0x438) from it. This results in the following error: libguestfs: error: /usr/lib64/guestfs/appliance/root: appliance is not an extfs filesystem The error itself is harmless, but misleading. So let's skip retrieving the signature and UUID in case the image contains QCOW2 header. It's safe because in this case we'll retrieve it later from RAW image dumped from that QCOW2 by "qemu-img dd". Signed-off-by: Andrey Drobyshev <andrey.drobyshev@virtuozzo.com> (cherry picked from commit ef8c659)
Configuration menu - View commit details
-
Copy full SHA for c7d257d - Browse repository at this point
Copy the full SHA c7d257dView commit details -
tests: Fix isoinfo test to recognise cdrtools iso_volume_id
cdrtools writes "CDROM" into the Volume Identifier field in the PVD, whereas genisoimage and xorriso write "ISOIMAGE". Recognise either string as valid in the test. Fixes: libguestfs#79 Reported-by: David Runge (cherry picked from commit 0956e8e)
Configuration menu - View commit details
-
Copy full SHA for 6fe4410 - Browse repository at this point
Copy the full SHA 6fe4410View commit details -
build: No longer check for ocamldep -one-line and -all options
These were added to ocamldep in Jan 2012, over 10 years ago. They were not present in RHEL 6, but we don't care about that now. (cherry picked from virt-v2v commit f6108bbd661d3e922d07b47f00daa901ab846e59) (cherry picked from commit 0a2d439)
Configuration menu - View commit details
-
Copy full SHA for 2ad3f1c - Browse repository at this point
Copy the full SHA 2ad3f1cView commit details -
mltools/tools_utils-c.c: Free keystore after decryption (cherry picked from commit bf8b876)
Configuration menu - View commit details
-
Copy full SHA for c8b6f9d - Browse repository at this point
Copy the full SHA c8b6f9dView commit details -
api: Note that drive "name" field is no longer used
Before commit 3a00c4d ("Remove inspection from the C library and switch to daemon/OCaml implementation") in 2017 the name parameter passed to add_drive was used by inspection to override the device name that is determined from fstab. None of our tools ever actually used this parameter, and when the inspection code was moved inside the daemon we stopped using this hint field at all. So it's no longer used, and likely hasn't been used ever. Therefore document that the field does nothing. Reviewed-by: Laszlo Ersek <lersek@redhat.com> (cherry picked from commit b4081d0)
Configuration menu - View commit details
-
Copy full SHA for f80c700 - Browse repository at this point
Copy the full SHA f80c700View commit details -
Fixes: libguestfs#81 (cherry picked from commit f9babf8)
Configuration menu - View commit details
-
Copy full SHA for 395ca6f - Browse repository at this point
Copy the full SHA 395ca6fView commit details -
Translated using Weblate (Spanish)
Currently translated at 2.0% (328 of 16046 strings) Translation: libguestfs/libguestfs-docs-master Translate-URL: https://translate.fedoraproject.org/projects/libguestfs/libguestfs-docs-master/es/ (cherry picked from commit 7e9ff9e)
Configuration menu - View commit details
-
Copy full SHA for e878013 - Browse repository at this point
Copy the full SHA e878013View commit details -
generator/customize: document that "--selinux-relabel" checks for SEL…
…inux The documentation currently says that the user should avoid passing "--selinux-relabel" on the command line if the guest does not support SELinux. However, the "is_selinux_guest" helper function in "common/mlcustomize/SELinux_relabel.ml" already turns "--selinux-relabel" into a no-op if some key SELinux files are absent from the guest, so there is no need to caution the user. This change is relevant because the subsequent patches will turn on "--selinux-relabel" by default, and therefore "is_selinux_guest" will grow in importance. Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1554735 Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2075718 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Message-Id: <20220510102757.14466-2-lersek@redhat.com> Acked-by: Richard W.M. Jones <rjones@redhat.com> (cherry picked from commit 8541db0)
Configuration menu - View commit details
-
Copy full SHA for e30ac34 - Browse repository at this point
Copy the full SHA e30ac34View commit details -
daemon/selinux-relabel: generalize setfiles_has_m_option()
Allow the caller to pass in the option to check for, and to store the result in a (usually static) variable of their choice. Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1794518 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Message-Id: <20220511122345.14208-2-lersek@redhat.com> Reviewed-by: Richard W.M. Jones <rjones@redhat.com> (cherry picked from commit 5345d42)
Configuration menu - View commit details
-
Copy full SHA for bba14f9 - Browse repository at this point
Copy the full SHA bba14f9View commit details -
daemon/selinux-relabel: tolerate relabeling errors
Option "-C" of setfiles(8) causes setfiles(8) to exit with status 1 rather than status 255 if it encounters relabeling errors, but no other (fatal) error. Pass "-C" to setfiles(8) in "selinux-relabel", because we don't want the "selinux-relabel" API to fail if setfiles(8) only encounters relabeling errors. (NB even without "-C", setfiles(8) continues traversing the directory tree(s) and relabeling files across relabeling errors, so this change is specifically about the exit status.) Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1794518 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Message-Id: <20220511122345.14208-3-lersek@redhat.com> Reviewed-by: Richard W.M. Jones <rjones@redhat.com> (cherry picked from commit a39b79f)
Configuration menu - View commit details
-
Copy full SHA for dcfa385 - Browse repository at this point
Copy the full SHA dcfa385View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7fe7093 - Browse repository at this point
Copy the full SHA 7fe7093View commit details
Commits on May 26, 2022
-
lib: Disable 5-level page tables when using -cpu max
In https://bugzilla.redhat.com/show_bug.cgi?id=2082806 we've been tracking an insidious qemu bug which intermittently prevents the libguestfs appliance from starting. The symptoms are that SeaBIOS starts and displays its messages, but the kernel isn't reached. We found that the kernel does in fact start, but when it tries to set up page tables and jump to protected mode it gets a triple fault which causes the emulated CPU in qemu to reset (qemu exits). This seems to only affect TCG (not KVM). Yesterday I found that this is caused by using -cpu max which enables the "la57" feature (5-level page tables[0]), and that we can make the problem go away using -cpu max,la57=off. Note that I still don't fully understand the qemu bug, so this is only a workaround. I chose to disable 5-level page tables for both TCG and KVM, partly to make the patch simpler, and partly because I guess it's not a feature (ie. 57 bit linear addresses) that is useful for the libguestfs appliance case, where we have limited physical memory and no need to run any programs with huge address spaces. I tested this by running both the direct & libvirt paths overnight. I expect that this patch will fail with old qemu/libvirt which doesn't understand the "la57" feature, but this is only intended as a temporary workaround. [0] Article about 5-level page tables as background: https://lwn.net/Articles/717293/ Thanks: Laszlo Ersek Fixes: https://answers.launchpad.net/ubuntu/+source/libguestfs/+question/701625 Acked-by: Laszlo Ersek <lersek@redhat.com> (cherry picked from commit 59d7e6e)
Configuration menu - View commit details
-
Copy full SHA for 24b0d90 - Browse repository at this point
Copy the full SHA 24b0d90View commit details -
build: Add ROCKY to REDHAT distros list
(cherry picked from commit a3487ef)
Configuration menu - View commit details
-
Copy full SHA for 796e0b7 - Browse repository at this point
Copy the full SHA 796e0b7View commit details -
website: Update 'git clone' protocol
GitHub dropped[1] support for git: protocol, so cloing with "git://" will fail. Use "https://" instead. [1] https://github.blog/2021-09-01-improving-git-protocol-security-github/ Signed-off-by: Kashyap Chamarthy <kchamart@redhat.com> (cherry picked from commit 16cf069)
Configuration menu - View commit details
-
Copy full SHA for b95c7f6 - Browse repository at this point
Copy the full SHA b95c7f6View commit details -
git: Add 'git-publish' config file
The `git-publish`[1] tool is a wrapper around `git-format-patch` and `git-send-email`. It's a handy tool that automates some of the tedious aspects of manual patch submission: - Submitting a patch to the list (with a small config in place) is as simple as `git publish` - On next revisions, it automatically increments version numbers - It auto-copies the list of To: and Cc: from your previous iteration - It lets you preview/edit emails before submission - You can also use standard `git-format-patch` and `git-send-email` options with `git publish` - You can send pull requests with `git publish --pull-request` - It also provides custom hooks ... and more[2] [1] https://github.com/stefanha/git-publish [2] https://github.com/stefanha/git-publish/blob/master/git-publish.pod Signed-off-by: Kashyap Chamarthy <kchamart@redhat.com> (cherry picked from commit 8487e90)
Configuration menu - View commit details
-
Copy full SHA for f604d43 - Browse repository at this point
Copy the full SHA f604d43View commit details -
website: List only the 1.48 stable branch on the website
(cherry picked from commit 53d6c00)
Configuration menu - View commit details
-
Copy full SHA for a8df4f1 - Browse repository at this point
Copy the full SHA a8df4f1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 215157f - Browse repository at this point
Copy the full SHA 215157fView commit details -
guestfs.pod: document encrypted RBD disk limitation
Under "REMOTE STORAGE", the "NETWORK BLOCK DEVICE" section already documents some limitations. Turns out we need to describe a quirky exception for accessing encrypted RBD disks, too. Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2033247 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Message-Id: <20220518083014.9890-1-lersek@redhat.com> Acked-by: Richard W.M. Jones <rjones@redhat.com> (cherry picked from commit 544bb0f)
Configuration menu - View commit details
-
Copy full SHA for fd64ddf - Browse repository at this point
Copy the full SHA fd64ddfView commit details -
appliance: Print guestfsd.deps after generation
Sometimes generating this file fails. To help with debugging these situatons, print the guestfsd.deps file after it has been generated. (cherry picked from commit bf5fcdb)
Configuration menu - View commit details
-
Copy full SHA for 383298a - Browse repository at this point
Copy the full SHA 383298aView commit details -
appliance: Error out if QUERY_FILES_CMD cannot be set
Instead of continuing on regardless and failing with a weird error later, error out early if we don't know about the distro and so cannot set QUERY_FILES_CMD. This avoids situations like libguestfs#81 (cherry picked from commit 4418e63)
Configuration menu - View commit details
-
Copy full SHA for 0135f33 - Browse repository at this point
Copy the full SHA 0135f33View commit details -
build: When parsing distro from /etc/os-release, try $ID_LIKE first
The current code for working out the distro uses the ID entry from /etc/os-release, and then we map those strings into a smaller set of values (basically, what package manager to use). However it was suggested that we should try ID_LIKE first so that distros which act like other distros would work. On an Arch Linux 32 system: ID=arch32 ID_LIKE=arch See-also: libguestfs#81 Thanks: S D Rausty (cherry picked from commit 63b722b)
Configuration menu - View commit details
-
Copy full SHA for 86cbff0 - Browse repository at this point
Copy the full SHA 86cbff0View commit details -
daemon: rpm: Check return values from librpm calls
We previously didn't bother to check the return values from any librpm calls. In some cases where possibly the RPM database is faulty, this caused us to return a zero-length list of installed applications (but no error indication). One way to reproduce this is given below. Note this reproducer will only work when run on a RHEL 8 host (or more specifically, with rpm <= 4.16): $ virt-builder fedora-28 $ guestfish -a fedora-28.img -i rm /var/lib/rpm/Packages $ guestfish --ro -a fedora-28.img -i inspect-list-applications /dev/sda4 -vx ... chroot: /sysroot: running 'librpm' error: cannot open Packages index using db5 - Read-only file system (30) error: cannot open Packages database in error: cannot open Packages index using db5 - Read-only file system (30) error: cannot open Packages database in librpm returned 0 installed packages ... With this commit we get an error instead: ... chroot: /sysroot: running 'librpm' error: cannot open Packages index using db5 - Read-only file system (30) error: cannot open Packages database in ocaml_exn: 'internal_list_rpm_applications' raised 'Failure' exception guestfsd: error: rpmtsInitIterator guestfsd: => internal_list_rpm_applications (0x1fe) took 0.01 secs libguestfs: trace: internal_list_rpm_applications = NULL (error) libguestfs: error: internal_list_rpm_applications: rpmtsInitIterator libguestfs: trace: inspect_list_applications2 = NULL (error) libguestfs: trace: inspect_list_applications = NULL (error) ... Not in this case, but in some cases of corrupt RPM databases it is possible to recover them by running "rpmdb --rebuilddb" as a guest command (ie. with guestfs_sh). See-also: https://bugzilla.redhat.com/show_bug.cgi?id=2089623#c12 Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2089623 Fixes: commit c9ee831 Reported-by: Xiaodai Wang Reported-by: Ming Xie Acked-by: Laszlo Ersek <lersek@redhat.com> (cherry picked from commit 488245e)
Configuration menu - View commit details
-
Copy full SHA for 4f02eb6 - Browse repository at this point
Copy the full SHA 4f02eb6View commit details -
Configuration menu - View commit details
-
Copy full SHA for df61a35 - Browse repository at this point
Copy the full SHA df61a35View commit details -
Configuration menu - View commit details
-
Copy full SHA for 75720c2 - Browse repository at this point
Copy the full SHA 75720c2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9318f39 - Browse repository at this point
Copy the full SHA 9318f39View commit details
Commits on Jul 6, 2022
-
appliance, daemon: disable lvm2 devicesfile
In guestfs-tools commit 4fe8a03cd2d3 ('sysprep: remove lvm2's default "system.devices" file', 2022-04-11), we disabled the use of LVM2's new "devicesfile" feature, which could interfere with the cloning of virtual machines. We suspected in https://bugzilla.redhat.com/show_bug.cgi?id=2072493#c6 that the same lvm2 feature could affect the libguestfs appliance itself, but decided in https://bugzilla.redhat.com/show_bug.cgi?id=2072493#c8 https://bugzilla.redhat.com/show_bug.cgi?id=2072493#c10 that this would not be the case, because "appliance/init" already constructed a pristine LVM_SYSTEM_DIR. Unfortunately, that's not enough: due to the "use_devicesfile=1" default (on RHEL9 anyway), some "lvm" invocation, possibly inside the lvm-set-filter API, *creates* "$LVM_SYSTEM_DIR/devices/system.devices". And then we get (minimally) warnings such as > Please remove the lvm.conf global_filter, it is ignored with the devices > file. > Please remove the lvm.conf filter, it is ignored with the devices file. when using the lvm-set-filter API. Explicitly disable the "devices file" in "appliance/init", and also whenever we rewrite "lvm.conf" -- that is, in set_filter() [daemon/lvm-filter.c]. In the former, check for the feature by locating the devicesfile-related utilities "lvmdevices" and "vgimportdevices". In the C code, invoke the utilities with the "--help" option instead. (In "appliance/init", I thought it was best not to call any lvm2 utilities even with "--help", with our lvm2.conf still under construction there.) If either utility is available, set "use_devicesfile = 0". Cc: David Teigland <teigland@redhat.com> Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1965941 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Message-Id: <20220530141027.16167-1-lersek@redhat.com> Acked-by: Richard W.M. Jones <rjones@redhat.com> [lersek@redhat.com: style fix: break "devicesfile_feature" in the function definition to a new line] (cherry picked from commit 8fc4d16)
Configuration menu - View commit details
-
Copy full SHA for 2d52b4a - Browse repository at this point
Copy the full SHA 2d52b4aView commit details -
daemon: Remove workaround for -Wanalyzer-mismatching-deallocation
On older GCC: debug.c:116:32: error: unknown option after ‘#pragma GCC diagnostic’ kind [-Werror=pragmas] 116 | #pragma GCC diagnostic ignored "-Wanalyzer-mismatching-deallocation" | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors make[3]: *** [Makefile:2039: guestfsd-debug.o] Error 1 The upstream bug (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99193) has now been fixed so the workaround is not necessary with the latest GCC, so just delete the workaround. (cherry picked from commit 1087d31)
Configuration menu - View commit details
-
Copy full SHA for b0b85b8 - Browse repository at this point
Copy the full SHA b0b85b8View commit details -
docs/guestfs-security: document CVE-2022-2211
Short log for the common submodule, commit range f8de5508fe75..35467027f657: Laszlo Ersek (2): mlcustomize: factor out pkg install/update/uninstall from guestfs-tools options: fix buffer overflow in get_keys() [CVE-2022-2211] Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1809453 Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2100862 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Message-Id: <20220628115418.5376-2-lersek@redhat.com> Reviewed-by: Richard W.M. Jones <rjones@redhat.com> Cherry picked from commit 9984466. RWMJ: For the cherry pick, I updated the common submodule to the latest master commit (201632e4a7).
Configuration menu - View commit details
-
Copy full SHA for 99c4157 - Browse repository at this point
Copy the full SHA 99c4157View commit details -
fuse/test-fuse.c: Partially disable test because of caching
Previously we noted in a comment that stat("hello.txt") is cached (and not called again), so the test of the link count failed. Something has changed, possibly in the kernel, but it results in even more aggressive caching so that an earlier, similar test also fails in the same way. I checked by enabling debugging that the stat call doesn't result in guestfs_lstatns being called, and the old value for the statbuf was being returned. (cherry picked from commit f16fcdc)
Configuration menu - View commit details
-
Copy full SHA for 5cc914b - Browse repository at this point
Copy the full SHA 5cc914bView commit details -
valgrind: Add new suppressions for OCaml 4.14
(cherry picked from commit 1342626)
Configuration menu - View commit details
-
Copy full SHA for dbdd015 - Browse repository at this point
Copy the full SHA dbdd015View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9345eab - Browse repository at this point
Copy the full SHA 9345eabView commit details
Commits on Jul 20, 2022
-
m4: Fix ./configure --disable-ocaml
OCaml is required to compile libguestfs, however we should still be able to disable the OCaml bindings. This didn't work because using --disable-ocaml caused various configure tests to be skipped which are required to compile the daemon. In particular the check for caml_alloc_initialized_string, resulting in this error: pcre-c.c:47:1: error: static declaration of ‘caml_alloc_initialized_string’ follows non-static declaration caml_alloc_initialized_string (mlsize_t len, const char *p) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Also OCaml gettext is not required by libguestfs. There are no *.ml files used by libguestfs which require translation. Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2108425 Fixes: https://bugs.gentoo.org/820053 Fixes: commit 733d218 (cherry picked from commit adfaf25)
Configuration menu - View commit details
-
Copy full SHA for f162e47 - Browse repository at this point
Copy the full SHA f162e47View commit details
Commits on Nov 21, 2022
-
daemon: Parse /etc/hostname files containing comments
Thanks: Dawid Zamirski Link: https://www.freedesktop.org/software/systemd/man/hostname.html Acked-by: Laszlo Ersek <lersek@redhat.com> (cherry picked from commit 4a51760)
Configuration menu - View commit details
-
Copy full SHA for 55370c6 - Browse repository at this point
Copy the full SHA 55370c6View commit details -
daemon: Add zstd support to guestfs_file_architecture
This is required so we can determine the file architecture of zstd-compressed Linux kernel modules as used by OpenSUSE and maybe other distros in future. Note that zstd becomes a required package, but it is widely available in current Linux distros. The package names come from https://pkgs.org/download/zstd and my own research. (cherry picked from commit 0e78482)
Configuration menu - View commit details
-
Copy full SHA for 7716af5 - Browse repository at this point
Copy the full SHA 7716af5View commit details -
daemon: grub: Remove incorrect use of printf specifier %R
This code is attempting to construct a grub-install command like: grub-install --root-directory=/sysroot/boot /dev/sda In fact it was adding quoting to the --root-directory parameter where it was not needed (because our "command" function uses exec). Remove use of %R here (to avoid the extra quoting) and just use the sysroot prefix directly. (cherry picked from commit ad8b1b0)
Configuration menu - View commit details
-
Copy full SHA for 4b83ed8 - Browse repository at this point
Copy the full SHA 4b83ed8View commit details -
daemon: Remove remaining uses of custom printf %Q and %R
We have traditionally used custom printf formatters %Q and %R, where %Q replaces the argument with a shell-quoted string, and %R replaces the argument with a sysroot-prefixed shell-quoted string. They are actually pretty useful, but unfortunately only supported by glibc. We only used them in about a dozen places in the daemon (much code having been replaced by OCaml which does not need them). In every remaining case we were constructing a command using code like this: asprintf_nowarn (&cmd, "cd %Q && find -print0 | %s -0 -o -H %s --quiet", ...); We can replace this with: char *cmd; size_t cmd_size; fp = open_memstream (&cmd, &cmd_size); fprintf (fp, "cd "); shell_quote (dir, fp); fprintf (fp, " && find -print0 | %s -0 -o -H %s --quiet", ...); fclose (fp); (cherry picked from commit 0b3c6cc)
Configuration menu - View commit details
-
Copy full SHA for 8bf4455 - Browse repository at this point
Copy the full SHA 8bf4455View commit details -
m4: Don't check for DISTRO with --disable-appliance
It is only used when building the appliance and for nothing else. (cherry picked from commit be60075)
Configuration menu - View commit details
-
Copy full SHA for d931753 - Browse repository at this point
Copy the full SHA d931753View commit details -
m4: Check for GNU realpath program
It is a dependency of the ocaml-dep.sh script, required for all builds. (cherry picked from commit c51d1cf)
Configuration menu - View commit details
-
Copy full SHA for ab9ed40 - Browse repository at this point
Copy the full SHA ab9ed40View commit details -
configure: Use AC_FUNC_STRERROR_R
Update common submodule to include modified strerror_r replacement (cherry picked from commit df5805d)
Configuration menu - View commit details
-
Copy full SHA for 5c622a7 - Browse repository at this point
Copy the full SHA 5c622a7View commit details -
common: Update common submodule
commit 1bf092f3c22e93c152de9dea3f5c13df23dc571c Author: Richard W.M. Jones <rjones@redhat.com> Date: Tue Aug 16 15:08:40 2022 +0100 utils: Include <stdio.h> for FILE* (cherry picked from commit 6be5430)
Configuration menu - View commit details
-
Copy full SHA for e39b5a8 - Browse repository at this point
Copy the full SHA e39b5a8View commit details -
lib/launch.c: Include <signal.h> for sigemptyset, etc
launch.c:191:3: error: implicit declaration of function 'sigemptyset' is invalid in C99 [-Werror,-Wimplicit-function-declaration] sigemptyset (&sigset); ^ launch.c:192:3: error: implicit declaration of function 'sigaddset' is invalid in C99 [-Werror,-Wimplicit-function-declaration] sigaddset (&sigset, SIGTERM); ^ launch.c:193:3: error: implicit declaration of function 'sigprocmask' is invalid in C99 [-Werror,-Wimplicit-function-declaration] sigprocmask (SIG_UNBLOCK, &sigset, NULL); ^ 3 errors generated. (cherry picked from commit e7f2815)
Configuration menu - View commit details
-
Copy full SHA for 4c14f91 - Browse repository at this point
Copy the full SHA 4c14f91View commit details -
lib: Remove -Wanalyzer-file-leak ignores
These were added for GCC 11. The problem has been fixed in GCC 12. On macOS (clang) these produced errors like this: tsk.c:75:32: error: unknown warning group '-Wanalyzer-file-leak', ignored [-Werror,-Wunknown-warning-option] ^ (cherry picked from commit 347e875)
Configuration menu - View commit details
-
Copy full SHA for c0b8669 - Browse repository at this point
Copy the full SHA c0b8669View commit details -
fish/tilde.c: Remove ignore -Wanalyzer-null-argument
Added in 2021 as a workaround for GCC 11 and since fixed upstream. On macOS (clang): tilde.c:43:32: error: unknown warning group '-Wanalyzer-null-argument', ignored [-Werror,-Wunknown-warning-option] ^ tilde.c:86:32: error: unknown warning group '-Wanalyzer-null-argument', ignored [-Werror,-Wunknown-warning-option] ^ 2 errors generated. (cherry picked from commit 39d66ab)
Configuration menu - View commit details
-
Copy full SHA for 16eafe4 - Browse repository at this point
Copy the full SHA 16eafe4View commit details -
common: Update common submodule
commit fd4062248271c1e026e3349fdcd4f9fc99e8f0c7 Author: Richard W.M. Jones <rjones@redhat.com> Date: Tue Aug 16 16:10:39 2022 +0100 options/decrypt.c: Ignore probably bogus GCC -Werror=stringop-overflow commit 9d66f02807c7abdfbceba162a94c38cf474cf48b Author: Richard W.M. Jones <rjones@redhat.com> Date: Tue Aug 16 15:56:46 2022 +0100 windows/windows.c: Remove ignore -Wanalyzer-null-argument commit 0e4fdabcb6be5fc61dfc7b45cc5cb6db3d341494 Author: Richard W.M. Jones <rjones@redhat.com> Date: Tue Aug 16 15:46:22 2022 +0100 mlpcre/pcre-c.c: Remove unused variable (cherry picked from commit 03fadae)
Configuration menu - View commit details
-
Copy full SHA for c3d91df - Browse repository at this point
Copy the full SHA c3d91dfView commit details -
common: Update common submodule
commit 9d40590852e0755d4719adf97122758fa98e90f9 Author: Richard W.M. Jones <rjones@redhat.com> Date: Tue Aug 16 16:19:29 2022 +0100 options/decrypt.c: Ignore #pragma GCC with clang (cherry picked from commit e13a77e)
Configuration menu - View commit details
-
Copy full SHA for b3e547b - Browse repository at this point
Copy the full SHA b3e547bView commit details -
daemon: Make vg_scan and lvm_scan no-ops if no LVM feature
If the LVM ("lvm2") feature is not available, these calls would fail. Really they ought to be part of the "lvm2" optgroup which would cause the generator to call reply_with_unavailable_feature and generate the correct ENOTSUP error. When vgscan was originally added in 2010 it was not added to the optgroup, and when lvm_scan was later added in 2018 and deprecating vgscan, the same mistake was copied. Before this commit they will try to run the lvm pvscan command which will fail returning some other error (instead of ENOTSUP). Fix this by turning the calls into no-ops if the LVM feature is not available, since scanning for LVM objects when there is no LVM can be safely turned into a no-op. See also https://listman.redhat.com/archives/libguestfs/2022-September/thread.html#29908 Also this updates the common module to pick up a related fix: commit 4b4a5b84647b1496d034bcdff910930ca5f5c486 Author: Richard W.M. Jones <rjones@redhat.com> Date: Fri Sep 23 15:18:43 2022 +0100 options: Don't attempt to scan LVs if "lvm2" feature is not available Reported-by: Laszlo Ersek <lersek@redhat.com> Acked-by: Laszlo Ersek <lersek@redhat.com> Fixes: 55dfcb2 ("New API: lvm_scan, deprecate vgscan") Fixes: 9752039 ("New API: vgscan") (cherry picked from commit c2dd84b)
Configuration menu - View commit details
-
Copy full SHA for 3532703 - Browse repository at this point
Copy the full SHA 3532703View commit details -
appliance: Create symlink /etc/crypto-policies/back-ends/opensslcnf.c…
…onfig Downstream patched openssl in Fedora 37+ broke unless /etc/crypto-policies/back-ends/opensslcnf.conf is present. Files in this directory are generated by %post rules that use scripting languages so cannot easily be created by supermin. Add a symlink to the DEFAULT policy file if the configuration file doesn't exist. A symptom of this problem is the error: Requested hash sha256 is not supported. Failed to set pbkdf parameters. Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2133884 Updates: commit d6ba398 (cherry picked from commit 4004e8e)
Configuration menu - View commit details
-
Copy full SHA for 0d47870 - Browse repository at this point
Copy the full SHA 0d47870View commit details -
lib: Avoid calling setenv between fork and exec
setenv can call malloc and is not safe to call here. Glibc is usually tolerant of this and we haven't had problems before, but if you use GLIBC_TUNABLES glibc.malloc.check=1 (or any alternate malloc / libc which serializes) then you would see hangs if starting multiple libguestfs handles from different threads at the same time. This commit also updates the common submodule to pick up: commit 3c64bcdeaf684f05f46f3928b55aadafdfe72720 Author: Richard W.M. Jones <rjones@redhat.com> Date: Fri Oct 14 11:07:21 2022 +0100 utils: Add function for copying the environment and adding new entries libguestfs is currently calling setenv at an unsafe location between fork and exec. To fix this we need a way to copy and modify the environment before fork and then we can pass the modified environ to execve-like functions. nbdkit already does the same so use that code. This function is copied and adapted from here under a compatible license: https://gitlab.com/nbdkit/nbdkit/-/blob/master/common/utils/environ.c Thanks: Siddhesh Poyarekar (cherry picked from commit e1c9bbb)
Configuration menu - View commit details
-
Copy full SHA for d14acc9 - Browse repository at this point
Copy the full SHA d14acc9View commit details -
utils: Fix rogue include of nbdkit-plugin.h (cherry picked from commit 3f5bdce)
Configuration menu - View commit details
-
Copy full SHA for 840c98c - Browse repository at this point
Copy the full SHA 840c98cView commit details -
appliance: Remove LD_PRELOAD=libSegFault.so
This feature was removed in glibc 2.35: https://savannah.gnu.org/forum/forum.php?forum_id=10111 (cherry picked from commit 001683e)
Configuration menu - View commit details
-
Copy full SHA for e3f3aea - Browse repository at this point
Copy the full SHA e3f3aeaView commit details -
Deprecation warnings include: src/optargs-xfs_growfs.c: In function 'guestfs_xfs_growfs_init': src/optargs-xfs_growfs.c:311:13: warning: Deprecated pre-processor symbol: replace with "G_ADD_PRIVATE" 311 | o->priv = GUESTFS_XFS_GROWFS_GET_PRIVATE (o); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This is based on the same change made here: https://github.com/nzjrs/osm-gps-map/pull/78/files (cherry picked from commit 19c40e6)
Configuration menu - View commit details
-
Copy full SHA for 7b406c2 - Browse repository at this point
Copy the full SHA 7b406c2View commit details -
gobject: Remove bogus NULL test for UUIDs
Many warnings such as: src/session.c: In function 'guestfs_session_internal_test_rstruct': src/session.c:14755:7: warning: the comparison will always evaluate as 'true' for the address of 'pv_uuid' will never be NULL [-Waddress] 14755 | if (ret->pv_uuid) memcpy (s->pv_uuid, ret->pv_uuid, sizeof (s->pv_uuid)); | ^~~ In file included from src/session.c:40: ../include/guestfs.h:551:8: note: 'pv_uuid' declared here 551 | char pv_uuid[32]; /* this is NOT nul-terminated, be careful when printing */ | ^~~~~~~ (cherry picked from commit 5c63ec2)
Configuration menu - View commit details
-
Copy full SHA for b4b0040 - Browse repository at this point
Copy the full SHA b4b0040View commit details -
build: Replace Python distutils by sysconfig
This module has been deprecated in Python >= 3.10 (https://peps.python.org/pep-0632/). Replace distutils.sysconfig with sysconfig which is not quite a drop-in replacement. This fix is incomplete as we still reference distutils in python/setup.py.in. However that is only used for PIP-style distributions (make -C python sdist) which we don't really use or recommend. Thanks: Miro Hrončok See-also: https://peps.python.org/pep-0632/ See-also: https://lists.fedoraproject.org/archives/list/python-devel@lists.fedoraproject.org/thread/N6ITYHLRWIDNYNXGPYG2ZHF3ZLQWZN7L/ (cherry picked from commit 26940f6)
Configuration menu - View commit details
-
Copy full SHA for 16195a5 - Browse repository at this point
Copy the full SHA 16195a5View commit details -
appliance: Add back libldm (ldmtool) and libxml2 to package list
Commit 133a491 ("Use guestfsd binary to auto-generate library dependencies for appliance", October 2020) removed explicit dependencies for various system packages that the daemon links directly to, ie. all of these libraries: $ objdump -p daemon/guestfsd | grep NEEDED | sort NEEDED libacl.so.1 NEEDED libaugeas.so.0 NEEDED libcap.so.2 NEEDED libc.so.6 NEEDED libgcc_s.so.1 NEEDED libhivex.so.0 NEEDED libjansson.so.4 NEEDED libm.so.6 NEEDED libpcre2-8.so.0 NEEDED librpm.so.9 NEEDED libselinux.so.1 NEEDED libsystemd.so.0 NEEDED libtirpc.so.3 (plus libyara which I don't have installed.) This avoids having to update these dependencies if they change, eg. when we switched from PCRE to PCRE2 we did not need to update this file. However the same commit also incorrectly removed two apparent library packages (libldm, libxml2) which the daemon does not link to, but which we'd like to pull in because of tools they provide, in particular ldmtool. Re-add those two explicit dependencies. Fixes: commit 133a491 (cherry picked from commit d5472a2)
Configuration menu - View commit details
-
Copy full SHA for b22a98d - Browse repository at this point
Copy the full SHA b22a98dView commit details -
Configuration menu - View commit details
-
Copy full SHA for fd69402 - Browse repository at this point
Copy the full SHA fd69402View commit details
Commits on Nov 28, 2022
-
gnulib/lib/c-ctype.h: Remove executable bit
$ ls -l `find -name c-ctype.h` -rwxr-xr-x. 1 rjones rjones 9647 Dec 3 2021 ./gnulib/lib/c-ctype.h $ chmod -x `find -name c-ctype.h` $ ls -l `find -name c-ctype.h` -rw-r--r--. 1 rjones rjones 9647 Dec 3 2021 ./gnulib/lib/c-ctype.h RPM builds actually gave a warning about this which is how I noticed the problem: *** WARNING: ./usr/src/debug/guestfs-tools-1.48.2-2.fc36.x86_64/gnulib/lib/c-ctype.h is executable but has no shebang, removing executable bit (cherry picked from guestfs-tools commit 566267a3d447eb97b4a0637adbe3e45c09ba090f) (cherry picked from commit 6bfb73c)
Configuration menu - View commit details
-
Copy full SHA for 094338c - Browse repository at this point
Copy the full SHA 094338cView commit details -
tests: Increase size of disk in xfs_growfs_0 test
I cannot reproduce the originally reported error: libguestfs: error: mkfs: xfs: /dev/VG/LV: Filesystem must be larger than 300MB. Thanks: David Runge Related: libguestfs#100 (cherry picked from commit e657e45)
Configuration menu - View commit details
-
Copy full SHA for 3a20ae0 - Browse repository at this point
Copy the full SHA 3a20ae0View commit details -
The file(1) manual suggests using -S (disable seccomp) with -z since the set of system calls provided by the seccomp policy does not allow the subprocess to run. This is obvious when you use file -z on a compressed file on a Linux distro that enables file's seccomp policy (Arch does this, Fedora does not): $ file -zbsL lib-i586.so.zst Bad system call I also fixed some incorrect text in the manual. Thanks: Toolybird for pointing to this fix Reported-by: David Runge Fixes: libguestfs#100 (cherry picked from commit 23986d3)
Configuration menu - View commit details
-
Copy full SHA for c9bd9d9 - Browse repository at this point
Copy the full SHA c9bd9d9View commit details -
python: Fix code style ("missing whitespace after keyword")
(cherry picked from commit fa305b7)
Configuration menu - View commit details
-
Copy full SHA for 99505eb - Browse repository at this point
Copy the full SHA 99505ebView commit details -
Configuration menu - View commit details
-
Copy full SHA for 464da7d - Browse repository at this point
Copy the full SHA 464da7dView commit details
Commits on Jan 11, 2023
-
tests/nbd: Move temporary files into tests/nbd/ subdirectory
This test fails for reasons I have not fully understood yet. However one thing I noticed is that the Unix domain socket and PID file used the tests are placed in the tests/ directory, not the tests/nbd/ subdirectory, so let's fix that: Starting qemu-nbd fedora-nbd.img -t --pid-file /home/rjones/d/libguestfs-rhel-9.2/tests/nbd.pid --format raw -p 63668 ... Starting qemu-nbd fedora-nbd.img -t --pid-file /home/rjones/d/libguestfs-rhel-9.2/tests/nbd.pid --format raw -p 60684 ... Starting qemu-nbd fedora-nbd.img -t --pid-file /home/rjones/d/libguestfs-rhel-9.2/tests/nbd.pid --format raw -k /home/rjones/d/libguestfs-rhel-9.2/tests/unix.sock ... Fixes: commit 6d32773 (cherry picked from commit 98ab261)
Configuration menu - View commit details
-
Copy full SHA for 01cbb1c - Browse repository at this point
Copy the full SHA 01cbb1cView commit details -
tests/nbd: Unlink pidfile before running qemu-nbd
It might be left over from a previous failed run. Best to unlink the old file before starting qemu-nbd, so there's no possibility of getting confused later when we wait for the file to appear. (cherry picked from commit dc9bdda)
Configuration menu - View commit details
-
Copy full SHA for 9ad2c36 - Browse repository at this point
Copy the full SHA 9ad2c36View commit details -
Configuration menu - View commit details
-
Copy full SHA for f065a05 - Browse repository at this point
Copy the full SHA f065a05View commit details
Commits on Apr 7, 2023
-
Configuration menu - View commit details
-
Copy full SHA for cf0d959 - Browse repository at this point
Copy the full SHA cf0d959View commit details -
Configuration menu - View commit details
-
Copy full SHA for a436a1e - Browse repository at this point
Copy the full SHA a436a1eView commit details -
Configuration menu - View commit details
-
Copy full SHA for bafe6ee - Browse repository at this point
Copy the full SHA bafe6eeView commit details -
Configuration menu - View commit details
-
Copy full SHA for 91e51ed - Browse repository at this point
Copy the full SHA 91e51edView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9be6b25 - Browse repository at this point
Copy the full SHA 9be6b25View commit details -
Configuration menu - View commit details
-
Copy full SHA for e96ab06 - Browse repository at this point
Copy the full SHA e96ab06View commit details
Commits on Apr 8, 2023
-
Configuration menu - View commit details
-
Copy full SHA for b863c21 - Browse repository at this point
Copy the full SHA b863c21View commit details -
Configuration menu - View commit details
-
Copy full SHA for 877baeb - Browse repository at this point
Copy the full SHA 877baebView commit details
Commits on Apr 10, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 9b7a779 - Browse repository at this point
Copy the full SHA 9b7a779View commit details -
Configuration menu - View commit details
-
Copy full SHA for a191f90 - Browse repository at this point
Copy the full SHA a191f90View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8a657ec - Browse repository at this point
Copy the full SHA 8a657ecView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5b2b9d9 - Browse repository at this point
Copy the full SHA 5b2b9d9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 12e5320 - Browse repository at this point
Copy the full SHA 12e5320View commit details -
Configuration menu - View commit details
-
Copy full SHA for 942ee43 - Browse repository at this point
Copy the full SHA 942ee43View commit details
Commits on May 15, 2023
-
Configuration menu - View commit details
-
Copy full SHA for ff58efa - Browse repository at this point
Copy the full SHA ff58efaView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2b9d2bd - Browse repository at this point
Copy the full SHA 2b9d2bdView commit details
Commits on May 16, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 51a6827 - Browse repository at this point
Copy the full SHA 51a6827View commit details -
Configuration menu - View commit details
-
Copy full SHA for 097c124 - Browse repository at this point
Copy the full SHA 097c124View commit details -
Configuration menu - View commit details
-
Copy full SHA for 78d52cd - Browse repository at this point
Copy the full SHA 78d52cdView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3e2f4e7 - Browse repository at this point
Copy the full SHA 3e2f4e7View commit details
Commits on May 17, 2023
-
Configuration menu - View commit details
-
Copy full SHA for de63b09 - Browse repository at this point
Copy the full SHA de63b09View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9161d89 - Browse repository at this point
Copy the full SHA 9161d89View commit details -
Configuration menu - View commit details
-
Copy full SHA for 71398f5 - Browse repository at this point
Copy the full SHA 71398f5View commit details
Commits on May 18, 2023
-
Configuration menu - View commit details
-
Copy full SHA for fbff6aa - Browse repository at this point
Copy the full SHA fbff6aaView commit details -
Configuration menu - View commit details
-
Copy full SHA for 16fc719 - Browse repository at this point
Copy the full SHA 16fc719View commit details -
Configuration menu - View commit details
-
Copy full SHA for 75332ba - Browse repository at this point
Copy the full SHA 75332baView commit details
Commits on May 23, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 19cf890 - Browse repository at this point
Copy the full SHA 19cf890View commit details -
Configuration menu - View commit details
-
Copy full SHA for b162362 - Browse repository at this point
Copy the full SHA b162362View commit details -
Configuration menu - View commit details
-
Copy full SHA for a769aa6 - Browse repository at this point
Copy the full SHA a769aa6View commit details