Hello,

I use a Debian-based operating system called Kicksecure as a host OS, and run 
an operating system called Whonix inside two VMs using KVM. This setup makes 
use of dnsmasq. In case you are unfamiliar with Kicksecure and Whonix, here are 
the project pages:

https://kicksecure.com
https://whonix.org
https://whonix.org/wiki/KVM#Start

It was recent that I upgraded from the Debian 12.8 point release to Debian 
12.9. When I did, I became unable to run the Whonix-Gateway VM when I click the 
'Play' button in virt-manager. Here is a link to a forum user with the same 
problem as me: 
https://forums.whonix.org/t/cannot-start-whonix-external-virtual-network/21092
This is the error I receive:


Error starting domain: Requested operation is not valid: network 
'Whonix-External' is not active

Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 72, in cb_wrapper
    callback(asyncjob, *args, **kwargs)
  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 108, in tmpcb
    callback(*args, **kwargs)
  File "/usr/share/virt-manager/virtManager/object/libvirtobject.py", line 57, 
in newfn
    ret = fn(self, *args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/share/virt-manager/virtManager/object/domain.py", line 1402, in 
startup
    self._backend.create()
  File "/usr/lib/python3/dist-packages/libvirt.py", line 1373, in create
    raise libvirtError('virDomainCreate() failed')
libvirt.libvirtError: Requested operation is not valid: network 
'Whonix-External' is not active


When I tried the command

        virsh -c qemu:///system net-start Whonix-External

to start the VM, I receive this error involving dnsmasq:

        error: Failed to start network Whonix-External
        error: internal error: Child process (VIR_BRIDGE_NAME=virbr1 
/usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/Whonix-External.conf 
--leasefile-ro --dhcp-script=/usr/lib/libvirt/libvirt_leaseshelper) unexpected 
exit status 2:
        dnsmasq: failed to create listening socket for 10.0.2.2: Address 
already in use

I used this command, but I do not see any mention of 10.0.2.2 at all:

        ss -l -p

Since dnsmasq is giving me this error message, is there a command I can use to 
have dnsmasq tell me about this error in more detail? I leafed through the man 
page and tried the following:

        dnsmasq --test

and it tells me 'dnsmasq: syntax check OK'

        sudo dnsmasq --listen-address=10.0.2.2

and it tells me 'dnsmasq: failed to create listening socket for port 53: 
Address already in use'


Since it was working until I upgraded, I had a look through the Debian 
changelog. I noticed changes were made to dnsmasq and qemu, two packages I use 
in this setup. Here are the changes to dnsmasq in particular:

dnsmasq         Fix denial of service issues [CVE-2023-50387 CVE-2023-50868]; 
set default maximum EDNS.0 UDP packet size to 1232 [CVE-2023-28450]

dnsmasq (2.90-4~deb12u1) bookworm; urgency=medium
 .
   * Non-maintainer upload.
   * Backport to bookworm, fixing:
     - CVE-2023-28450 - Reduce default maximum EDNS.0 UDP packet size due to DNS
       Flag Day 2020
     - CVE-2023-50387, CVE-2023-50868 - DNSSEC validation CPU exhaustion
       ("Keytrap")
dnsmasq (2.90-3) unstable; urgency=medium
 .
   * Update d/control:
     - Add passwd to Depends of dnsmasq-base(-lua) (closes: #1064518).
     - Update the Vcs-* fields (closes: #1065347).
     - Fix lintian issue build-depends-on-obsolete-package.
     - Add myself as uploader.
   * Update d/copyright:
     - Fix lintian issue missing-field-in-dep5-copyright.
   * Add missing CVE number to the 2.90-1 change log.
dnsmasq (2.90-2) unstable; urgency=medium
 .
   [ Sven Geuer ]
   * Relax limits imposed by d/t/functions.d/ip-addr.patterns to allow for
     successful tests on ci.debian.net.
dnsmasq (2.90-1) unstable; urgency=medium
 .
   [ Simon Kelley ]
   * New upstream. (closes: #1033165)
   * Move hard-coding of Lua version from the upstream Makefile
     to  d/rules.
   * Security fixes for Keytrap - DNSSEC validation CPU exhaustion.
     CVE-2023-50387 and CVE-2023-50868
   [ Sven Geuer ]
   * Introduce autokpgtests per d/tests/* (closes: #1034135).
   * Switch to dpkg-source 3.0 (quilt) format (closes: #1007041).
   * doc.html: Add patch to eliminate privacy breaches leaving the Donations
     paragraph as untouched as possible.
   * Prepend dnsmasq. to default, init, preinst, postinst, prerm, postrm.
   * Rename d/systemd.service to d/dnsmasq.service.
   * Rename d/systemd@.service to d/dnsmasq@.service.
   * Refactor d/rules to use the DH sequencer and fix major lintian issues
     (closes: #844989, #1040923, #1063551).
     Modified files:
     - d/rules
         Complete rewrite making use of debhelper and its tools, fixes lintian
         warning debian-rules-sets-dpkg-architecture-variable.
     - d/control
         Build-Depends, Pre-Depends, Depends added or changed as needed, lintian
         error depends-on-obsolete-package fixed.
     - d/dnsmasq.default
         ENABLED removed and comment changed to fix lintian error
         init.d-script-should-always-start-service.
     - d/dnsmasq.init
         Remove handling of obsolete ENABLED flag.
         Extract code used with System-V-style init and systemd into
         d/init-system-common, extract code used with systemd only
         into d/systemd-helper. This fixes lintian warning
         systemd-service-file-wraps-init-script.
         Drop workaround for hypothetically non-existent file
         /lib/lsb/init-functions, it has been around for more than a decade.
     - d/dnsmasq.service, d/dnsmasq@.service
         Adapt these files to make use of init-system-common and systemd-helper.
     - d/dnsmasq.{post,pre}{inst,rm}
         Rely mostly on the script snippets created by the DH tools to get
         things done, implicitly fixes the lintian warnings
         maintainer-script-should-not-use-dpkg-maintscript-helper and
         command-with-path-in-maintainer-script.
     - d/resolvconf*
         Change file mode bits to 0755, the installed files need it
     New files:
     - d/dnsmasq.{install,links,maintscript}
     - d/dnsmasq-base.{dirs,docs,install}
     - d/dnsmasq-base-lua.{dirs,docs,install,links}
     - d/dnsmasq-utils.{install,manpages}
         The DH tools use these to install what was scripted explicitly
         in the previous version of the d/rules file,
         lintian warning dbus-policy-in-etc fixed
     - d/init-system-common
     - d/systemd-helper
         These files contain slightly modified code formerly part of in
         d/dnsmasq.init.
     Deleted files:
     - d/*conffiles
     - d/lintian-override
     - d/installed-marker
         These are not in use anymore.
   * Deal with a removed conffile and changed links.
     Modified files:
     - d/dnsmasq-base.{postinst,postrm}
     New files:
     - d/dnsmasq-base.maintscript
     - d/dnsmasq-base-lua.maintscript
   * Add watch file and upstream's signing key.
     New files:
     - d/watch
     - d/u/signing-key.asc
   * Remove dependency on package adduser.
     Modified files:
     - d/control
     - d/dnsmasq.post{inst,rm}
   * Refactor d/copyright to comply with DEP 5 (closes: #966505).
   * Remove trailing whitespace from various files under debian/.
   * Bump Standards-Version to 4.6.2.
   * Specify Rules-Requires-Root.
   * Update http:// to https:// with Homepage, Vcs-Git and Vcs-Browser.
   * Introduce d/u/metadata.
   * Fix lintian issue duplicate-short-description.
   * Fix lintian issue capitalization-error-in-description.
   * Bump Lua version to 5.4 (closes: #1050750).
     Modified files:
     - d/control
     - d/t/functions.d/log.patterns



For reference, here were the changes made to qemu. When I was browsing 
dnsmasq's git repository, I saw a reference to libvirt, so I included this info 
in case there is a relationship between these packages with regard to my 
problem.


qemu    New upstream bugfix release [CVE-2024-7409]; mark internal codegen 
helper symbols as hidden, fixing build failure on arm64

qemu (1:7.2+dfsg-7+deb12u1) bookworm; urgency=medium
 .
   * d/rules: add the forgotten --enable-libusb for the xen build.
     This makes usb devices available for xen hvm domUs again,
     as it has always been before. Closes: #1037341
   * update to upstream 7.2.3 stable/bugfix release, v7.2.3.diff,
     https://gitlab.com/qemu-project/qemu/-/commits/v7.2.3 :
    - vnc: avoid underflow when accessing user-provided address
    - target/i386: Change wrong XFRM value in SGX CPUID leaf
      (was in debian already)
    - acpi: pcihp: allow repeating hot-unplug requests
    - qemu-options: finesse the recommendations around -blockdev
    - docs/about/deprecated.rst: Add "since 7.1" tag to dtb-kaslr-seed
      deprecation
    - target/arm: Initialize debug capabilities only once
    - hw/net/msf2-emac: Don't modify descriptor in-place in emac_store_desc()
    - hw/arm/boot: Make write_bootloader() public as arm_write_bootloader()
    - hw/arm/aspeed: Use arm_write_bootloader() to write the bootloader
    - hw/arm/raspi: Use arm_write_bootloader() to write boot code
    - hw/intc/allwinner-a10-pic: Don't use set_bit()/clear_bit()
    - target/arm: Define and use new load_cpu_field_low32()
    - hw/sd/allwinner-sdhost: Correctly byteswap descriptor fields
    - hw/net/allwinner-sun8i-emac: Correctly byteswap descriptor fields
    - softfloat: Fix the incorrect computation in float32_exp2
    - meson: leave unnecessary modules out of the build
    - block: Fix use after free in blockdev_mark_auto_del()
    - target/riscv: Fix itrigger when icount is used
    - accel/tcg: Fix atomic_mmu_lookup for reads
    - ui: Fix pixel colour channel order for PNG screenshots
    - async: Suppress GCC13 false positive in aio_bh_poll()
    - tcg: ppc64: Fix mask generation for vextractdm
    - hw/virtio/vhost-user: avoid using uninitialized errp
    - virtio: fix reachable assertion due to stale value of cached region size
    - block/monitor: Fix crash when executing HMP commit
    - target/s390x: Fix EXECUTE of relative branches
    - s390x/tcg: Fix LDER instruction format
    - 9pfs/xen: Fix segfault on shutdown
    - xen/pt: reserve PCI slot 2 for Intel igd-passthru
    - Revert "vhost-user: Monitor slave channel in vhost_user_read()"
    - Revert "vhost-user: Introduce nested event loop in vhost_user_read()"
    - target/ppc: Fix helper_pminsn() prototype
    - tests/docker: bump the xtensa base to debian:11-slim
    - linux-user: Fix mips fp64 executables loading
    - linux-user: fix getgroups/setgroups allocations
      (was in debian already)
    - migration: Handle block device inactivation failures better
    - migration: Minor control flow simplification
    - migration: Attempt disk reactivation in more failure scenarios
    - target/arm: Fix vd == vm overlap in sve_ldff1_z
    - scsi-generic: fix buffer overflow on block limits inquiry
    - target/i386: fix operand size for VCOMI/VUCOMI instructions
    - target/i386: fix avx2 instructions vzeroall and vpermdq
    - vhost: fix possible wrap in SVQ descriptor ring
    - virtio-net: not enable vq reset feature unconditionally
    - virtio-crypto: fix NULL pointer dereference in virtio_crypto_free_request
    - e1000: Count CRC in Tx statistics
    - e1000e: Fix tx/rx counters
    - rtl8139: fix large_send_mss divide-by-zero
      (was in debian already)
    - util/vfio-helpers: Use g_file_read_link()
    - usb/ohci: Set pad to 0 after frame update
    - hw/scsi/lsi53c895a: Fix reentrancy issues in the LSI controller
      (Closes: #1029155, CVE-2023-0330)
    - machine: do not crash if default RAM backend name has been stolen
    - Update version for 7.2.3 release
   * update to upstream 7.2.4 stable/bugfix release, v7.2.4.diff,
     https://gitlab.com/qemu-project/qemu/-/commits/v7.2.4 :
    - gitlab-ci: Avoid to re-run "configure" in the device-crash-test jobs
    - scripts/device-crash-test: Add a parameter to run with TCG only
    - hw/ppc/prep: Fix wiring of PIC -> CPU interrupt
    - ui/gtk: fix passing y0_top parameter to scanout
    - ui/gtk: use widget size for cursor motion event
    - ui/gtk-egl: fix scaling for cursor position in scanout mode
    - ui/sdl2: fix surface_gl_update_texture: Assertion 'gls' failed
    - ui/sdl2: Grab Alt+Tab also in fullscreen mode
    - ui/sdl2: Grab Alt+F4 also under Windows
    - ui/sdl2: disable SDL_HINT_GRAB_KEYBOARD on Windows
    - hw/dma/xilinx_axidma: Check DMASR.HALTED to prevent infinite loop.
    - hw/arm/xlnx-zynqmp: fix unsigned error when checking the RPUs number
    - target/arm: Explicitly select short-format FSR for M-profile
    - target/s390x: Fix LCBB overwriting the top 32 bits
    - tests/tcg/s390x: Test LCBB
    - target/s390x: Fix LOCFHR taking the wrong half of R2
    - tests/tcg/s390x: Test LOCFHR
    - linux-user/s390x: Fix single-stepping SVC
    - tests/tcg/s390x: Test single-stepping SVC
    - s390x/tcg: Fix CPU address returned by STIDP
    - docs: fix multi-process QEMU documentation
    - qga: Fix suspend on Linux guests without systemd
    - 9pfs: prevent opening special files (CVE-2023-2861)
    - hw/remote: Fix vfu_cfg trace offset format
    - vnc: move assert in vnc_worker_thread_loop
    - target/ppc: Fix lqarx to set cpu_reserve
    - target/ppc: Fix nested-hv HEAI delivery
    - target/ppc: Fix PMU hflags calculation
    - hw/riscv: qemu crash when NUMA nodes exceed available CPUs
    - aspeed/hace: Initialize g_autofree pointer
    - target/arm: Fix return value from LDSMIN/LDSMAX 8/16 bit atomics
    - target/arm: Return correct result for LDG when ATA=0
    - hw/intc/allwinner-a10-pic: Handle IRQ levels other than 0 or 1
    - hw/timer/nrf51_timer: Don't lose time when timer is queried in tight loop
    - host-utils: Avoid using __builtin_subcll on buggy versions of Apple Clang
    - pc-bios/keymaps: Use the official xkb name for Arabic layout,
      not the legacy synonym
    - target/hppa: Fix OS reboot issues
    - target/hppa: Provide qemu version via fw_cfg to firmware
    - target/hppa: New SeaBIOS-hppa version 7
      (minus the binary pc-bios/hppa-firmware.img changes)
    - target/hppa: Update to SeaBIOS-hppa version 8
      (minus the binary pc-bios/hppa-firmware.img changes)
    - vhost: release memory_listener object in error path
    - vdpa: fix not using CVQ buffer in case of error
    - vhost-vdpa: do not cleanup the vdpa/vhost-net structures if peer nic
      is present
    - virtio-gpu: Make non-gl display updates work again when blob=true
    - icount: don't adjust virtual time backwards after warp
    - vdpa: mask _F_CTRL_GUEST_OFFLOADS for vhost vdpa devices
    - target/ppc: Fix decrementer time underflow and infinite timer loop
    - vfio/pci: Fix a segfault in vfio_realize
    - vfio/pci: Call vfio_prepare_kvm_msi_virq_batch() in MSI retry path
    - ui/gtk: set the area of the scanout texture correctly
    - Update version for 7.2.4 release
   * remove patches included in v7.2.4:
    - linux-user-fix-getgroups-setgroups-allocations.patch
    - rtl8139-fix-large_send_mss-divide-by-zero.patch
    - target_i386-Change-wrong-XFRM-value.patch


I went to the Debian bookworm dnsmasq source package page to find the git 
repository, thinking I might be able to compare the two in order to find some 
clues so I could ask better questions. I went to https://thekelleys.org.uk and 
clicked on the links for version 2.89-1 (Debian 12.8 version) and version 
2.90-4 (Debian 12.9 version). I went through a few files that had matching 
names or arrows pointing to equivalents, but I notice that there are many files 
in 2.90-4 that do not exist 2.89-1, so it makes it a little confusing for me to 
do a side-by-side comparison. Because I am not a programmer, I'm unsure of 
exactly for what I am looking. The few files I went through (eg. dbus.conf, 
resolvconf, resolvconf-package, dnsmasq-base.postrm) either don't appear to 
have changes between versions, don't seem related to my problem, or seem to 
have something to do with building the package in Debian. If you suppose my 
problem were because of a change in one of the packages, for what would I be 
looking? If it is something else, what would I need to do in order to find it?

Thank you for reading. If you need any more information from me, please let me 
know.

Attachment: publickey - newtyperacer@proton.me - 0x48E2D297.asc
Description: application/pgp-keys

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Dnsmasq-discuss mailing list
Dnsmasq-discuss@lists.thekelleys.org.uk
https://lists.thekelleys.org.uk/cgi-bin/mailman/listinfo/dnsmasq-discuss

Reply via email to