Go to file
Eric Blake 75c125641a util: add virGetGroupList
Since neither getpwuid_r() nor initgroups() are safe to call in
between fork and exec (they obtain a mutex, but if some other
thread in the parent also held the mutex at the time of the fork,
the child will deadlock), we have to split out the functionality
that is unsafe.  At least glibc's initgroups() uses getgrouplist
under the hood, so the ideal split is to expose getgrouplist for
use before a fork.  Gnulib already gives us a nice wrapper via
mgetgroups; we wrap it once more to look up by uid instead of name.

* bootstrap.conf (gnulib_modules): Add mgetgroups.
* src/util/virutil.h (virGetGroupList): New declaration.
* src/util/virutil.c (virGetGroupList): New function.
* src/libvirt_private.syms (virutil.h): Export it.

Signed-off-by: Eric Blake <eblake@redhat.com>
2013-07-11 15:25:53 -06:00
.gnulib@da8d59ee79 maint: update to latest gnulib 2013-07-11 10:33:09 -06:00
build-aux syntax-check: mandate space after mid-line semicolon 2013-05-28 08:26:05 -06:00
daemon Convert 'int i' to 'size_t i' in daemon/ files 2013-07-10 10:23:10 +01:00
docs Adapt to VIR_ALLOC and virAsprintf in docs/ 2013-07-10 11:07:31 +02:00
examples hellolibvirt: Resolve Coverity issues 2013-07-11 14:18:11 -04:00
gnulib maint: use LGPL correctly 2013-05-20 14:03:48 -06:00
include libvirt: Define domain crash event types 2013-07-02 12:02:27 -06:00
m4 Fix build with clang 2013-07-04 11:35:59 +02:00
po viralloc: Report OOM error on failure 2013-07-10 11:07:31 +02:00
python Convert 'int i' to 'size_t i' in python/ files 2013-07-10 17:55:17 +01:00
src util: add virGetGroupList 2013-07-11 15:25:53 -06:00
tests testutils: Resolve Coverity issues 2013-07-11 14:18:11 -04:00
tools virsh-nodedev: Resolve Coverity issues 2013-07-11 14:18:12 -04:00
.dir-locals.el build: avoid tabs that failed syntax-check 2012-09-06 09:43:46 -06:00
.gitignore tests: Introduce qemuhotplugtest 2013-06-25 17:00:56 +02:00
.gitmodules make .gnulib a submodule 2009-07-08 16:17:51 +02:00
.mailmap Autogenerate AUTHORS 2012-10-19 12:44:56 -04:00
AUTHORS.in Add John Ferlan to the committers list 2013-02-05 10:59:32 -05:00
COPYING maint: follow recommended practice for using LGPL 2013-05-20 14:15:21 -06:00
COPYING.LESSER maint: follow recommended practice for using LGPL 2013-05-20 14:15:21 -06:00
ChangeLog-old virterror.c: Fix several spelling mistakes 2012-02-03 11:32:51 -07:00
HACKING Adapt to VIR_ALLOC and virAsprintf in docs/ 2013-07-10 11:07:31 +02:00
Makefile.am maint: use LGPL correctly 2013-05-20 14:03:48 -06:00
Makefile.nonreentrant maint: use LGPL correctly 2013-05-20 14:03:48 -06:00
README Correct typos in the documentation (Atsushi SAKAI) 2008-01-24 10:15:13 +00:00
README-hacking maint: relax git minimum version 2010-02-24 14:29:27 -05:00
TODO Update todo list file to point at bugzilla/website 2010-10-13 16:45:26 +01:00
autobuild.sh Set PKG_CONFIG_LIBDIR in autobuild.sh 2013-05-17 17:09:29 +01:00
autogen.sh build: honor autogen.sh --no-git 2013-07-09 16:15:29 -06:00
bootstrap build: honor autogen.sh --no-git 2013-07-09 16:15:29 -06:00
bootstrap.conf util: add virGetGroupList 2013-07-11 15:25:53 -06:00
cfg.mk Prevent use of 'int' data type & 'ii', 'jj', 'kk' var names for loops 2013-07-10 17:55:17 +01:00
configure.ac Fix bridge routines detection on kFreeBSD 2013-07-10 13:20:02 +02:00
libvirt.pc.in build: silence warning from autoconf 2012-05-30 09:22:02 -06:00
libvirt.spec.in Release of libvirt-1.1.0 2013-07-01 17:22:49 +08:00
mingw-libvirt.spec.in conf: add features to volume target XML 2013-06-21 13:25:30 +02:00
run.in run: license as LGPL 2013-02-23 14:03:19 -07:00

README

         LibVirt : simple API for virtualization

  Libvirt is a C toolkit to interact with the virtualization capabilities
of recent versions of Linux (and other OSes). It is free software
available under the GNU Lesser General Public License. Virtualization of
the Linux Operating System means the ability to run multiple instances of
Operating Systems concurrently on a single hardware system where the basic
resources are driven by a Linux instance. The library aim at providing
long term stable C API initially for the Xen paravirtualization but
should be able to integrate other virtualization mechanisms if needed.

Daniel Veillard <veillard@redhat.com>