* configure.in: when configuring with --prefix=/usr i.e. the same

prefix as the installed libvirt, use the same localstatedir /var
  (instead of /usr/var) and sysconfdir /etc (instead of /usr/etc) to
  be able to connect to the system daemon, and use the system local
  options
* src/xs_internal.c: avoid error message when non-root cannot open
  xenstore
* src/xend_internal.c: avoid error message when non-root cannot
  directly access xend, in those 2 cases the proxy (or remote code)
  should implement the access so there is no need to raise the error
  there.
Daniel
This commit is contained in:
Daniel Veillard 2007-11-27 14:39:42 +00:00
parent db444b2264
commit 1338ed4f25
4 changed files with 44 additions and 4 deletions

View File

@ -1,3 +1,17 @@
Tue Nov 27 15:29:01 CET 2007 Daniel Veillard <veillard@redhat.com>
* configure.in: when configuring with --prefix=/usr i.e. the same
prefix as the installed libvirt, use the same localstatedir /var
(instead of /usr/var) and sysconfdir /etc (instead of /usr/etc) to
be able to connect to the system daemon, and use the system local
options
* src/xs_internal.c: avoid error message when non-root cannot open
xenstore
* src/xend_internal.c: avoid error message when non-root cannot
directly access xend, in those 2 cases the proxy (or remote code)
should implement the access so there is no need to raise the error
there.
Mon Nov 26 15:06:19 CET 2007 Daniel Veillard <veillard@redhat.com>
* doc/*: modified the python page into a bindings page,

View File

@ -89,6 +89,18 @@ AC_ARG_WITH(html-subdir, AC_HELP_STRING([--with-html-subdir=path],
[HTML_DIR="$HTML_DIR/\$(PACKAGE)-\$(VERSION)/html"])
AC_SUBST(HTML_DIR)
dnl if --prefix is /usr, don't use /usr/var for localstatedir
dnl or /usr/etc for sysconfdir
dnl as this makes a lot of things break in testing situations
if test $prefix = "/usr" -a $localstatedir = '${prefix}/var' ; then
localstatedir='/var'
fi
if test $prefix = "/usr" -a $sysconfdir = '${prefix}/etc' ; then
sysconfdir='/etc'
fi
dnl Allow to build without Xen, QEMU/KVM, test or remote driver
AC_ARG_WITH(xen,
[ --with-xen add XEN support (on)],[],[with_xen=yes])

View File

@ -232,8 +232,15 @@ do_connect(virConnectPtr xend)
close(s);
errno = serrno;
s = -1;
virXendError(xend, VIR_ERR_INTERNAL_ERROR,
"failed to connect to xend");
/*
* not being able to connect via the socket as a normal user
* is rather normal, this should fallback to the proxy (or
* remote) mechanism.
*/
if ((getuid() == 0) || (xend->flags & VIR_DRV_OPEN_RO)) {
virXendError(xend, VIR_ERR_INTERNAL_ERROR,
"failed to connect to xend");
}
}
return s;

View File

@ -341,8 +341,15 @@ xenStoreOpen(virConnectPtr conn,
#endif /* ! PROXY */
if (priv->xshandle == NULL) {
virXenStoreError(NULL, VIR_ERR_NO_XEN,
_("failed to connect to Xen Store"));
/*
* not being able to connect via the socket as a normal user
* is rather normal, this should fallback to the proxy (or
* remote) mechanism.
*/
if (getuid() == 0) {
virXenStoreError(NULL, VIR_ERR_NO_XEN,
_("failed to connect to Xen Store"));
}
return (-1);
}
return (0);