m4/virt-libxml.m4 | 18 ++---------------- src/util/viruri.c | 9 --------- tests/viruritest.c | 8 -------- 3 files changed, 2 insertions(+), 33 deletions(-)
The various distros have the following libxml2 vesions:
CentOS 7: 2.9.1
Debian Stretch: 2.9.4
FreeBSD Ports: 2.9.9
Ubuntu 16.04 LTS: 2.9.3
Based on this sampling, we can reasonably bump libxml2 min
version to 2.9.1
The 'query_raw' struct field was added in version 2.6.28,
so can be assumed to exist.
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
m4/virt-libxml.m4 | 18 ++----------------
src/util/viruri.c | 9 ---------
tests/viruritest.c | 8 --------
3 files changed, 2 insertions(+), 33 deletions(-)
diff --git a/m4/virt-libxml.m4 b/m4/virt-libxml.m4
index 65012d506a..9aefbdc3f1 100644
--- a/m4/virt-libxml.m4
+++ b/m4/virt-libxml.m4
@@ -18,31 +18,17 @@ dnl <http://www.gnu.org/licenses/>.
dnl
AC_DEFUN([LIBVIRT_ARG_LIBXML], [
- LIBVIRT_ARG_WITH([LIBXML], [libxml-2.0 (>= 2.6.0) location], [check])
+ LIBVIRT_ARG_WITH([LIBXML], [libxml-2.0 (>= 2.9.1) location], [check])
])
AC_DEFUN([LIBVIRT_CHECK_LIBXML], [
- LIBXML_REQUIRED="2.6.0"
+ LIBXML_REQUIRED="2.9.1"
LIBVIRT_CHECK_PKG([LIBXML], [libxml-2.0], [$LIBXML_REQUIRED])
if test "$with_libxml" = "no" ; then
AC_MSG_ERROR([libxml2 >= $LIBXML_REQUIRED is required for libvirt])
fi
-
- dnl xmlURI structure has query_raw?
- old_CFLAGS="$CFLAGS"
- old_LIBS="$LIBS"
- CFLAGS="$CFLAGS $LIBXML_CFLAGS"
- LIBS="$LIBS $LIBXML_LIBS"
-
- AC_CHECK_MEMBER([struct _xmlURI.query_raw],
- [AC_DEFINE([HAVE_XMLURI_QUERY_RAW], [1],
- [Have query_raw field in libxml2 xmlURI structure])],
- [], [#include <libxml/uri.h>])
-
- CFLAGS="$old_CFLAGS"
- LIBS="$old_LIBS"
])
AC_DEFUN([LIBVIRT_RESULT_LIBXML], [
diff --git a/src/util/viruri.c b/src/util/viruri.c
index 8e45a447b9..a43fe2afd4 100644
--- a/src/util/viruri.c
+++ b/src/util/viruri.c
@@ -183,13 +183,8 @@ virURIParse(const char *uri)
ret->port = xmluri->port;
if (VIR_STRDUP(ret->path, xmluri->path) < 0)
goto error;
-#ifdef HAVE_XMLURI_QUERY_RAW
if (VIR_STRDUP(ret->query, xmluri->query_raw) < 0)
goto error;
-#else
- if (VIR_STRDUP(ret->query, xmluri->query) < 0)
- goto error;
-#endif
if (VIR_STRDUP(ret->fragment, xmluri->fragment) < 0)
goto error;
if (VIR_STRDUP(ret->user, xmluri->user) < 0)
@@ -237,11 +232,7 @@ virURIFormat(virURIPtr uri)
xmluri.server = uri->server;
xmluri.port = uri->port;
xmluri.path = uri->path;
-#ifdef HAVE_XMLURI_QUERY_RAW
xmluri.query_raw = uri->query;
-#else
- xmluri.query = uri->query;
-#endif
xmluri.fragment = uri->fragment;
xmluri.user = uri->user;
diff --git a/tests/viruritest.c b/tests/viruritest.c
index c09e5323bc..d419711135 100644
--- a/tests/viruritest.c
+++ b/tests/viruritest.c
@@ -196,23 +196,19 @@ mymain(void)
{ (char*)"foo", (char*)"two", false },
{ NULL, NULL, false },
};
-#ifdef HAVE_XMLURI_QUERY_RAW
virURIParam params3[] = {
{ (char*)"foo", (char*)"&one", false },
{ (char*)"bar", (char*)"&two", false },
{ NULL, NULL, false },
};
-#endif
virURIParam params4[] = {
{ (char*)"foo", (char*)"", false },
{ NULL, NULL, false },
};
-#ifdef HAVE_XMLURI_QUERY_RAW
virURIParam params5[] = {
{ (char*)"foo", (char*)"one two", false },
{ NULL, NULL, false },
};
-#endif
virURIParam params6[] = {
{ (char*)"foo", (char*)"one", false },
{ NULL, NULL, false },
@@ -222,16 +218,12 @@ mymain(void)
TEST_PARAMS("foo=one&foo=two", "", params2);
TEST_PARAMS("foo=one&&foo=two", "foo=one&foo=two", params2);
TEST_PARAMS("foo=one;foo=two", "foo=one&foo=two", params2);
-#ifdef HAVE_XMLURI_QUERY_RAW
TEST_PARAMS("foo=%26one&bar=%26two", "", params3);
-#endif
TEST_PARAMS("foo", "foo=", params4);
TEST_PARAMS("foo=", "", params4);
TEST_PARAMS("foo=&", "foo=", params4);
TEST_PARAMS("foo=&&", "foo=", params4);
-#ifdef HAVE_XMLURI_QUERY_RAW
TEST_PARAMS("foo=one%20two", "", params5);
-#endif
TEST_PARAMS("=bogus&foo=one", "foo=one", params6);
return ret == 0 ? EXIT_SUCCESS : EXIT_FAILURE;
--
2.21.0
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
On Mon, 2019-07-22 at 15:47 +0100, Daniel P. Berrangé wrote: > The various distros have the following libxml2 vesions: s/vesions/versions/ [...] > AC_DEFUN([LIBVIRT_ARG_LIBXML], [ > - LIBVIRT_ARG_WITH([LIBXML], [libxml-2.0 (>= 2.6.0) location], [check]) > + LIBVIRT_ARG_WITH([LIBXML], [libxml-2.0 (>= 2.9.1) location], [check]) Why are we even recording the minimum version number here? The only effect is that at some point someone will forget to update both at the same time, and users will get confused. Please just drop it altogether. Other than the nits above, lovely cleanup! Reviewed-by: Andrea Bolognani <abologna@redhat.com> -- Andrea Bolognani / Red Hat / Virtualization -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
© 2016 - 2024 Red Hat, Inc.