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