SOURCES (DEVEL): NetworkManager-pld.patch - updated for 0.7

megabajt megabajt at pld-linux.org
Wed Nov 21 20:29:23 CET 2007


Author: megabajt                     Date: Wed Nov 21 19:29:23 2007 GMT
Module: SOURCES                       Tag: DEVEL
---- Log message:
- updated for 0.7

---- Files affected:
SOURCES:
   NetworkManager-pld.patch (1.8 -> 1.8.2.1) 

---- Diffs:

================================================================
Index: SOURCES/NetworkManager-pld.patch
diff -u SOURCES/NetworkManager-pld.patch:1.8 SOURCES/NetworkManager-pld.patch:1.8.2.1
--- SOURCES/NetworkManager-pld.patch:1.8	Mon Oct 29 23:13:00 2007
+++ SOURCES/NetworkManager-pld.patch	Wed Nov 21 20:29:18 2007
@@ -1,43 +1,61 @@
-diff -urN NetworkManager-0.6.5.orig/configure.in NetworkManager-0.6.5/configure.in
---- NetworkManager-0.6.5.orig/configure.in	2007-07-23 19:44:13.000000000 +0200
-+++ NetworkManager-0.6.5/configure.in	2007-07-23 20:09:37.000000000 +0200
-@@ -72,7 +72,7 @@
+diff -urN NetworkManager-0.7rev3096/configure.in NetworkManager-0.7rev3096.new/configure.in
+--- NetworkManager-0.7rev3096/configure.in	2007-11-20 11:07:00.000000000 +0100
++++ NetworkManager-0.7rev3096.new/configure.in	2007-11-20 12:00:36.000000000 +0100
+@@ -57,7 +57,7 @@
+ dnl
+ AC_C_BIGENDIAN
+ 
+-AC_ARG_WITH(distro, AC_HELP_STRING([--with-distro=DISTRO], [Specify the Linux distribution to target: One of redhat, suse, gentoo, debian, arch, slackware or paldo]))
++AC_ARG_WITH(distro, AC_HELP_STRING([--with-distro=DISTRO], [Specify the Linux distribution to target: One of redhat, suse, gentoo, debian, arch, slackware, paldo or pld]))
+ if test "z$with_distro" = "z"; then
+ 	AC_CHECK_FILE(/etc/redhat-release,with_distro="redhat")
+ 	AC_CHECK_FILE(/etc/SuSE-release,with_distro="suse")
+@@ -67,6 +67,7 @@
+ 	AC_CHECK_FILE(/etc/arch-release,with_distro="arch")
+ 	AC_CHECK_FILE(/etc/slackware-version,with_distro="slackware")
+ 	AC_CHECK_FILE(/etc/frugalware-release,with_distro="frugalware")
++	AC_CHECK_FILE(/etc/pld-release,with_distro="pld")
+ 	if test "z$with_distro" = "z"; then
+ 		with_distro=`lsb_release -is`
+ 	fi
+@@ -78,7 +79,7 @@
  	exit 1
  else
  	case $with_distro in
--		redhat|suse|gentoo|debian|slackware|arch) ;;
-+		redhat|suse|gentoo|debian|slackware|arch|pld) ;;
+-		redhat|suse|gentoo|debian|slackware|arch|paldo|frugalware) ;;
++		redhat|suse|gentoo|debian|slackware|arch|paldo|frugalware|pld) ;;
  		*)
  			echo "Your distribution (${with_distro}) is not yet supported!  (patches welcome)"
  			exit 1
-@@ -85,6 +85,7 @@
- AM_CONDITIONAL(TARGET_DEBIAN, test x"$with_distro" = xdebian)
- AM_CONDITIONAL(TARGET_SLACKWARE, test x"$with_distro" = xslackware)
+@@ -93,6 +94,7 @@
  AM_CONDITIONAL(TARGET_ARCH, test x"$with_distro" = xarch)
+ AM_CONDITIONAL(TARGET_PALDO, test x"$with_distro" = xpaldo)
+ AM_CONDITIONAL(TARGET_FRUGALWARE, test x"$with_distro" = xfrugalware)
 +AM_CONDITIONAL(TARGET_PLD, test x"$with_distro" = xpld)
  
- AC_MSG_CHECKING([for wireless-tools >= 28pre9])
- AC_TRY_COMPILE([#include <iwlib.h>],
-diff -urN NetworkManager-0.6.5.orig/src/backends/Makefile.am NetworkManager-0.6.5/src/backends/Makefile.am
---- NetworkManager-0.6.5.orig/src/backends/Makefile.am	2007-07-23 19:44:13.000000000 +0200
-+++ NetworkManager-0.6.5/src/backends/Makefile.am	2007-07-23 20:12:37.000000000 +0200
-@@ -42,6 +42,12 @@
- libnmbackend_la_SOURCES +=	NetworkManagerArch.c
+ if test x"$with_distro" = xgentoo ; then
+ 	AC_ARG_WITH([mdns_provider],
+diff -urN NetworkManager-0.7rev3096/src/backends/Makefile.am NetworkManager-0.7rev3096.new/src/backends/Makefile.am
+--- NetworkManager-0.7rev3096/src/backends/Makefile.am	2007-11-20 11:06:21.000000000 +0100
++++ NetworkManager-0.7rev3096.new/src/backends/Makefile.am	2007-11-20 11:31:15.000000000 +0100
+@@ -53,6 +53,13 @@
+ libnmbackend_la_LIBADD += -lfwnetconfig -lfwutil
  endif
  
 +if TARGET_PLD
-+libnmbackend_la_SOURCES += NetworkManagerPLD.c \
-+	shvar.c \
-+	shvar.h
++libnmbackend_la_SOURCES +=	NetworkManagerPLD.c \
++				shvar.c					\
++				shvar.h
 +endif
 +
- libnmbackend_la_LIBADD = $(DBUS_LIBS) $(GTHREAD_LIBS)
++
+ libnmbackend_la_LIBADD += $(DBUS_LIBS) $(GTHREAD_LIBS)
  libnmbackend_la_CPPFLAGS =	$(DBUS_CFLAGS)				\
  					$(GTHREAD_CFLAGS)				\
-diff -urN NetworkManager-0.6.5.orig/src/backends/NetworkManagerPLD.c NetworkManager-0.6.5/src/backends/NetworkManagerPLD.c
---- NetworkManager-0.6.5.orig/src/backends/NetworkManagerPLD.c	1970-01-01 01:00:00.000000000 +0100
-+++ NetworkManager-0.6.5/src/backends/NetworkManagerPLD.c	2007-10-29 23:09:06.000000000 +0100
-@@ -0,0 +1,694 @@
+diff -urN NetworkManager-0.7rev3096/src/backends/NetworkManagerPLD.c NetworkManager-0.7rev3096.new/src/backends/NetworkManagerPLD.c
+--- NetworkManager-0.7rev3096/src/backends/NetworkManagerPLD.c	1970-01-01 01:00:00.000000000 +0100
++++ NetworkManager-0.7rev3096.new/src/backends/NetworkManagerPLD.c	2007-11-21 19:53:52.000000000 +0100
+@@ -0,0 +1,576 @@
 +/* NetworkManager -- Network link manager
 + *
 + * Narayan Newton <narayan_newton at yahoo.com>
@@ -63,15 +81,22 @@
 + * (C) Copyright 2007 Marcin Banasiak <megabajt at pld-linux.org>
 + */
 +
++#ifdef HAVE_CONFIG_H
++#include <config.h>
++#endif
++
 +#include <stdio.h>
 +#include <sys/types.h>
 +#include <signal.h>
++#include <arpa/inet.h>
++#include "NetworkManagerGeneric.h"
 +#include "NetworkManagerSystem.h"
 +#include "NetworkManagerUtils.h"
 +#include "nm-device.h"
 +#include "nm-device-802-3-ethernet.h"
 +#include "nm-device-802-11-wireless.h"
 +#include "nm-utils.h"
++
 +#include "shvar.h"
 +
 +/*
@@ -82,8 +107,7 @@
 + */
 +void nm_system_init (void)
 +{
-+	/* Kill any dhclients lying around */
-+        nm_system_kill_all_dhcp_daemons();
++	nm_generic_init ();
 +}
 +
 +/*
@@ -94,13 +118,7 @@
 + */
 +void nm_system_device_flush_routes (NMDevice *dev)
 +{
-+	g_return_if_fail (dev != NULL);
-+
-+	/* Not really applicable for test devices */
-+	if (nm_device_is_test_device (dev))
-+		return;
-+
-+	nm_system_device_flush_routes_with_iface (nm_device_get_iface (dev));
++	nm_generic_device_flush_routes (dev);
 +}
 +
 +/*
@@ -111,14 +129,52 @@
 + */
 +void nm_system_device_flush_routes_with_iface (const char *iface)
 +{
-+	char    *buf;
++	nm_generic_device_flush_routes_with_iface (iface);
++}
 +
-+	g_return_if_fail (iface != NULL);
++/*
++ * nm_system_device_add_default_route_via_device
++ *
++ * Add default route to the given device
++ *
++ */
++void nm_system_device_add_default_route_via_device (NMDevice *dev)
++{
++	nm_generic_device_add_default_route_via_device (dev);
++}
 +
-+	/* Remove routing table entries */
-+	buf = g_strdup_printf (IP_BINARY_PATH" route flush dev %s", iface);
-+	nm_spawn_process (buf);
-+	g_free (buf);
++/*
++ * nm_system_device_add_default_route_via_device_with_iface
++ *
++ * Add default route to the given device
++ *
++ */
++void nm_system_device_add_default_route_via_device_with_iface (const char *iface)
++{
++	nm_generic_device_add_default_route_via_device_with_iface (iface);
++}
++
++/*
++ * nm_system_device_add_route_via_device_with_iface
++ *
++ * Add route to the given device
++ *
++ */
++void nm_system_device_add_route_via_device_with_iface (const char *iface, const char *route)
++{
++	nm_generic_device_add_route_via_device_with_iface (iface, route);
++}
++
++/*
++ * nm_system_device_has_active_routes
++ *
++ * Find out whether the specified device has any routes in the routing
++ * table.
++ *
++ */
++gboolean nm_system_device_has_active_routes (NMDevice *dev)
++{
++	return FALSE;
 +}
 +
 +/*
@@ -129,113 +185,117 @@
 + */
 +void nm_system_device_flush_addresses (NMDevice *dev)
 +{
-+	g_return_if_fail (dev != NULL);
-+
-+	/* Not really applicable for test devices */
-+	if (nm_device_is_test_device (dev))
-+		return;
-+	nm_system_device_flush_addresses_with_iface (nm_device_get_iface (dev));
++	nm_generic_device_flush_addresses (dev);
 +}
 +
 +/*
-+ *  nm_system_device_flush_addresses_with_iface
++ * nm_system_device_flush_addresses_with_iface
 + *
-+ *  Flush all network addresses associated with a network device
++ * Flush all network addresses associated with a network device
 + *
 + */
 +void nm_system_device_flush_addresses_with_iface (const char *iface)
 +{
-+	char    *buf;
-+
-+	g_return_if_fail (iface != NULL);
-+
-+	/* Remove all IP addresses for a device */
-+	buf = g_strdup_printf (IP_BINARY_PATH" addr flush dev %s", iface);
-+	nm_spawn_process (buf);
-+	g_free (buf);
++	nm_generic_device_flush_addresses_with_iface (iface);
 +}
 +
-+typedef struct PLDSystemConfigData
++/*
++ * nm_system_enable_loopback
++ *
++ * Bring up the loopback interface
++ *
++ */
++void nm_system_enable_loopback (void)
 +{
-+	NMIP4Config	*config;
-+	gboolean	use_dhcp;
-+} PLDSystemConfigData;
++	nm_generic_enable_loopback ();
++}
 +
 +/*
-+ * set_ip4_config_from_resolv_conf
++ * nm_system_flush_loopback_routes
 + *
-+ * Add nameservers and search names from a resolv.conf format file.
++ * Flush all routes associated with the loopback device, because it
++ * sometimes gets the first route for ZeroConf/Link-Local traffic.
 + *
 + */
-+static void set_ip4_config_from_resolv_conf (const char *filename, NMIP4Config *ip4_config)
++void nm_system_flush_loopback_routes (void)
 +{
-+	char *contents = NULL;
-+	char **split_contents = NULL;
-+	int i, len;
-+
-+	g_return_if_fail (filename != NULL);
-+	g_return_if_fail (ip4_config != NULL);
-+
-+	if (!g_file_get_contents (filename, &contents, NULL, NULL) || (contents == NULL))
-+		return;
-+
-+	if (!(split_contents = g_strsplit (contents, "\n", 0)))
-+		goto out;
-+
-+	len = g_strv_length (split_contents);
-+	for (i = 0; i < len; i++)
-+	{
-+		char *line = split_contents[i];
-+
-+		/* Ignore comments */
-+		if (!line || (line[0] == ';') || (line[0] == '#'))
-+			continue;
-+
-+		line = g_strstrip (line);
-+		if ((strncmp (line, "search", 6) == 0) && (strlen (line) > 6))
-+		{
-+			char *searches = g_strdup (line + 7);
-+			char **split_searches = NULL;
-+
-+			if (!searches || !strlen (searches))
-+				continue;
++	nm_generic_flush_loopback_routes ();
++}
 +
-+			/* Allow space-separated search domains */
-+			if ((split_searches = g_strsplit (searches, " ", 0)))
-+			{
-+				int m, srch_len;
++/*
++ * nm_system_delete_default_route
++ *
++ * Remove the old default route in preparation for a new one
++ *
++ */
++void nm_system_delete_default_route (void)
++{
++	nm_generic_delete_default_route ();
++}
 +
-+				srch_len = g_strv_length (split_searches);
-+				for (m = 0; m < srch_len; m++)
-+				{
-+					if (split_searches[m])
-+						nm_ip4_config_add_domain	(ip4_config, split_searches[m]);
-+				}
-+				g_strfreev (split_searches);
-+			}
-+			else
-+			{
-+				/* Only 1 item, add the whole line */
-+				nm_ip4_config_add_domain	(ip4_config, searches);
-+			}
++/*
++ * nm_system_flush_arp_cache
++ *
++ * Flush all entries in the arp cache.
++ *
++ */
++void nm_system_flush_arp_cache (void)
++{
++	nm_generic_flush_arp_cache ();
++}
 +
-+			g_free (searches);
-+		}
-+		else if ((strncmp (line, "nameserver", 10) == 0) && (strlen (line) > 10))
-+		{
-+			guint32 addr = (guint32) (inet_addr (line + 11));
++/*
++ * nm_system_kill_all_dhcp_daemons
++ *
++ * Kill all DHCP daemons currently running, done at startup.
++ *
++ */
++void nm_system_kill_all_dhcp_daemons (void)
++{
++	nm_spawn_process ("/bin/killall -q dhclient");
++}
 +
-+			if (addr != (guint32) -1)
-+				nm_ip4_config_add_nameserver (ip4_config, addr);
-+		}
-+	}
++/*
++ * nm_system_update_dns
++ *
++ * Invalidate the nscd host cache, if it exists, since
++ * we changed resolv.conf.
++ *
++ */
++void nm_system_update_dns (void)
++{
++	/* Not implemented */
++}
 +
-+	g_strfreev (split_contents);
++/*
++ * nm_system_restart_mdns_responder
++ *
++ * Restart the multicast DNS responder so that it knows about new
++ * network interfaces and IP addresses.
++ *
++ */
++void nm_system_restart_mdns_responder (void)
++{
++	/* Not implemented */
++}
 +
-+out:
-+	g_free (contents);
++/*
++ * nm_system_device_add_ip6_link_address
++ *
++ * Add a default link-local IPv6 address to a device.
++ *
++ */
++void nm_system_device_add_ip6_link_address (NMDevice *dev)
++{
++	nm_generic_device_add_ip6_link_address (dev);
 +}
 +
++typedef struct PLDSystemConfigData
++{
++	NMIP4Config	*config;
++	gboolean	use_dhcp;
++} PLDSystemConfigData;
++
 +/*
 + * nm_system_device_get_system_config
 + *
@@ -244,7 +304,7 @@
 + * info before setting stuff too.
 + *
 + */
-+void *nm_system_device_get_system_config (NMDevice *dev, NMData *app_data)
++void *nm_system_device_get_system_config (NMDevice *dev)
 +{
 +	char			*cfg_file_path = NULL;
 +	shvarFile		*file, *gateway_file;
@@ -262,7 +322,9 @@
 +
 +	sys_data = g_malloc0 (sizeof (PLDSystemConfigData));
 +	sys_data->use_dhcp = TRUE;
-+
++	
++	nm_debug("SYS: dev %s", nm_device_get_iface(dev));
++	
 +	cfg_file_path = g_strdup_printf (SYSCONFDIR"/sysconfig/interfaces/ifcfg-%s", nm_device_get_iface (dev));
 +	if (!cfg_file_path)
 +		return sys_data;
@@ -414,7 +476,7 @@
 +	/* If we're using Static IP, grab DNS servers from the config file */
 +	if (!sys_data->use_dhcp)
 +	{
-+		set_ip4_config_from_resolv_conf (SYSCONFDIR"/resolv.conf", sys_data->config);
++		nm_generic_set_ip4_config_from_resolv_conf (SYSCONFDIR"/resolv.conf", sys_data->config);
 +	}
 +
 +out:
@@ -424,7 +486,7 @@
 +	{
 +		sys_data->use_dhcp = TRUE;
 +		/* Clear out the config */
-+		nm_ip4_config_unref (sys_data->config);
++		g_object_unref (sys_data->config);
 +		sys_data->config = NULL;
 +	}
 +
@@ -432,177 +494,66 @@
 +}
 +
 +/*
-+ * nm_system_device_has_active_routes
-+ *
-+ * Find out whether the specified device has any routes in the routing
-+ * table.
-+ *
-+ */
-+gboolean nm_system_device_has_active_routes (NMDevice *dev)
-+{
-+	return FALSE;
-+}
-+
-+/*
-+ * nm_system_enable_loopback
-+ *
-+ * Bring up the loopback interface
-+ *
-+ */
-+void nm_system_enable_loopback (void)
-+{
-+	nm_system_device_set_up_down_with_iface ("lo", TRUE);
-+	nm_spawn_process (IP_BINARY_PATH" addr add 127.0.0.1/8 brd 127.255.255.255 dev lo scope host label loopback");
-+}
-+
-+/*
-+ * nm_system_delete_default_route
-+ *
-+ * Remove the old default route in preparation for a new one
-+ *
-+ */
-+void nm_system_delete_default_route (void)
-+{
-+	nm_spawn_process (IP_BINARY_PATH" route del default");
-+}
-+
-+/*
-+ * nm_system_kill_all_dhcp_daemons
-+ *
-+ * Kill all DHCP daemons currently running, done at startup.
-+ *
-+ */
-+void nm_system_kill_all_dhcp_daemons (void)
-+{
-+	nm_spawn_process ("/bin/killall -q dhclient");
-+}
-+
-+/*
-+ * nm_system_update_dns
-+ *
-+ * Make glibc/nscd aware of any changes to the resolv.conf file by
-+ * restarting nscd.
-+ *
-+ */
-+void nm_system_update_dns (void)
-+{
-+	/* I'm not running nscd */
-+}
-+
-+/*
-+ * nm_system_restart_mdns_responder
-+ *
-+ * Restart the multicast DNS responder so that it knows about new
-+ * network interfaces and IP addresses.
-+ *
-+ */
-+void nm_system_restart_mdns_responder (void)
-+{
-+	/* not implemented */
-+}
-+
-+/*
-+ * nm_system_device_add_ip6_link_address
-+ *
-+ * Add a default link-local IPv6 address to a device.
-+ *
-+ */
-+void nm_system_device_add_ip6_link_address (NMDevice *dev)
-+{
-+	char *buf;
-+	struct ether_addr hw_addr;
-+	unsigned char eui[8];
-+
-+	nm_device_get_hw_address (dev, &hw_addr);
-+	memcpy (eui, &(hw_addr.ether_addr_octet), sizeof (hw_addr.ether_addr_octet));
-+	memmove (eui+5, eui+3, 3);
-+	eui[3] = 0xff;
-+	eui[4] = 0xfe;
-+	eui[0] ^= 2;
-+
-+	/* Add the default link-local IPv6 address to a device */
-+	buf = g_strdup_printf (IP_BINARY_PATH" -6 addr add fe80::%x%02x:%x%02x:%x%02x:%x%02x/64 dev %s",
-+					eui[0], eui[1], eui[2], eui[3], eui[4], eui[5],
-+					eui[6], eui[7], nm_device_get_iface (dev));
-+	nm_spawn_process (buf);
-+	g_free (buf);
-+}
-+
-+/*
-+ * nm_system_device_add_route_via_device_with_iface
++ * nm_system_device_free_system_config
 + *
-+ * Add route to the given device
++ * Free stored system config data
 + *
 + */
-+void nm_system_device_add_route_via_device_with_iface (const char *iface, const char *route)
++void nm_system_device_free_system_config (NMDevice *dev, void *system_config_data)
 +{
-+	char    *buf;
-+
-+	g_return_if_fail (iface != NULL);
-+
-+	/* Add default gateway */
-+	buf = g_strdup_printf (IP_BINARY_PATH" route add %s dev %s", route, iface);
-+	nm_spawn_process (buf);
-+	g_free (buf);
++	PLDSystemConfigData *sys_data = (PLDSystemConfigData *)system_config_data;
++	
++	g_return_if_fail (dev != NULL);
++	    
++	if (!sys_data)
++		return;
++	
++	if (sys_data->config)
++		g_object_unref (sys_data->config);
 +}
 +
 +/*
-+ * nm_system_device_add_default_route_via_device
++ * nm_system_device_get_use_dhcp
 + *
-+ * Flush all routes associated with a network device
++ * Return whether the distro-specific system config tells us to use
++ * dhcp for this device.
 + *
 + */
-+void nm_system_device_add_default_route_via_device (NMDevice *dev)
-+{
-+	g_return_if_fail (dev != NULL);
-+
-+	/* Not really applicable for test devices */
-+	if (nm_device_is_test_device (dev))
-+		return;
-+
-+	nm_system_device_add_default_route_via_device_with_iface (nm_device_get_iface (dev));
-+}
-+
-+/*
-+ *  * nm_system_device_add_default_route_via_device_with_iface
-+ *   *
-+ *    * Add default route to the given device
-+ *     *
-+ *      */
-+void nm_system_device_add_default_route_via_device_with_iface (const char *iface)
++gboolean nm_system_device_get_use_dhcp (NMDevice *dev)
 +{
-+	char    *buf;
-+
<<Diff was trimmed, longer than 597 lines>>

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SOURCES/NetworkManager-pld.patch?r1=1.8&r2=1.8.2.1&f=u



More information about the pld-cvs-commit mailing list