[Libvir] [PATCH] detect path of dnsmasq, brctl

Richard W.M. Jones rjones at redhat.com
Thu Sep 20 17:34:21 UTC 2007


I have found 3 bugs in libvirtd in the way that it runs the external 
programs dnsmasq and brctl.

Bug (1) is that it searches the $PATH to find dnsmasq.  This is normally 
OK when libvirtd is launched from start-up scripts, but it's not very 
helpful if you run libvirtd by hand because likely-as-not your path 
won't contain /usr/sbin (the normal location of dnsmasq).

Bug (2) is that if libvirtd can't execvp dnsmasq, then it doesn't fail 
in any obvious way.

Bug (3) is that the path to brctl is hard-coded.

This patch fixes bugs (1) & (3), but does not fix bug (2).

Firstly configure has been changed so that it searches for dnsmasq and 
brctl programs in the usual places.  If it find them then it generates a 
config.h file which looks like this:

--------------------
/* Location or name of the brctl program (see bridge-utils) */
#define BRCTL "/usr/sbin/brctl"

/* Location or name of the dnsmasq program */
#define DNSMASQ "/usr/sbin/dnsmasq"
--------------------

If it doesn't find them then it just includes the program names, not 
full paths:

--------------------
/* Location or name of the brctl program (see bridge-utils) */
#define BRCTL "brctl"

/* Location or name of the dnsmasq program */
#define DNSMASQ "dnsmasq"
--------------------

The code continues to use execvp to actually run the programs, so if the 
program names contain '/' then the absolute paths are used directly, 
otherwise execvp will do a shell-like search for the program along $PATH.

Please nota bene the change to the spec file.

Rich.

-- 
Emerging Technologies, Red Hat - http://et.redhat.com/~rjones/
Registered Address: Red Hat UK Ltd, Amberley Place, 107-111 Peascod
Street, Windsor, Berkshire, SL4 1TE, United Kingdom.  Registered in
England and Wales under Company Registration No. 03798903
-------------- next part --------------
A non-text attachment was scrubbed...
Name: libvirt-paths.patch
Type: text/x-patch
Size: 3118 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20070920/ea19fdd6/attachment-0002.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3237 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20070920/ea19fdd6/attachment-0003.bin>


More information about the libvir-list mailing list