LIBVIRT_CHECK_SYSTEMD_DAEMON
LIBVIRT_CHECK_UDEV
LIBVIRT_CHECK_WIRESHARK
+LIBVIRT_CHECK_NSS
LIBVIRT_CHECK_YAJL
AC_MSG_CHECKING([for CPUID instruction])
LIBVIRT_RESULT_SYSTEMD_DAEMON
LIBVIRT_RESULT_UDEV
LIBVIRT_RESULT_WIRESHARK
+LIBVIRT_RESULT_NSS
LIBVIRT_RESULT_YAJL
AC_MSG_NOTICE([ libxml: $LIBXML_CFLAGS $LIBXML_LIBS])
AC_MSG_NOTICE([ dlopen: $DLOPEN_LIBS])
--- /dev/null
+dnl The libvirt nsswitch plugin
+dnl
+dnl Copyright (C) 2016 Red Hat, Inc.
+dnl
+dnl This library is free software; you can redistribute it and/or
+dnl modify it under the terms of the GNU Lesser General Public
+dnl License as published by the Free Software Foundation; either
+dnl version 2.1 of the License, or (at your option) any later version.
+dnl
+dnl This library is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+dnl Lesser General Public License for more details.
+dnl
+dnl You should have received a copy of the GNU Lesser General Public
+dnl License along with this library. If not, see
+dnl <http://www.gnu.org/licenses/>.
+dnl
+
+AC_DEFUN([LIBVIRT_CHECK_NSS],[
+ AC_ARG_WITH([nss-plugin],
+ [AS_HELP_STRING([--with-nss-plugin],
+ [enable Name Servie Switch plugin for resolving guest IP addresses])],
+ [], [with_nss_plugin=check])
+
+ fail=0
+ if test "x$with_nss_plugin" != "xno" ; then
+ AC_CHECK_HEADERS([nss.h], [
+ with_nss_plugin=yes
+ ],[
+ if test "x$with_nss_plugin" = "xyes" ; then
+ fail = 1
+ fi
+ ])
+
+ if test $fail = 1 ; then
+ AC_MSG_ERROR([Can't build nss plugin without nss.h])
+ fi
+
+ if test "x$with_nss_plugin" = "xyes" ; then
+ AC_DEFINE_UNQUOTED([NSS], 1, [whether nss plugin is enabled])
+ fi
+ fi
+
+ AM_CONDITIONAL(WITH_NSS, [test "x$with_nss_plugin" = "xyes"])
+
+])
+
+AC_DEFUN([LIBVIRT_RESULT_NSS],[
+ LIBVIRT_RESULT([nss], [$with_nss_plugin])
+])
endif WITH_WIRESHARK_DISSECTOR
+LIBVIRT_NSS_SYMBOL_FILE = \
+ $(srcdir)/nss/libvirt_nss.syms
+
+LIBVIRT_NSS_SOURCES = \
+ nss/libvirt_nss.c \
+ nss/libvirt_nss.h
+
+noinst_LTLIBRARIES += nss/libnss_libvirt_impl.la
+nss_libnss_libvirt_impl_la_SOURCES = \
+ $(LIBVIRT_NSS_SOURCES)
+
+nss_libnss_libvirt_impl_la_CFLAGS = \
+ $(AM_CFLAGS) \
+ $(WARN_CFLAGS) \
+ $(PIE_CFLAGS) \
+ $(COVERAGE_CFLAGS)
+
+if WITH_NSS
+nss_libnss_libvirt_la_SOURCES =
+nss_libnss_libvirt_la_LDFLAGS = \
+ $(VERSION_SCRIPT_FLAGS)$(LIBVIRT_NSS_SYMBOL_FILE) \
+ $(AM_LDFLAGS) \
+ -module \
+ -export-dynamic \
+ -avoid-version \
+ -shared \
+ -shrext .so.2
+
+nss_libnss_libvirt_la_LIBADD = \
+ nss/libnss_libvirt_impl.la
+
+lib_LTLIBRARIES = \
+ nss/libnss_libvirt.la
+
+endif WITH_NSS
+
+EXTRA_DIST += $(LIBVIRT_NSS_SYMBOL_FILE) \
+ $(LIBVIRT_NSS_SOURCES)
clean-local:
-rm -rf wireshark/src/libvirt
--- /dev/null
+/*
+ * libvirt_nss: Name Service Switch plugin
+ *
+ * The aim is to enable users and applications to translate
+ * domain names into IP addresses. However, this is currently
+ * available only for those domains which gets their IP addresses
+ * from a libvirt managed network.
+ *
+ * Copyright (C) 2016 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see
+ * <http://www.gnu.org/licenses/>.
+ *
+ * Authors:
+ * Michal Privoznik <mprivozn@redhat.com>
+ */
+#include <config.h>
+
+#include "libvirt_nss.h"
+
+int
+blah(int c)
+{
+ return c;
+}
--- /dev/null
+/*
+ * libvirt_nss: Name Service Switch plugin
+ *
+ * The aim is to enable users and applications to translate
+ * domain names into IP addresses. However, this is currently
+ * available only for those domains which gets their IP addresses
+ * from a libvirt managed network.
+ *
+ * Copyright (C) 2016 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see
+ * <http://www.gnu.org/licenses/>.
+ *
+ * Authors:
+ * Michal Privoznik <mprivozn@redhat.com>
+ */
+
+#ifndef __LIBVIRT_NSS_H__
+# define __LIBVIRT_NSS_H__
+
+# include <nss.h>
+# include <netdb.h>
+
+int blah(int c);
+#endif /* __LIBVIRT_NSS_H__ */
--- /dev/null
+#
+# Officially exported symbols.
+#
+
+{
+global:
+ blah;
+local: *;
+};