diff options
author | MacRoot <root@mac> | 2013-01-12 18:49:53 +0100 |
---|---|---|
committer | MacRoot <root@mac> | 2013-01-12 18:49:53 +0100 |
commit | 5e541879abdbb36c4532db55b3615bc40042d1b6 (patch) | |
tree | a93b629e8d40c5b1ede0334bf8a80319742c529d /net-misc | |
parent | Added local ebuilds from Aug 2007 - Feb 2012 (diff) | |
download | AstroFloyd-5e541879abdbb36c4532db55b3615bc40042d1b6.tar.gz AstroFloyd-5e541879abdbb36c4532db55b3615bc40042d1b6.tar.bz2 AstroFloyd-5e541879abdbb36c4532db55b3615bc40042d1b6.zip |
Added all files to git repo
Diffstat (limited to 'net-misc')
9 files changed, 991 insertions, 0 deletions
diff --git a/net-misc/networkmanager/ChangeLog b/net-misc/networkmanager/ChangeLog new file mode 100644 index 0000000..c9a5ca5 --- /dev/null +++ b/net-misc/networkmanager/ChangeLog @@ -0,0 +1,197 @@ +# ChangeLog for net-misc/networkmanager +# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/net-misc/networkmanager/ChangeLog,v 1.33 2008/08/17 16:16:38 maekke Exp $ + + 17 Aug 2008; Markus Meier <maekke@gentoo.org> networkmanager-0.6.6.ebuild: + x86 stable, bug #228837 + + 28 Jul 2008; Kenneth Prugh <ken69267@gentoo.org> + networkmanager-0.6.6.ebuild: + amd64 stable, bug #228837. Removed unused autotools inherit. + + 26 Jun 2008; Robert Buchholz <rbu@gentoo.org> + networkmanager-0.6.5_p20070823.ebuild, + -networkmanager-0.6.5_p20080205.ebuild, networkmanager-0.6.6.ebuild: + Readd ~ppc which was dropped due to >=hal-0.5.10 dependency, and remove old + version. Block latest version of libnl (bug #223381). + + 07 Mar 2008; Steev Klimaszewski <steev@gentoo.org> + -files/NM-po-linguas.patch, -networkmanager-0.6.5.98.ebuild, + +networkmanager-0.6.6.ebuild: + Remove the patches that 0.6.5.98 were using + +*networkmanager-0.6.6 (07 Mar 2008) + + 07 Mar 2008; Steev Klimaszewski <steev@gentoo.org> + -networkmanager-0.6.5.98.ebuild, +networkmanager-0.6.6.ebuild: + New upstream release. Unmentioned changes in the release notes include the + updated backend being committed for Gentoo, as well as new init scripts from + compnerd. + +*networkmanager-0.6.5.98 (14 Feb 2008) + + 14 Feb 2008; Steev Klimaszewski <steev@gentoo.org> + +files/NM-po-linguas.patch, +networkmanager-0.6.5.98.ebuild: + Add 0.6.5.98 (aka 0.6.6rc1) to the tree, include patch from Debian to use + po/LINGUAS. + + 14 Feb 2008; Steev Klimaszewski <steev@gentoo.org> + networkmanager-0.6.5_p20070823.ebuild, + networkmanager-0.6.5_p20080205.ebuild: + Fix the libnotify dependency, this is unneeded in NetworkManager as the + graphical bits have been split out. + +*networkmanager-0.6.5_p20080205 (10 Feb 2008) + + 10 Feb 2008; Steev Klimaszewski <steev@gentoo.org> + -networkmanager-0.6.5_p20080130.ebuild, + +networkmanager-0.6.5_p20080205.ebuild: + Bump NetworkManager snapshot + + 04 Feb 2008; Steev Klimaszewski <steev@gentoo.org> + networkmanager-0.6.5_p20070823.ebuild: + Update the dependency to be 1.0_pre6* not just 1.0_pre6. + + 02 Feb 2008; Steev Klimaszewski <steev@gentoo.org> + +files/NetworkManagerDispatcher, networkmanager-0.6.5_p20080130.ebuild: + Add NetworkManagerDispatcher init script for the latest snapshot + +*networkmanager-0.6.5_p20080130 (02 Feb 2008) + + 02 Feb 2008; Steev Klimaszewski <steev@gentoo.org> + -files/networkmanager-0.6.4-Gentoo-checklo.patch, + -files/networkmanager-0.6.4-confchanges.patch, + -files/networkmanager-0.6.4-dbus-1.patch, + -files/networkmanager-0.6.4-gentooinitscript.patch, + -networkmanager-0.6.4_pre20061028.ebuild, + -networkmanager-0.6.4_pre20061028-r1.ebuild, -networkmanager-0.6.5.ebuild, + networkmanager-0.6.5_p20070823.ebuild, + +networkmanager-0.6.5_p20080130.ebuild: + Remove old versions of NetworkManager and add a bump that works with libnl 1.1 + + 25 Dec 2007; Christian Heim <phreak@gentoo.org> metadata.xml: + Removing metalgod from metadata.xml as per #99350. + + 16 Sep 2007; Markus Meier <maekke@gentoo.org> + networkmanager-0.6.5_p20070823.ebuild: + x86 stable, bug #191302 + + 08 Sep 2007; Joseph Jezak <josejx@gentoo.org> + networkmanager-0.6.5_p20070823.ebuild: + Marked ppc stable for bug #191302. + + 05 Sep 2007; Robert Buchholz <rbu@gentoo.org> + networkmanager-0.6.5_p20070823.ebuild: + Add die with iproute minimal build (bug #190046) + + 05 Sep 2007; Wulf C. Krueger <philantrop@gentoo.org> + networkmanager-0.6.5_p20070823.ebuild: + Marked stable on amd64 as per bug 191302 to make sure stable systems + actually work. + + 28 Aug 2007; nixnut <nixnut@gentoo.org> networkmanager-0.6.5.ebuild: + Stable on ppc wrt bug 189781 + + 26 Aug 2007; Wulf C. Krueger <philantrop@gentoo.org> + networkmanager-0.6.5.ebuild: + Marked stable on amd64 as per bug 189781. + + 24 Aug 2007; Christian Faulhammer <opfer@gentoo.org> + networkmanager-0.6.5.ebuild: + stable x86, bug 189781 + +*networkmanager-0.6.5_p20070823 (23 Aug 2007) + + 23 Aug 2007; Robert Buchholz <rbu@gentoo.org> metadata.xml, + +networkmanager-0.6.5_p20070823.ebuild: + Version bump to a current 0.6 branch state, adding myself to metadata + + 15 May 2007; Thilo Bangert <bangert@gentoo.org> metadata.xml: + add <herd>no-herd</herd> + + 14 May 2007; Steev Klimaszewski <steev@gentoo.org> + networkmanager-0.6.5.ebuild: + Fix homepage url, fixes bug #178101. Thanks to Pacho Ramos for reporting + + 11 May 2007; Gustavo Zacarias <gustavoz@gentoo.org> + networkmanager-0.6.5.ebuild: + Keyworded ~ppc + + 03 May 2007; Steev Klimaszewski <steev@gentoo.org> + networkmanager-0.6.5.ebuild: + Add use_with gnome to G2CONF. Fixes bug #176867, thanks to Ingmar Vanhassel + <ingmar.vanhassel@gmail.com> for reporting + +*networkmanager-0.6.5 (02 May 2007) + + 02 May 2007; Steev Klimaszewski <steev@gentoo.org> + +files/networkmanager-0.6.5-confchanges.patch, + +networkmanager-0.6.5.ebuild: + New upstream release of NetworkManager. + + 26 Jan 2007; Mart Raudsepp <leio@gentoo.org> + networkmanager-0.6.4_pre20061028.ebuild, + networkmanager-0.6.4_pre20061028-r1.ebuild: + Really fix gnome and gcrypt use on configure + + 14 Jan 2007; Markus Rothe <corsair@gentoo.org> + networkmanager-0.6.4_pre20061028-r1.ebuild: + Added ~ppc and ~ppc64 + + 05 Jan 2007; Diego Pettenò <flameeyes@gentoo.org> + networkmanager-0.6.4_pre20061028.ebuild, + networkmanager-0.6.4_pre20061028-r1.ebuild: + Remove debug.eclass usage. + + 06 Dec 2006; Steev Klimaszewski <steev@gentoo.org> + +files/networkmanager-0.6.4-dbus-1.patch, + networkmanager-0.6.4_pre20061028-r1.ebuild: + Add patch from the NetworkManager mailing list to fix compilation against + D-Bus 1.x. Fixes bug #155279. Thanks to Priit Laes for reporting. + + 04 Dec 2006; Luis Medinas <metalgod@gentoo.org> + networkmanager-0.6.4_pre20061028.ebuild, + networkmanager-0.6.4_pre20061028-r1.ebuild: + Fix gnome use on configure. Closes bug #155192. + +*networkmanager-0.6.4_pre20061028-r1 (26 Nov 2006) + + 26 Nov 2006; Luis Medinas <metalgod@gentoo.org> + +files/networkmanager-updatedbackend.patch, + +networkmanager-0.6.4_pre20061028-r1.ebuild: + Added a patch with Gentoo backend updated done by Nathan Caldwell + <saintdev@gmail.com>. Please test the backend and report any bug. + + 05 Nov 2006; Steev Klimaszewski <steev@gentoo.org> + networkmanager-0.6.4_pre20061028.ebuild: + Fix the names of patches since epkgmove apparently renamed the patches as + well. + +*networkmanager-0.6.4_pre20061028 (05 Nov 2006) + + 05 Nov 2006; Steev Klimaszewski <steev@gentoo.org> + +files/networkmanager-0.6.4-Gentoo-checklo.patch, + +files/networkmanager-0.6.4-confchanges.patch, + +files/networkmanager-0.6.4-gentooinitscript.patch, + +files/networkmanager-resolvconf-perms.patch, + +files/networkmanager-use-kernel-headers.patch, +metadata.xml, + +networkmanager-0.6.4_pre20061028.ebuild: + Moved from net-misc/NetworkManager to net-misc/networkmanager. + + 04 Nov 2006; Luis Medinas <metalgod@gentoo.org> + NetworkManager-0.6.4_pre20061028.ebuild: + Remove pam_console from dependencies since our patch makes it work with + hal/dbus instead of pam_console. + +*NetworkManager-0.6.4_pre20061028 (31 Oct 2006) + + 31 Oct 2006; Luis Medinas <metalgod@gentoo.org> + +files/NetworkManager-0.6.4-Gentoo-checklo.patch, + +files/NetworkManager-0.6.4-confchanges.patch, + +files/NetworkManager-0.6.4-gentooinitscript.patch, + +files/NetworkManager-resolvconf-perms.patch, + +files/NetworkManager-use-kernel-headers.patch, +metadata.xml, + +NetworkManager-0.6.4_pre20061028.ebuild: + Initial import. This ebuild was made by Luis Medinas <metalgod@gentoo.org> + and Stephen Klimaszewski <steev@gentoo.org>. + diff --git a/net-misc/networkmanager/Manifest b/net-misc/networkmanager/Manifest new file mode 100644 index 0000000..9998884 --- /dev/null +++ b/net-misc/networkmanager/Manifest @@ -0,0 +1,10 @@ +AUX NetworkManagerDispatcher 1198 RMD160 4345870ab40607b9aed80c8da383b604f032b98e SHA1 1dd2250c746b25566fceaab551f4ef8335fe4f55 SHA256 f8cb5d0470619cf1f0812fffcf1bf2091e3c44a757899c07164f80ddd6a2641e +AUX networkmanager-0.6.5-confchanges.patch 1053 RMD160 ae76d5c029090848a9264e7559aaab90e7f3c084 SHA1 4847532aa15316a1a45e8667cd7947b514a1833f SHA256 bf3418ccbf8643d14b0413cf7a9d25290003d4443a7a051bb54f953aebede84f +AUX networkmanager-memoryleak_MvdS.patch 589 RMD160 699c041dfa6a5a5d94f3c7c43520bc9cdfef9b3c SHA1 42f01e9c6a2722f29db9ae21bbb5a1a43e341df4 SHA256 d160cf690d61224bbf9b7668f4c83f6c5b56ee2ef292c94e6b759b70b6274836 +AUX networkmanager-resolvconf-perms.patch 532 RMD160 453ce19560e1872d1da1fa48e0c9a365025e6b1b SHA1 a81be4e9c9bac854e092b82529c4ae2c12cdf91c SHA256 e1786f34a75d2e0a27ceccb960cf975176260886f70cc3e9b172180f8a1d2e6e +AUX networkmanager-updatedbackend.patch 17700 RMD160 685132b4a98843416264f06c480ff205fa87f789 SHA1 a83d2b0ea7e4a563af3d14567ba1da3605fbf654 SHA256 ee4a1583db867fd6a1851a9dd243401166f29ee9d00ad6e03e5b677915e5bf43 +AUX networkmanager-use-kernel-headers.patch 466 RMD160 cd16279966d4e3594a20aa0b89d08f3baa3c2e58 SHA1 a9e269c9021888ca058b9fb72f9a71dc25a7488b SHA256 952948f41676fafcf76210cbef46728cbb219d6c851d5417d892b984fd725402 +DIST NetworkManager-0.6.6.tar.gz 984114 RMD160 f0672ee31001f83b06f6b93c30a01f37ee12ed6e SHA1 c5d0bcf7d262e1b600df6dad9f6f4baada293634 SHA256 36d48a11957e1c4f53a685b0fcc7d060e8972b435501c92b10737bb844dd95e2 +EBUILD networkmanager-0.6.6-r01.ebuild 2922 RMD160 078937e404ef8a7b9514bbd5f9de69767835490a SHA1 053a9817070241b9deaf1831c9209225bf5c27b4 SHA256 8b6a77bc80b6fbad1b371706111e460fbbc105aa951d663bfa486c75e7b8aca2 +MISC ChangeLog 7652 RMD160 b513c7f896b3b3be1f2faf0d7cefdf495aacb153 SHA1 0a30614cb5070a123e60084741258086230361b0 SHA256 5044837b5172885dd804ad98dde6aa1c1bbe7420a63c66cf54a4bec55572cb60 +MISC metadata.xml 352 RMD160 dc1d33b6866b7a51fd60cc8508668cb80ccdf797 SHA1 401add51065c746c71da8b5992874c0556cedc04 SHA256 c5b303e6d5dbe90d34284c51a1c7ea8015e87c41d6f63446a1bf7ba5daf0d26d diff --git a/net-misc/networkmanager/files/NetworkManagerDispatcher b/net-misc/networkmanager/files/NetworkManagerDispatcher new file mode 100644 index 0000000..24aa37b --- /dev/null +++ b/net-misc/networkmanager/files/NetworkManagerDispatcher @@ -0,0 +1,48 @@ +#!/sbin/runscript +# +# NetworkManagerDispatcher: NetworkManagerDispatcher daemon +# +# chkconfig: 345 98 02 +# description: This is a daemon for automatically executing certain +# actions, when switching networks +# +# processname: NetworkManagerDispatcher +# pidfile: /var/run/NetworkManagerDispatcher.pid + +prefix=/usr +exec_prefix=/usr +sbindir=${exec_prefix}/sbin + +NETWORKMANAGERDISPATCHER_BIN=${sbindir}/NetworkManagerDispatcher + +# Sanity checks. +[ -x $NETWORKMANAGERDISPATCHER_BIN ] || exit 0 + +# so we can rearrange this easily +processname=$NETWORKMANAGERDISPATCHER_BIN +pidfile=/var/run/NetworkManagerDispatcher.pid + +depend() { + need NetworkManager +} + +start() +{ + if [ -e ${pidfile} ]; then + rm -f ${pidfile} + fi + ebegin "Starting NetworkManagerDispatcher" + start-stop-daemon --start --quiet --exec ${processname} + eend $? + echo $(/bin/pidof NetworkManagerDispatcher) > ${pidfile} +} + +stop() +{ + ebegin "Stopping NetworkManagerDispatcher" + start-stop-daemon --stop --quiet --exec ${processname} --pidfile ${pidfile} + eend $? + if [ -e ${pidfile} ]; then + rm -f $pidfile + fi +} diff --git a/net-misc/networkmanager/files/networkmanager-0.6.5-confchanges.patch b/net-misc/networkmanager/files/networkmanager-0.6.5-confchanges.patch new file mode 100644 index 0000000..8969cda --- /dev/null +++ b/net-misc/networkmanager/files/networkmanager-0.6.5-confchanges.patch @@ -0,0 +1,21 @@ +--- src/NetworkManager.conf.orig 2006-10-28 04:43:50.426682976 +0100 ++++ src/NetworkManager.conf 2006-10-28 04:44:36.883620448 +0100 +@@ -8,14 +8,14 @@ + <allow send_destination="org.freedesktop.NetworkManager"/> + <allow send_interface="org.freedesktop.NetworkManager"/> + </policy> +- <policy at_console="true"> ++ <policy group="plugdev"> + <allow send_destination="org.freedesktop.NetworkManager"/> + <allow send_interface="org.freedesktop.NetworkManager"/> + </policy> + <policy context="default"> +- <deny own="org.freedesktop.NetworkManager"/> +- <deny send_destination="org.freedesktop.NetworkManager"/> +- <deny send_interface="org.freedesktop.NetworkManager"/> ++ <allow own="org.freedesktop.NetworkManager"/> ++ <allow send_destination="org.freedesktop.NetworkManager"/> ++ <allow send_interface="org.freedesktop.NetworkManager"/> + </policy> + </busconfig> + diff --git a/net-misc/networkmanager/files/networkmanager-memoryleak_MvdS.patch b/net-misc/networkmanager/files/networkmanager-memoryleak_MvdS.patch new file mode 100644 index 0000000..c4a753e --- /dev/null +++ b/net-misc/networkmanager/files/networkmanager-memoryleak_MvdS.patch @@ -0,0 +1,14 @@ +Index: NetworkManager-0.6.6/src/nm-dbus-net.c +=================================================================== +--- NetworkManager-0.6.6.orig/src/nm-dbus-net.c ++++ NetworkManager-0.6.6/src/nm-dbus-net.c +@@ -70,6 +70,9 @@ static NMAccessPoint *nm_dbus_get_ap_fro + compare_path = g_strdup_printf ("%s/%s/Networks/%s", + NM_DBUS_PATH_DEVICES, escaped_dev, escaped_ssid); + ++ g_free(escaped_dev); ++ g_free(escaped_ssid); ++ + len = strlen (compare_path); + if (strncmp (path, compare_path, len) == 0) { + /* Differentiate between 'foo' and 'foo-a' */ diff --git a/net-misc/networkmanager/files/networkmanager-resolvconf-perms.patch b/net-misc/networkmanager/files/networkmanager-resolvconf-perms.patch new file mode 100644 index 0000000..a76c419 --- /dev/null +++ b/net-misc/networkmanager/files/networkmanager-resolvconf-perms.patch @@ -0,0 +1,19 @@ +--- src/named-manager/nm-named-manager.c.orig 2006-03-25 00:38:24.000000000 -0500 ++++ src/named-manager/nm-named-manager.c 2006-03-25 00:44:15.000000000 -0500 +@@ -31,6 +31,7 @@ + #include <resolv.h> + #include <sys/socket.h> + #include <sys/types.h> ++#include <sys/stat.h> + #include <arpa/inet.h> + #include <syslog.h> + #include <glib.h> +@@ -396,6 +397,8 @@ + if (rename (tmp_resolv_conf, RESOLV_CONF) < 0) + goto lose; + nm_system_update_dns (); ++ ++ chmod(RESOLV_CONF, S_IREAD | S_IWRITE | S_IRGRP | S_IROTH); + return TRUE; + + lose: diff --git a/net-misc/networkmanager/files/networkmanager-updatedbackend.patch b/net-misc/networkmanager/files/networkmanager-updatedbackend.patch new file mode 100644 index 0000000..767284a --- /dev/null +++ b/net-misc/networkmanager/files/networkmanager-updatedbackend.patch @@ -0,0 +1,657 @@ +Index: NetworkManager/trunk/src/backends/NetworkManagerGentoo.c +=================================================================== +--- NetworkManagerGentoo.c (revision 15) ++++ NetworkManagerGentoo.c (revision 38) +@@ -1,2 +1,3 @@ ++ + /* NetworkManager -- Network link manager + * +@@ -250,8 +251,20 @@ + */ + void nm_system_restart_mdns_responder (void) +-{ +- nm_spawn_process("/etc/init.d/mDNSResponder stop"); +- nm_spawn_process("/etc/init.d/mDNSResponder zap"); +- nm_spawn_process("/etc/init.d/mDNSResponder start"); ++{ ++ /* Check if the daemon was already running - do not start a new instance */ ++ /* Howl */ ++ if (g_file_test("/var/run/mDNSResponder.pid", G_FILE_TEST_EXISTS)) ++ { ++ nm_info("Restarting mDNSResponder"); ++ nm_spawn_process("/etc/init.d/mDNSResponder stop"); ++ nm_spawn_process("/etc/init.d/mDNSResponder zap"); ++ nm_spawn_process("/etc/init.d/mDNSResponder start"); ++ } ++ /* Apple's mDNSResponder */ ++ if (g_file_test("/var/run/mDNSResponderPosix.pid", G_FILE_TEST_EXISTS)) ++ { ++ nm_info("Restarting mDNSResponderPosix"); ++ nm_spawn_process("/etc/init.d/mDNSResponderPosix restart"); ++ } + } + +@@ -266,5 +279,4 @@ + { + char *buf; +- char *addr; + struct ether_addr hw_addr; + unsigned char eui[8]; +@@ -288,4 +300,258 @@ + g_free(buf); + } ++/* Get the array associated with the key, and leave the current pointer ++ * pointing at the line containing the key. The char** returned MUST ++ * be freed by the caller. ++ */ ++gchar ** ++svGetArray(shvarFile *s, const char *key) ++{ ++ gchar **values = NULL, **lines, *line, *value; ++ GList *restore; ++ int len, strvlen, i, j; ++ ++ g_assert(s); ++ g_assert(key); ++ ++ /* Attempt to do things the easy way first */ ++ line = svGetValue(s, key); ++ if (!line) ++ return NULL; ++ ++ restore = s->current; ++ ++ g_strstrip(strtok(line, "#")); /* Remove comments and whitespace */ ++ ++ if (line[0] != '(') ++ { ++ /* This isn't an array, so pretend it's a one item array. */ ++ values = g_renew(char*, values, 2); ++ values[0] = line; ++ values[1] = NULL; ++ return values; ++ } ++ ++ while(!strrchr(line, ')')) ++ { ++ s->current = s->current->next; ++ value = g_strjoin(" ", line, g_strstrip(strtok(s->current->data, "#")), NULL); ++ g_free(line); ++ line = value; ++ value = NULL; ++ } ++ ++ lines = g_strsplit(line, "\"", 0); ++ ++ strvlen = g_strv_length(lines); ++ if (strvlen == 0) ++ { ++ /* didn't split, something's wrong */ ++ g_free(line); ++ return NULL; ++ } ++ ++ j = 0; ++ for (i = 0; i <= strvlen - 1; i++) ++ { ++ value = lines[i]; ++ len = strlen(g_strstrip(value)); ++ if ((value[0] == '(') || (value[0] == ')') || (len == 0)) ++ continue; ++ ++ values = g_renew(char*, values, j + 2); ++ values[j+1] = NULL; ++ values[j++] = g_strdup(value); ++ } ++ ++ g_free(line); ++ g_strfreev(lines); ++ s->current = restore; ++ ++ return values; ++} ++ ++/* ++* GentooReadConfig ++* ++* Most of this comes from the arch backend, no need to re-invent. ++* Read platform dependant config file and fill hash with relevant info ++*/ ++static GHashTable * GentooReadConfig(const char* dev) ++{ ++ GHashTable *ifs; ++ shvarFile *file; ++ int len, hits, i = 0; ++ guint32 maskval; ++ gchar buf[16], *value, *cidrprefix, *gateway; ++ gchar *config_str, *iface_str, *route_str, *mtu_str, *dnsserver_str, *dnssearch_str; /* Lookup keys */ ++ gchar **conf, **config = NULL, **routes = NULL; ++ struct in_addr mask; ++ ++ file = svNewFile(SYSCONFDIR"/conf.d/net"); ++ if (!file) ++ return NULL; ++ ++ ifs = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_free); ++ if (ifs == NULL) ++ { ++ nm_debug("Unable to create g_hash_table."); ++ svCloseFile(file); ++ return NULL; ++ } ++ ++ /* Keys we will use for lookups later */ ++ config_str = g_strdup_printf("config_%s", dev); ++ iface_str = g_strdup_printf("iface_%s", dev); ++ route_str = g_strdup_printf("routes_%s", dev); ++ mtu_str = g_strdup_printf("mtu_%s", dev); ++ dnsserver_str = g_strdup_printf("dns_servers_%s", dev); ++ dnssearch_str = g_strdup_printf("dns_search_%s", dev); ++ ++ ++ if ((config = svGetArray(file, iface_str))) ++ { ++ /* This isn't tested, (or supported, really) so hopefully it works */ ++ nm_info("You are using a deprecated configuration syntax for %s.", dev); ++ nm_info("You are advised to read /etc/conf.d/net.example and upgrade it accordingly."); ++ value = svGetValue(file, "gateway"); ++ if ((value) && (gateway = strstr(value, dev)) && strtok(gateway, "/")) ++ { ++ /* Is it possible to specify multiple gateways using this variable? */ ++ gateway = strtok(NULL, "/"); ++ routes = g_renew(char*, routes, 2); ++ routes[0] = g_strdup_printf("default via %s", gateway); ++ routes[1] = NULL; ++ g_free(value); ++ } ++ } ++ else ++ { ++ config = svGetArray(file, config_str); ++ routes = svGetArray(file, route_str); ++ } ++ ++ ++ if ((config) && g_ascii_strcasecmp(config[0], "dhcp")) ++ { ++ nm_debug("Found %s in %s.", config_str, SYSCONFDIR"/conf.d/net"); ++ ++ if (!g_ascii_strcasecmp(config[0], "null")) ++ { ++ nm_debug("Config disables device %s.", dev); ++ g_hash_table_insert(ifs, g_strdup("disabled"), g_strdup("true")); ++ } ++ else ++ { ++ /* TODO: Handle "noop". */ ++ conf = g_strsplit(config[0], " ", 0); ++ hits = g_strv_length(conf); ++ ++ strtok(conf[0], "/"); ++ if ((cidrprefix = strtok(NULL, "/"))) ++ { ++ maskval = 0xffffffff; ++ maskval <<= (32 - atoi(cidrprefix)); ++ mask.s_addr = htonl(maskval); ++ g_hash_table_insert(ifs, g_strdup("netmask"), g_strdup(inet_ntoa(mask))); ++ } ++ ++ ++ if ((hits > 0) && inet_aton(conf[0], &mask)) ++ { ++ g_hash_table_insert(ifs, g_strdup(dev), g_strdup(conf[i++])); ++ while ((hits -= 2) > 0) ++ { ++ g_hash_table_insert(ifs, g_strdup(conf[i]), g_strdup(conf[i+1])); ++ i += 2; ++ } ++ } ++ else ++ { ++ nm_debug("Unhandled configuration. Switching to DHCP."); ++ nm_debug("\t%s = %s", config_str, config[0]); ++ g_hash_table_insert(ifs, g_strdup("dhcp"), g_strdup("true")); ++ } ++ g_strfreev(conf); ++ } ++ } ++ else ++ { ++ nm_debug("Enabling DHCP for device %s.", dev); ++ g_hash_table_insert(ifs, g_strdup("dhcp"), g_strdup("true")); ++ } ++ ++ g_strfreev(config); ++ ++ if (routes) ++ { ++ nm_debug("Found %s in config.", route_str); ++ ++ len = g_strv_length(routes); ++ for (i = 0; i < len; i++) ++ { ++ if (!sscanf(routes[i], "default via %[0-9.:]", buf)) ++ continue; ++ ++ g_hash_table_insert(ifs,g_strdup("gateway"),g_strdup( (char*) buf)); ++ } ++ } ++ ++ g_strfreev(routes); ++ ++ if ((value = svGetValue(file, mtu_str))) ++ { ++ nm_debug("Found %s in config.", mtu_str); ++ g_hash_table_insert(ifs, g_strdup("mtu"), g_strdup(value)); ++ } ++ ++ g_free(value); ++ ++ if (!(value = svGetValue(file, dnsserver_str))) ++ { ++ value = svGetValue(file, "dns_servers"); ++ } ++ if (value) ++ { ++ nm_debug("Found DNS nameservers in config."); ++ g_hash_table_insert(ifs, g_strdup("nameservers"), g_strdup(value)); ++ } ++ ++ g_free(value); ++ ++ if (!(value = svGetValue(file, dnssearch_str))) ++ { ++ value = svGetValue(file, "dns_search"); ++ } ++ if (value) ++ { ++ nm_debug("Found DNS search in config."); ++ g_hash_table_insert(ifs, g_strdup("dnssearch"), g_strdup(value)); ++ } ++ ++ g_free(value); ++ svCloseFile(file); ++ ++ if ((file = svNewFile(SYSCONFDIR"/conf.d/hostname"))) ++ { ++ if ((value = svGetValue(file, "HOSTNAME")) && (strlen(value) > 0)) ++ { ++ nm_debug("Found hostname."); ++ g_hash_table_insert(ifs, g_strdup("hostname"), g_strdup(value)); ++ } ++ ++ g_free(value); ++ svCloseFile(file); ++ } ++ ++ ++ g_free(config_str); ++ g_free(iface_str); ++ g_free(route_str); ++ g_free(mtu_str); ++ g_free(dnsserver_str); ++ g_free(dnssearch_str); ++ ++ return ifs; ++} + + typedef struct GentooSystemConfigData +@@ -293,6 +559,7 @@ + NMIP4Config * config; + gboolean use_dhcp; ++ gboolean system_disabled; ++ guint32 mtu; + } GentooSystemConfigData; +- + + /* +@@ -304,133 +571,172 @@ + * + */ +-void *nm_system_device_get_system_config (NMDevice *dev, NMData *app_data) +-{ +- char *cfg_file_path = NULL; +- FILE *file = NULL; +- char buffer[100]; +- char confline[100], dhcpline[100], ipline[100]; +- int ipa, ipb, ipc, ipd; +- int nNext = 0, bNext = 0, count = 0; +- char *confToken; +- gboolean data_good = FALSE; +- gboolean use_dhcp = TRUE; +- GentooSystemConfigData *sys_data = NULL; +- guint32 ip4_address = 0; +- guint32 ip4_netmask = 0; +- guint32 ip4_gateway = 0; +- guint32 ip4_broadcast = 0; +- +- g_return_val_if_fail (dev != NULL, NULL); +- +- sys_data = g_malloc0 (sizeof (GentooSystemConfigData)); +- sys_data->config = nm_device_get_ip4_config(dev); +- /* We use DHCP on an interface unless told not to */ ++void* nm_system_device_get_system_config (NMDevice * dev, NMData *app_data) ++{ ++ GHashTable* ifh; ++ gpointer val; ++ gchar **strarr; ++ GentooSystemConfigData* sys_data = NULL; ++ int len, i; ++ ++ g_return_val_if_fail(dev != NULL, NULL); ++ ++ sys_data = g_malloc0(sizeof (GentooSystemConfigData)); + sys_data->use_dhcp = TRUE; +- nm_device_set_use_dhcp (dev, TRUE); +-// nm_ip4_config_set_address (sys_data->config, 0); +-// nm_ip4_config_set_gateway (sys_data->config, 0); +-// nm_ip4_config_set_netmask (sys_data->config, 0); +- +- /* Gentoo systems store this information in +- * /etc/conf.d/net, this is for all interfaces. +- */ +- +- cfg_file_path = g_strdup_printf ("/etc/conf.d/net"); +- if (!cfg_file_path) ++ sys_data->system_disabled = FALSE; ++ sys_data->mtu = 0; ++ sys_data->config=NULL; ++ ++ ifh = GentooReadConfig(nm_device_get_iface(dev)); ++ if (ifh == NULL) ++ { ++ g_free(sys_data); + return NULL; +- +- if (!(file = fopen (cfg_file_path, "r"))) +- { +- g_free (cfg_file_path); +- return NULL; +- } +- sprintf(confline, "iface_%s", nm_device_get_iface (dev)); +- sprintf(dhcpline, "iface_%s=\"dhcp\"", nm_device_get_iface (dev)); +- while (fgets (buffer, 499, file) && !feof (file)) +- { +- /* Kock off newline if any */ +- g_strstrip (buffer); +- +- if (strncmp (buffer, confline, strlen(confline)) == 0) ++ } ++ ++ val = g_hash_table_lookup(ifh, "disabled"); ++ if (val) ++ { ++ if (!strcasecmp (val, "true")) ++ { ++ nm_info ("System configuration disables device %s", nm_device_get_iface (dev)); ++ sys_data->system_disabled = TRUE; ++ } ++ } ++ ++ val = g_hash_table_lookup(ifh, "mtu"); ++ if (val) ++ { ++ guint32 mtu; ++ ++ mtu = strtoul(val, NULL, 10); ++ if (mtu > 500 && mtu < INT_MAX) ++ { ++ nm_debug("System configuration specifies a MTU of %i for device %s", mtu, nm_device_get_iface(dev)); ++ sys_data->mtu = mtu; ++ } ++ } ++ val = g_hash_table_lookup(ifh, "hostname"); ++ if (val) ++ { ++ nm_ip4_config_set_hostname(sys_data->config, val); ++ } ++ ++ val = g_hash_table_lookup(ifh, nm_device_get_iface(dev)); ++ if (val && !g_hash_table_lookup(ifh, "dhcp")) ++ { ++ /* This device does not use DHCP */ ++ ++ sys_data->use_dhcp=FALSE; ++ sys_data->config = nm_ip4_config_new(); ++ ++ nm_ip4_config_set_address (sys_data->config, inet_addr (val)); ++ ++ val = g_hash_table_lookup(ifh, "gateway"); ++ if (val) ++ nm_ip4_config_set_gateway (sys_data->config, inet_addr (val)); ++ else ++ { ++ nm_info ("Network configuration for device '%s' does not specify a gateway but is " ++ "statically configured (non-DHCP).", nm_device_get_iface (dev)); ++ } ++ ++ val = g_hash_table_lookup(ifh, "netmask"); ++ if (val) ++ nm_ip4_config_set_netmask (sys_data->config, inet_addr (val)); ++ else ++ { ++ guint32 addr = nm_ip4_config_get_address (sys_data->config); ++ ++ /* Make a default netmask if we have an IP address */ ++ if (((ntohl (addr) & 0xFF000000) >> 24) <= 127) ++ nm_ip4_config_set_netmask (sys_data->config, htonl (0xFF000000)); ++ else if (((ntohl (addr) & 0xFF000000) >> 24) <= 191) ++ nm_ip4_config_set_netmask (sys_data->config, htonl (0xFFFF0000)); ++ else ++ nm_ip4_config_set_netmask (sys_data->config, htonl (0xFFFFFF00)); ++ } ++ ++ val = g_hash_table_lookup(ifh, "broadcast"); ++ if (val) ++ nm_ip4_config_set_broadcast (sys_data->config, inet_addr (val)); ++ else if ((val = g_hash_table_lookup(ifh, "brd"))) ++ nm_ip4_config_set_broadcast (sys_data->config, inet_addr (val)); ++ else ++ { ++ guint32 broadcast = ((nm_ip4_config_get_address (sys_data->config) & nm_ip4_config_get_netmask (sys_data->config)) ++ | ~nm_ip4_config_get_netmask (sys_data->config)); ++ nm_ip4_config_set_broadcast (sys_data->config, broadcast); ++ } ++ ++ val = g_hash_table_lookup(ifh, "nameservers"); ++ if (val) ++ { ++ nm_debug("Using DNS nameservers \"%s\" from config for device %s.", val, nm_device_get_iface(dev)); ++ if ((strarr = g_strsplit(val, " ", 0))) + { +- /* Make sure this config file is for this device */ +- if (strncmp (&buffer[strlen(confline) - strlen(nm_device_get_iface (dev))], +- nm_device_get_iface (dev), strlen(nm_device_get_iface (dev))) != 0) ++ len = g_strv_length(strarr); ++ for(i = 0; i < len; i++) + { +- nm_warning ("System config file '%s' does not define device '%s'\n", +- cfg_file_path, nm_device_get_iface (dev)); +- break; +- } +- else +- data_good = TRUE; +- +- if (strncmp (buffer, dhcpline, strlen(dhcpline)) == 0) +- { +- use_dhcp = TRUE; ++ guint32 addr = (guint32) (inet_addr (strarr[i])); ++ ++ if (addr != (guint32) -1) ++ nm_ip4_config_add_nameserver(sys_data->config, addr); ++ } ++ ++ g_strfreev(strarr); + } + else + { +- use_dhcp = FALSE; +- confToken = strtok(&buffer[strlen(confline) + 2], " "); +- while (count < 3) +- { +- if (nNext == 1 && bNext == 1) +- { +- ip4_address = inet_addr (confToken); +- count++; +- continue; +- } +- if (strcmp(confToken, "netmask") == 0) +- { +- confToken = strtok(NULL, " "); +- ip4_netmask = inet_addr (confToken); +- count++; +- nNext = 1; +- } +- else if (strcmp(confToken, "broadcast") == 0) +- { +- confToken = strtok(NULL, " "); +- count++; +- bNext = 1; +- } +- else +- { +- ip4_address = inet_addr (confToken); +- count++; +- } +- confToken = strtok(NULL, " "); +- } ++ guint32 addr = (guint32) (inet_addr (val)); ++ ++ if (addr != (guint32) -1) ++ nm_ip4_config_add_nameserver(sys_data->config, addr); ++ } ++ } ++ ++ val = g_hash_table_lookup(ifh, "dnssearch"); ++ if (val) ++ { ++ nm_debug("Using DNS search \"%s\" from config for device %s.", val, nm_device_get_iface(dev)); ++ if ((strarr = g_strsplit(val, " ", 0))) ++ { ++ len = g_strv_length(strarr); ++ for(i = 0; i < len; i++) ++ { ++ if (strarr[i]) ++ nm_ip4_config_add_domain(sys_data->config, strarr[i]); + } ++ ++ g_strfreev(strarr); + } +- /* If we aren't using dhcp, then try to get the gateway */ +- if (!use_dhcp) ++ else + { +- sprintf(ipline, "gateway=\"%s/", nm_device_get_iface (dev)); +- if (strncmp(buffer, ipline, strlen(ipline) - 1) == 0) ++ nm_ip4_config_add_domain(sys_data->config, val); ++ } ++ } ++ ++ nm_ip4_config_set_mtu (sys_data->config, sys_data->mtu); ++ ++#if 0 ++ { ++ int j; ++ nm_debug ("------ Config (%s)", nm_device_get_iface (dev)); ++ nm_debug (" ADDR=%d", nm_ip4_config_get_address (sys_data->config)); ++ nm_debug (" GW =%d", nm_ip4_config_get_gateway (sys_data->config)); ++ nm_debug (" NM =%d", nm_ip4_config_get_netmask (sys_data->config)); ++ nm_debug (" NSs =%d",nm_ip4_config_get_num_nameservers(sys_data->config)); ++ for (j=0;j<nm_ip4_config_get_num_nameservers(sys_data->config);j++) + { +- sprintf(ipline, "gateway=\"%s/%%d.%%d.%%d.%%d\"", nm_device_get_iface (dev) ); +- sscanf(buffer, ipline, &ipa, &ipb, &ipc, &ipd); +- sprintf(ipline, "%d.%d.%d.%d", ipa, ipb, ipc, ipd); +- ip4_gateway = inet_addr (ipline); ++ nm_debug (" NS =%d",nm_ip4_config_get_nameserver(sys_data->config,j)); + } +- } +- } +- fclose (file); +- g_free (cfg_file_path); +- +- /* If successful, set values on the device */ +- if (data_good) +- { +- nm_warning("data good :-)"); +- nm_device_set_use_dhcp (dev, use_dhcp); +- if (ip4_address) +- nm_ip4_config_set_address (sys_data->config, ip4_address); +- if (ip4_gateway) +- nm_ip4_config_set_gateway (sys_data->config, ip4_gateway); +- if (ip4_netmask) +- nm_ip4_config_set_netmask (sys_data->config, ip4_netmask); +- if (ip4_broadcast) +- nm_ip4_config_set_broadcast (sys_data->config, ip4_broadcast); +- } ++ nm_debug ("---------------------\n"); ++ } ++#endif ++ ++ } ++ ++ g_hash_table_destroy(ifh); ++ ++ + return (void *)sys_data; + } +@@ -519,4 +825,11 @@ + gboolean nm_system_device_get_disabled (NMDevice *dev) + { ++ GentooSystemConfigData *sys_data; ++ ++ g_return_val_if_fail (dev != NULL, FALSE); ++ ++ if ((sys_data = nm_device_get_system_config_data (dev))) ++ return sys_data->system_disabled; ++ + return FALSE; + } +@@ -576,4 +889,35 @@ + void nm_system_set_hostname (NMIP4Config *config) + { ++ char *h_name = NULL; ++ const char *hostname; ++ ++ g_return_if_fail (config != NULL); ++ ++ hostname = nm_ip4_config_get_hostname (config); ++ if (!hostname) ++ { ++ struct in_addr temp_addr; ++ struct hostent *host; ++ ++ /* try to get hostname via dns */ ++ temp_addr.s_addr = nm_ip4_config_get_address (config); ++ host = gethostbyaddr ((char *) &temp_addr, sizeof (temp_addr), AF_INET); ++ if (host) ++ { ++ h_name = g_strdup (host->h_name); ++ hostname = strtok (h_name, "."); ++ } ++ else ++ nm_warning ("nm_system_set_hostname(): gethostbyaddr failed, h_errno = %d", h_errno); ++ } ++ ++ if (hostname) ++ { ++ nm_info ("Setting hostname to '%s'", hostname); ++ if (sethostname (hostname, strlen (hostname)) < 0) ++ nm_warning ("Could not set hostname."); ++ } ++ ++ g_free (h_name); + } + +@@ -596,4 +940,11 @@ + guint32 nm_system_get_mtu (NMDevice *dev) + { ++ GentooSystemConfigData *sys_data; ++ ++ g_return_val_if_fail (dev != NULL, 0); ++ ++ if ((sys_data = nm_device_get_system_config_data (dev))) ++ return sys_data->mtu; ++ + return 0; + } diff --git a/net-misc/networkmanager/files/networkmanager-use-kernel-headers.patch b/net-misc/networkmanager/files/networkmanager-use-kernel-headers.patch new file mode 100644 index 0000000..e74c3c5 --- /dev/null +++ b/net-misc/networkmanager/files/networkmanager-use-kernel-headers.patch @@ -0,0 +1,12 @@ +diff -urN NetworkManager-0.5.2.orig/src/nm-device-802-3-ethernet.c NetworkManager-0.5.2/src/nm-device-802-3-ethernet.c +--- NetworkManager-0.5.2.orig/src/nm-device-802-3-ethernet.c 2006-02-04 05:20:00.000000000 -0600 ++++ NetworkManager-0.5.2/src/nm-device-802-3-ethernet.c 2006-02-04 05:20:26.000000000 -0600 +@@ -18,7 +18,7 @@ + * + * (C) Copyright 2005 Red Hat, Inc. + */ +- ++#define HEADERS_KERNEL + #include <glib.h> + #include <glib/gi18n.h> + #include <dbus/dbus.h> diff --git a/net-misc/networkmanager/metadata.xml b/net-misc/networkmanager/metadata.xml new file mode 100644 index 0000000..08c2647 --- /dev/null +++ b/net-misc/networkmanager/metadata.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>no-herd</herd> + <maintainer> + <email>steev@gentoo.org</email> + <name>Stephen Klimaszewski</name> + </maintainer> + <maintainer> + <email>rbu@gentoo.org</email> + <name>Robert Buchholz</name> + </maintainer> +</pkgmetadata> |