=?UTF-8?q?=5BPATCH=20v2=5D=20Build=20against=20NM=200=2E8=2E1=20=28say=20RHEL=206=29?=



Signed-off-by: Murilo Opsfelder Araujo <muriloo linux vnet ibm com>
---
 auth-dialog/main.c                              | 44 +++++++++++++++++++++++++
 configure.ac                                    | 24 +++++++++++---
 src/nm-openconnect-service-openconnect-helper.c |  9 +++++
 3 files changed, 72 insertions(+), 5 deletions(-)

diff --git a/auth-dialog/main.c b/auth-dialog/main.c
index ea728b6..7f6c070 100644
--- a/auth-dialog/main.c
+++ b/auth-dialog/main.c
@@ -40,7 +40,50 @@
 
 #include <gtk/gtk.h>
 #include <glib/gi18n.h>
+#if GLIB_CHECK_VERSION(2,30,0)
 #include <glib-unix.h>
+#else
+#include <fcntl.h>
+
+#define G_UNIX_ERROR (g_unix_error_quark())
+GQuark g_unix_error_quark (void);
+
+GQuark
+g_unix_error_quark (void)
+{
+	return g_quark_from_static_string ("g-unix-error-quark");
+}
+
+static gboolean
+g_unix_set_fd_nonblocking (gint     fd,
+                           gboolean nonblock,
+                           GError **error)
+{
+	glong fcntl_flags;
+	fcntl_flags = fcntl (fd, F_GETFL);
+
+	if (fcntl_flags == -1) {
+		g_set_error_literal (error, G_UNIX_ERROR, errno,
+				     g_strerror (errno));
+		return FALSE;
+	}
+
+	if (nonblock) {
+		fcntl_flags |= O_NONBLOCK;
+	}
+	else {
+		fcntl_flags &= ~O_NONBLOCK;
+	}
+
+	if (fcntl (fd, F_SETFL, fcntl_flags) == -1) {
+		g_set_error_literal (error, G_UNIX_ERROR, errno,
+				     g_strerror (errno));
+		return FALSE;
+	}
+
+	return TRUE;
+}
+#endif /* GLIB_CHECK_VERSION(2,30,0) */
 
 #include "auth-dlg-settings.h"
 
@@ -1496,6 +1539,7 @@ static auth_ui_data *init_ui_data (char *vpn_name)
 		ui_data->cancel_pipes[0] = -1;
 		ui_data->cancel_pipes[1] = -1;
 	}
+
 	g_unix_set_fd_nonblocking(ui_data->cancel_pipes[0], TRUE, NULL);
 	g_unix_set_fd_nonblocking(ui_data->cancel_pipes[1], TRUE, NULL);
 
diff --git a/configure.ac b/configure.ac
index a7f864f..9f67e21 100644
--- a/configure.ac
+++ b/configure.ac
@@ -52,7 +52,7 @@ AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [Gettext package])
 IT_PROG_INTLTOOL([0.35])
 AM_GLIB_GNU_GETTEXT
 
-PKG_CHECK_MODULES(GTHREAD, gthread-2.0)
+PKG_CHECK_MODULES(GTHREAD, gthread-2.0 gio-unix-2.0)
 AC_SUBST(GTHREAD_CFLAGS)
 AC_SUBST(GTHREAD_LIBS)
 
@@ -84,11 +84,25 @@ if test x"$with_gnome" != xno; then
 	fi
 fi
 
+AC_MSG_CHECKING([for recent NetworkManager VPN properties])
+AC_COMPILE_IFELSE(
+	[AC_LANG_PROGRAM(
+		[[#include <NetworkManagerVPN.h>]],
+		[[printf("%s\n", NM_VPN_PLUGIN_IP4_CONFIG_NEVER_DEFAULT);]])],
+	[ac_have_recent_vpn_props=yes],
+	[ac_have_recent_vpn_props=no])
+AC_MSG_RESULT($ac_have_recent_vpn_props)
+if test "$ac_have_recent_vpn_props" = yes; then
+	AC_DEFINE(HAVE_RECENT_VPN_PROPS, 1, [Define if you have NM 0.8.6 or later])
+else
+	AC_DEFINE(HAVE_RECENT_VPN_PROPS, 0, [Define if you have NM 0.8.6 or later])
+fi
+
 PKG_CHECK_MODULES(NETWORKMANAGER,
-                  NetworkManager >= 0.8.6
-                  libnm-util >= 0.8.6
-                  libnm-glib  >= 0.8.6
-                  libnm-glib-vpn >= 0.8.6)
+                  NetworkManager >= 0.8.1
+                  libnm-util >= 0.8.1
+                  libnm-glib  >= 0.8.1
+                  libnm-glib-vpn >= 0.8.1)
 AC_SUBST(NETWORKMANAGER_CFLAGS)
 AC_SUBST(NETWORKMANAGER_LIBS)
 
diff --git a/src/nm-openconnect-service-openconnect-helper.c b/src/nm-openconnect-service-openconnect-helper.c
index c195d46..dd863ea 100644
--- a/src/nm-openconnect-service-openconnect-helper.c
+++ b/src/nm-openconnect-service-openconnect-helper.c
@@ -22,6 +22,10 @@
  *   Copyright © 2007 - 2008 Novell, Inc.
  */
 
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
 #include <glib.h>
 #include <stdlib.h>
 #include <stdio.h>
@@ -135,6 +139,7 @@ uint_to_gvalue (guint32 num)
 	return val;
 }
 
+#if HAVE_RECENT_VPN_PROPS
 static GValue *
 bool_to_gvalue (gboolean b)
 {
@@ -145,6 +150,7 @@ bool_to_gvalue (gboolean b)
 	g_value_set_boolean (val, b);
 	return val;
 }
+#endif
 
 static GValue *
 addr_to_gvalue (const char *str)
@@ -375,10 +381,13 @@ main (int argc, char *argv[])
 	val = get_routes ();
 	if (val) {
 		g_hash_table_insert (config, NM_VPN_PLUGIN_IP4_CONFIG_ROUTES, val);
+#if HAVE_RECENT_VPN_PROPS
 		/* If routes-to-include were provided, that means no default route */
 		g_hash_table_insert (config, NM_VPN_PLUGIN_IP4_CONFIG_NEVER_DEFAULT,
 				     bool_to_gvalue (TRUE));
+#endif
 	}
+
 	/* Banner */
 	val = str_to_gvalue (getenv ("CISCO_BANNER"), TRUE);
 	if (val)
-- 
1.8.0.rc0.60.g42e55a5



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]