libvirt/src/util
Michal Privoznik 5c98d1cee0 virdnsmasq: Lookup DNSMASQ in PATH
While it's true that our virCommand subsystem is happy with
non-absolute paths, the dnsmasq capability code is not. It stores
the path to dnsmasq within and makes it accessible via
dnsmasqCapsGetBinaryPath(). While strictly speaking no caller
necessarily needs canonicalized path, let's find dnsmasq once and
cache the result.

Therefore, when constructing the capabilities structure look up
the binary path. If DNSMASQ already contains an absolute path
then virFindFileInPath() will simply return a copy.

With this code in place, the virFileIsExecutable() check can be
removed from dnsmasqCapsRefreshInternal() because
virFindFileInPath() already made sure the binary is executable.

But introducing virFindFileInPath() means we have to mock it in
test suite because dnsmasqCaps are created in
networkxml2conftest.

Moreover, we don't need to check for dnsmasq in configure.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
2022-01-18 15:19:47 +01:00
..
glibcompat.c src: ensure GSource background unref happens in correct event loop 2021-03-17 09:16:05 +00:00
glibcompat.h src: ensure GSource background unref happens in correct event loop 2021-03-17 09:16:05 +00:00
iohelper.c iohelper: skip lseek() and ftruncate() on block devices 2021-08-24 16:02:38 +02:00
meson.build Add a PCI/PCIe device VPD Parser 2021-10-21 17:34:04 +01:00
viralloc.c util: alloc: Introduce virAppendElement helper 2021-08-06 08:53:25 +02:00
viralloc.h util: fix various ATTRIBUTE_NONNULL calls 2021-11-23 09:59:00 +01:00
virarch.c util: canonicalize 'arm64' arch to 'aarch64' 2021-11-30 10:51:33 +00:00
virarch.h util: add ARCH_IS_MIPS64 helper macro 2020-11-20 12:09:51 +00:00
virarptable.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virarptable.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
viraudit.c lib: Drop intermediary return variables 2021-10-25 12:48:46 +02:00
viraudit.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virauth.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virauth.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virauthconfig.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virauthconfig.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virbitmap.c util: bitmap: Unify parsing of bitmaps 2021-12-10 16:36:25 +01:00
virbitmap.h virBitmapSetBitExpand: Remove return value 2021-12-10 16:36:25 +01:00
virbpf.c
virbpf.h
virbuffer.c virBufferAddBuffer: Cleanup 2021-11-08 14:32:32 +01:00
virbuffer.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
vircgroup.c Remove empty cleanup sections 2021-12-13 14:44:01 +01:00
vircgroup.h vircgroup: introduce virCgroupGetInode function 2021-08-17 12:35:45 +02:00
vircgroupbackend.c vircgroupbackend: Extend error messages in VIR_CGROUP_BACKEND_CALL() 2021-04-19 11:21:40 +02:00
vircgroupbackend.h vircgroupbackend: Extend error messages in VIR_CGROUP_BACKEND_CALL() 2021-04-19 11:21:40 +02:00
vircgrouppriv.h vircgroup: Fix virCgroupKillRecursive() wrt nested controllers 2021-04-19 11:21:40 +02:00
vircgroupv1.c lib: Drop needless one line labels 2021-11-22 12:39:59 +01:00
vircgroupv1.h
vircgroupv2.c Prefer g_auto(GStrv) over g_strfreev() 2021-11-11 16:16:17 +01:00
vircgroupv2.h
vircgroupv2devices.c vircgroupv2devices: refactor virCgroupV2DevicesRemoveProg 2021-04-14 12:06:16 +02:00
vircgroupv2devices.h vircgroupv2devices: refactor virCgroupV2DevicesRemoveProg 2021-04-14 12:06:16 +02:00
vircommand.c util: Check for errors in virLogSetFromEnv 2022-01-05 14:08:40 +01:00
vircommand.h virCommandGetArgList: Remove 'nargs' argument 2021-10-12 10:26:00 +02:00
vircommandpriv.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virconf.c virconf: Make virConfSetValue() clear consumed pointer 2022-01-17 09:53:45 +01:00
virconf.h virconf: Make virConfSetValue() clear consumed pointer 2022-01-17 09:53:45 +01:00
vircrypto.c util: Remove use of virCryptoHaveCipher(VIR_CRYPTO_CIPHER_AES256CBC) 2021-09-22 14:53:55 +02:00
vircrypto.h util: Remove use of virCryptoHaveCipher(VIR_CRYPTO_CIPHER_AES256CBC) 2021-09-22 14:53:55 +02:00
virdaemon.c util: fix prototype of virDaemonSetupLogging 2022-01-05 16:32:28 +01:00
virdaemon.h Exit on errors from virDaemonSetupLogging 2022-01-05 14:08:39 +01:00
virdevmapper.c virDevMapperGetTargets: Fix non-linux implementation 2021-09-21 14:30:19 +02:00
virdevmapper.h virDevMapperGetTargets: Use a linked list as return type 2021-09-21 12:25:42 +02:00
virdnsmasq.c virdnsmasq: Lookup DNSMASQ in PATH 2022-01-18 15:19:47 +01:00
virdnsmasq.h util: dnsmasq: remove caps completely 2021-12-15 15:28:17 +01:00
virebtables.c util: replace VIR_FREE with g_free in all vir*Free() functions 2021-02-05 00:20:43 -05:00
virebtables.h
virendian.h
virenum.c util: enum: Add helpers for converting virTristate* to a plain bool 2021-12-01 13:39:47 +01:00
virenum.h util: enum: Add helpers for converting virTristate* to a plain bool 2021-12-01 13:39:47 +01:00
virerror.c Add basic driver for the Cloud-Hypervisor 2021-06-04 10:56:06 +01:00
virerror.h util: virerror: Remove VIR_ERROR_MAX_LENGTH macro 2021-03-05 15:01:29 +01:00
virerrorpriv.h
virevent.c
virevent.h
vireventglib.c vireventglib: Remove handles with the highest priority 2021-10-10 18:42:15 +02:00
vireventglib.h
vireventglibwatch.c
vireventglibwatch.h
vireventthread.c
vireventthread.h
virfcp.c virBuildPath: Remove return value 2021-03-02 09:50:19 +01:00
virfcp.h
virfdstream.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virfdstream.h
virfile.c util: Add virFileReadValueUllongQuiet 2021-07-27 10:29:20 +02:00
virfile.h util: Add virFileReadValueUllongQuiet 2021-07-27 10:29:20 +02:00
virfilecache.c Switch away from virHashFree 2021-12-01 13:53:12 +01:00
virfilecache.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virfirewall.c util: remove virFirewallOnceInit() 2021-12-13 13:37:31 -05:00
virfirewall.h util: move and rename virFirewallBackendSynchronize() 2021-12-13 13:37:31 -05:00
virfirewalld.c util: move and rename virFirewallBackendSynchronize() 2021-12-13 13:37:31 -05:00
virfirewalld.h util: move and rename virFirewallBackendSynchronize() 2021-12-13 13:37:31 -05:00
virfirewalldpriv.h
virfirmware.c Remove empty cleanup sections 2021-12-13 14:44:01 +01:00
virfirmware.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virgdbus.c virgdbus: fix getting non-shared DBus connection 2020-11-09 23:42:33 +01:00
virgdbus.h
virgettext.c
virgettext.h
virgic.c
virgic.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virglibutil.c util: Add helpers for auto-freeing GSList filled with strings 2021-02-11 17:05:32 +01:00
virglibutil.h util: Add helpers for auto-freeing GSList filled with strings 2021-02-11 17:05:32 +01:00
virhash.c util: virhash: Replace 'virHashDataFree' by 'GDestroyNotify' 2021-12-01 13:53:12 +01:00
virhash.h util: virhash: Replace 'virHashDataFree' by 'GDestroyNotify' 2021-12-01 13:53:12 +01:00
virhashcode.c
virhashcode.h
virhook.c virBuildPath: Remove return value 2021-03-02 09:50:19 +01:00
virhook.h
virhostcpu.c util: pull CPUID helper function out of CPU driver 2021-12-14 16:04:17 +00:00
virhostcpu.h util: pull CPUID helper function out of CPU driver 2021-12-14 16:04:17 +00:00
virhostcpupriv.h
virhostmem.c virhostmem: Introduce virHostMemGetTHPSize() 2021-10-01 10:58:27 +02:00
virhostmem.h virhostmem: Introduce virHostMemGetTHPSize() 2021-10-01 10:58:27 +02:00
virhostuptime.c virhostuptime: Fix rounding in uptime calculation 2021-02-02 15:00:55 +01:00
virhostuptime.h
viridentity.c util: virIdentitySetCurrent: only unref the old identity on success 2021-09-08 16:19:55 +02:00
viridentity.h src: add API to determine if current identity is a system identity 2021-05-13 11:07:40 +01:00
viridentitypriv.h util: generate a persistent system token 2021-05-13 11:07:16 +01:00
virinitctl.c
virinitctl.h
viriptables.c util: move and rename virFirewallBackendSynchronize() 2021-12-13 13:37:31 -05:00
viriptables.h network: eliminate code that uses default iptables chains 2021-12-13 13:37:31 -05:00
viriscsi.c util: iscsi: use two vars in CreateIfaceIQN 2021-12-14 16:41:36 +01:00
viriscsi.h
virjson.c util: json: Introduce virJSONValueObjectReplaceValue 2022-01-03 13:14:43 +01:00
virjson.h util: json: Introduce virJSONValueObjectReplaceValue 2022-01-03 13:14:43 +01:00
virkeycode.c
virkeycode.h
virkmod.c
virkmod.h
virlease.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virlease.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virlockspace.c Switch away from virHashFree 2021-12-01 13:53:12 +01:00
virlockspace.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virlog.c util: Improve log output parsing errors 2022-01-07 10:23:23 +01:00
virlog.h util: Check for errors in virLogSetFromEnv 2022-01-05 14:08:40 +01:00
virmacaddr.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virmacaddr.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virmacmap.c Replace open coded virJSONValueArrayAppendString 2021-12-22 13:48:35 +01:00
virmacmap.h conf: add cleanup func for virMacMap 2021-09-09 18:06:13 +02:00
virmdev.c util: alloc: Reimplement VIR_APPEND_ELEMENT using virAppendElement 2021-08-06 08:53:25 +02:00
virmdev.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virmodule.c
virmodule.h
virnetdev.c util: call virNetDevGetPhysPortID() in less places 2021-12-06 13:04:28 -05:00
virnetdev.h virNetDevGetVirtualFunctions: Directly return virPCIVirtualFunctionList 2021-08-09 10:09:00 +02:00
virnetdevbandwidth.c virnetdev: move virNetDevSetRootQDisc to virnetdevbandwidth 2021-04-21 14:19:34 +02:00
virnetdevbandwidth.h docs: Clarify 'burst' units for QoS 2022-01-04 16:40:10 +01:00
virnetdevbridge.c meson: Drop netinet workaround 2021-06-01 14:30:39 +02:00
virnetdevbridge.h
virnetdevip.c lib: Use $PROG instead of $PROG_PATH 2021-09-21 14:09:44 +02:00
virnetdevip.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virnetdevmacvlan.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virnetdevmacvlan.h netdevmacvlan: Use helper function to create unique macvlan/macvtap name 2020-12-15 13:35:33 -05:00
virnetdevmidonet.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virnetdevmidonet.h
virnetdevopenvswitch.c virnetdevopenvswitch: Fix 'burst' value passed to ovs-vsctl 2022-01-04 16:40:10 +01:00
virnetdevopenvswitch.h util: fix various ATTRIBUTE_NONNULL calls 2021-11-23 09:59:00 +01:00
virnetdevtap.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virnetdevtap.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virnetdevveth.c virnetdevveth: Do report error if creating veth fails 2021-12-02 15:17:27 +01:00
virnetdevveth.h
virnetdevvlan.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virnetdevvlan.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virnetdevvportprofile.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virnetdevvportprofile.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virnetlink.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virnetlink.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virnodesuspend.c util: use g_auto in virNodeSuspendHelper 2021-12-14 16:41:36 +01:00
virnodesuspend.h
virnuma.c virBitmapUnion: Remove return value 2021-12-10 16:36:24 +01:00
virnuma.h virnuma: Export virNumaGetMaxCPUs properly 2021-05-17 15:54:13 +02:00
virnvme.c util: alloc: Reimplement VIR_APPEND_ELEMENT using virAppendElement 2021-08-06 08:53:25 +02:00
virnvme.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virobject.c util: virhash: Replace 'virHashDataFree' by 'GDestroyNotify' 2021-12-01 13:53:12 +01:00
virobject.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virpci.c util: call virNetDevGetPhysPortID() in less places 2021-12-06 13:04:28 -05:00
virpci.h util: call virNetDevGetPhysPortID() in less places 2021-12-06 13:04:28 -05:00
virpcivpd.c virpcivpd: Bring variables into loops 2021-11-03 14:46:54 +01:00
virpcivpd.h Add a PCI/PCIe device VPD Parser 2021-10-21 17:34:04 +01:00
virpcivpdpriv.h Add a PCI/PCIe device VPD Parser 2021-10-21 17:34:04 +01:00
virperf.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virperf.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virpidfile.c util: virPidFileForceCleanupPath: add group argument 2021-08-05 11:18:09 +02:00
virpidfile.h util: virPidFileForceCleanupPath: add group argument 2021-08-05 11:18:09 +02:00
virpolkit.c util: Check for pkttyagent availability properly 2021-11-23 12:51:09 +01:00
virpolkit.h util: Add virPolkitAgentAvailable 2021-11-23 12:51:09 +01:00
virportallocator.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virportallocator.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virprobe.h
virprocess.c report error when virProcessGetStatInfo() is unable to parse data 2022-01-12 14:18:38 +01:00
virprocess.h util: Helper functions to get process info 2022-01-06 16:03:55 +01:00
virqemu.c virBitmapSetBitExpand: Remove return value 2021-12-10 16:36:25 +01:00
virqemu.h virQEMUBuildDriveCommandlineFromJSON: Open-code in callers 2021-10-12 10:26:00 +02:00
virrandom.c util: add virRandomToken API 2021-05-13 11:07:13 +01:00
virrandom.h util: add virRandomToken API 2021-05-13 11:07:13 +01:00
virresctrl.c util: alloc: Reimplement VIR_APPEND_ELEMENT using virAppendElement 2021-08-06 08:53:25 +02:00
virresctrl.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virresctrlpriv.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virrotatingfile.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virrotatingfile.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virscsi.c virscsi: Drop @tmp from virSCSIDeviceListDel 2021-08-26 09:16:44 +02:00
virscsi.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virscsihost.c util: quieten virSCSIHostGetUniqueId 2020-11-06 15:03:39 +01:00
virscsihost.h
virscsivhost.c virSCSIVHostOpenVhostSCSI: Cleanup 2021-11-08 14:32:32 +01:00
virscsivhost.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virseclabel.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virseclabel.h virSecurityLabelDef: Declare 'type' as 'virDomainSeclabelType' 2021-11-24 09:20:38 +01:00
virsecret.c secret: rework handling of private secrets 2021-05-13 11:07:47 +01:00
virsecret.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virsecureerase.c util: virsecureerase: Introduce virSecureEraseString 2021-02-03 13:07:13 +01:00
virsecureerase.h util: virsecureerase: Introduce virSecureEraseString 2021-02-03 13:07:13 +01:00
virsocket.c virsocket: Don't preserve errno in virSocketRecvFD() 2021-08-20 15:00:53 +02:00
virsocket.h
virsocketaddr.c util: rename/move iptablesFormatNetwork to virSocketAddrFormatWithPrefix 2021-12-13 13:37:31 -05:00
virsocketaddr.h util: rename/move iptablesFormatNetwork to virSocketAddrFormatWithPrefix 2021-12-13 13:37:31 -05:00
virstoragefile.c virStorageFileParseBackingStoreStr: use g_strsplit instead of virStringSplitCount 2021-04-12 15:55:09 +02:00
virstoragefile.h Remove virStorageFileCanonicalizePath 2021-04-12 15:55:09 +02:00
virstring.c util: virstring: Remove unused 'virStringListMerge' 2021-09-21 12:25:42 +02:00
virstring.h util: virstring: Remove unused 'virStringListMerge' 2021-09-21 12:25:42 +02:00
virsysinfo.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virsysinfo.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virsysinfopriv.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virsystemd.c Switch away from virHashFree 2021-12-01 13:53:12 +01:00
virsystemd.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virsystemdpriv.h
virthread.c virthread: Make sure virOnce() returns -1 on error 2021-05-07 12:33:58 +02:00
virthread.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virthreadjob.c
virthreadjob.h
virthreadpool.c virthreadpool: Copy job name 2021-12-01 14:36:29 +01:00
virthreadpool.h virthreadpool: Allow setting identity for workers 2021-10-27 17:11:29 +02:00
virtime.c util: o-z: use g_new0 2020-10-06 12:31:34 +02:00
virtime.h
virtpm.c virBitmapSetBitExpand: Remove return value 2021-12-10 16:36:25 +01:00
virtpm.h util: add a method for checking if swtpm is available 2021-12-01 12:14:03 +00:00
virtypedparam-public.c Do not check return value of VIR_RESIZE_N 2021-03-22 12:44:18 +01:00
virtypedparam.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virtypedparam.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
viruri.c change return type of virURIParamAppend() to void type 2022-01-07 08:07:04 +01:00
viruri.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virusb.c util: alloc: Reimplement VIR_APPEND_ELEMENT using virAppendElement 2021-08-06 08:53:25 +02:00
virusb.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virutil.c util: Drop pointless NUL_TERMINATE macro 2021-10-26 10:03:36 +02:00
virutil.h virIndexToDiskName: Make 'idx' unsigned and remove check 2021-03-05 15:33:34 +01:00
viruuid.c viruuid: Rework virUUIDIsValid() 2020-12-04 16:24:19 +01:00
viruuid.h viruuid: Rework virUUIDIsValid() 2020-12-04 16:24:19 +01:00
virvhba.c remove unnecessary cleanup labels and unused return variables 2020-11-02 22:01:36 -05:00
virvhba.h
virvsock.c
virvsock.h
virxdrdefs.h
virxml.c util: xml: Remove virXMLPropStringLimit and virXPathStringLimit 2021-11-24 09:20:39 +01:00
virxml.h util: xml: Remove virXMLPropStringLimit and virXPathStringLimit 2021-11-24 09:20:39 +01:00