summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMu Qiao <qiaomuf@gentoo.org>2011-02-26 05:59:00 +0000
committerMu Qiao <qiaomuf@gentoo.org>2011-02-26 05:59:00 +0000
commit62957c78a60d3d079db0927026e69eb19d3dc4d8 (patch)
treeba6979d96e97493b59e4694822ebf8db0d9ee0f8 /net-misc
parentEAPI 3, dependencies, docs, etc. (diff)
downloadhistorical-62957c78a60d3d079db0927026e69eb19d3dc4d8.tar.gz
historical-62957c78a60d3d079db0927026e69eb19d3dc4d8.tar.bz2
historical-62957c78a60d3d079db0927026e69eb19d3dc4d8.zip
Accept non-alnum ssid (bug #356337)
Package-Manager: portage-2.1.9.41/cvs/Linux x86_64
Diffstat (limited to 'net-misc')
-rw-r--r--net-misc/networkmanager/ChangeLog8
-rw-r--r--net-misc/networkmanager/Manifest5
-rw-r--r--net-misc/networkmanager/files/networkmanager-0.8.2-ifnet-smarter-write.patch125
-rw-r--r--net-misc/networkmanager/networkmanager-0.8.2-r8.ebuild165
4 files changed, 281 insertions, 22 deletions
diff --git a/net-misc/networkmanager/ChangeLog b/net-misc/networkmanager/ChangeLog
index f8e4149d998c..ec9687cb43b2 100644
--- a/net-misc/networkmanager/ChangeLog
+++ b/net-misc/networkmanager/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for net-misc/networkmanager
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-misc/networkmanager/ChangeLog,v 1.98 2011/02/25 09:54:42 qiaomuf Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-misc/networkmanager/ChangeLog,v 1.99 2011/02/26 05:59:00 qiaomuf Exp $
+
+*networkmanager-0.8.2-r8 (26 Feb 2011)
+
+ 26 Feb 2011; Mu Qiao <qiaomuf@gentoo.org> +networkmanager-0.8.2-r8.ebuild,
+ files/networkmanager-0.8.2-ifnet-smarter-write.patch:
+ Accept non-alnum ssid (bug #356337)
*networkmanager-0.8.2-r7 (25 Feb 2011)
diff --git a/net-misc/networkmanager/Manifest b/net-misc/networkmanager/Manifest
index ff6cb0e38d0b..9e7fe9072cd5 100644
--- a/net-misc/networkmanager/Manifest
+++ b/net-misc/networkmanager/Manifest
@@ -14,7 +14,7 @@ AUX networkmanager-0.8.2-confchanges.patch 1279 RMD160 1ff5b6d663aa4417beaf9c763
AUX networkmanager-0.8.2-fix-tempfiles.patch 6758 RMD160 c403c33e71a38ca548b6ad8d8a3094094f11a686 SHA1 ee9818f898a34af688f507eabbdbda860108f418 SHA256 76951a82d62de94cd5d5862d26cd6c1b598623ae7b66c6592dff66c8fcb5a926
AUX networkmanager-0.8.2-fix-tests.patch 2156 RMD160 b549d50e96efe7f26402f5d974560b3f9307dde5 SHA1 c38ae50f82a65c8e7e8c4a4fe65634e5ee9873c8 SHA256 d6cf4ceac6893a9893c916f1a5298cd1817ed0fb357f2e55539a3e6aae5e855e
AUX networkmanager-0.8.2-fix-timestamp.patch 950 RMD160 4217e0332457eae47eb6c2f87a91f87adad37970 SHA1 d9fcaed9f2622937137bb977fba2d1c123b35893 SHA256 7d1d123b0da02ca8f02ce13b805eec912334bf1981032a38dcd2ef7e422bbf81
-AUX networkmanager-0.8.2-ifnet-smarter-write.patch 1859 RMD160 a6348fb74fb521e59104b2c983d7ba85f08230cf SHA1 c655e4433b503c6be28152902ccf7ce3bc495ce8 SHA256 688e94ee0ffff33366fc031b1422944e3010ea3ab24d057a65b9701a44e96793
+AUX networkmanager-0.8.2-ifnet-smarter-write.patch 5246 RMD160 a3bf57278772419c0ce8ea31f04be2647f21d8d7 SHA1 04ff74828089b936e83dc843e451982e45b91974 SHA256 d14327b1540f0a37f13601980c1a68b9e2083dcfe3436417853deaf62fa820b7
AUX networkmanager-0.8.2-shared-connection.patch 15067 RMD160 3e878a999e92fdb6baffba6f2a12caa25a2ba2c6 SHA1 e9664c505bc19964082aa319c4d524e6cf6651e2 SHA256 57f56fb45e48f80636a17d64f080aae594d6f19e51ff5467cc27a739b4b380e6
AUX nm-system-settings.conf 23 RMD160 6d66c702b345bde668a420a15716feea6005fbd1 SHA1 49ba558d20f5ca5a201e027e13b878dd5ac3569c SHA256 44b048804c7c0b8b3b0c29b8632b6ad613c397d0a1635ec918e10c0fbcdadf21
AUX nm-system-settings.conf-ifnet 70 RMD160 c0d2be147383999b62cead86ab4333169e4ef277 SHA1 679ec8052b610969c148a2d34cd4da7a41484a76 SHA256 34f53d9ac1ad65eda6942dc3059117f60f6321059ca23f4fbfcc2f2edcae151f
@@ -28,5 +28,6 @@ EBUILD networkmanager-0.8.2-r1.ebuild 4132 RMD160 1261ce2f0e499ece5e2ea4c010c862
EBUILD networkmanager-0.8.2-r2.ebuild 4407 RMD160 6ecc01211eb01e86a6856a1379dfdb991177b0d9 SHA1 ae3cc0a5869fc26b155b9704b286e61a01899c8c SHA256 0ead477d6ed601be6d1e3e5fa2a4546cc9cbbde77703406287125b3b639c5db2
EBUILD networkmanager-0.8.2-r6.ebuild 4837 RMD160 417fa42b1d369fedaa6b7aea043a80cb52fd81e8 SHA1 99779c8f7693c2aeec53c489fa2319e042242b6d SHA256 c591c769bea0660755c3913a879fe74ab6413e2e3e58e83fcf2f0e24f49597de
EBUILD networkmanager-0.8.2-r7.ebuild 4941 RMD160 9cb985a2f2e0dca9e4191b623fdff2f0456b5afc SHA1 ec564332aba43f09d5eca7812f4aa1dbce6d21e1 SHA256 7160622a3c9495e68df7228d9b850db40d5b1ce0c8d140890d765ee829668899
-MISC ChangeLog 20502 RMD160 59001c6a3b63cc70c7c7255a12fa6594482bdfe5 SHA1 8310aff52d62ab449011b12154d8218b8e46d446 SHA256 bcd678f53ba9ec62927cfc831f66b9c3579f1ada0245ba7d7c0625d31cf38b55
+EBUILD networkmanager-0.8.2-r8.ebuild 4941 RMD160 ba04f499d74f30dcf19b78b8e79dab38af69d165 SHA1 9167920dbd3b297022908c96c1e29666fcf5490f SHA256 749abe755fcbc049df861f7deda265e2a8fa3d1475c385c45ff01eba463c8384
+MISC ChangeLog 20714 RMD160 5335bca6bad237f9e3d5f0036c82401f6c6a0c72 SHA1 d498789dfe864d7e785bbc8a77b5cf1a9f46ef63 SHA256 72e4fdb7006fb6fdf5cdce4e36fcfc27b03732aa0e604518437206086f61ef21
MISC metadata.xml 1064 RMD160 28d68851ef6cb80bfef006ab6f88d2f93f44bee9 SHA1 ea76e3b1043d5933df8ed0531f89b0bc8e4b7d7c SHA256 ebb4664fb8edea0672a185e68c1cda3c0f3d5fa0ad906a50a67caafe380ef6be
diff --git a/net-misc/networkmanager/files/networkmanager-0.8.2-ifnet-smarter-write.patch b/net-misc/networkmanager/files/networkmanager-0.8.2-ifnet-smarter-write.patch
index 0ca2e618858d..a1f589d0062b 100644
--- a/net-misc/networkmanager/files/networkmanager-0.8.2-ifnet-smarter-write.patch
+++ b/net-misc/networkmanager/files/networkmanager-0.8.2-ifnet-smarter-write.patch
@@ -1,44 +1,131 @@
-From ad30f01d6108a7e8e05e5e90c93b2a750b7be240 Mon Sep 17 00:00:00 2001
+From 5b018326db5c9ebad8a63e1e231f49d2ca65e28c Mon Sep 17 00:00:00 2001
From: Mu Qiao <qiaomuf@gentoo.org>
Date: Fri, 25 Feb 2011 16:25:07 +0000
Subject: [PATCH 3/3] Won't write when nothing changed
Signed-off-by: Mu Qiao <qiaomuf@gentoo.org>
+ Make log less excessive, accept non-alnum ssid (bug #356337)
+Signed-off-by: Mu Qiao <qiaomuf@gentoo.org>
---
- system-settings/plugins/ifnet/net_parser.c | 14 ++++++++++----
- system-settings/plugins/ifnet/wpa_parser.c | 3 ++-
- 2 files changed, 12 insertions(+), 5 deletions(-)
+ system-settings/plugins/ifnet/connection_parser.c | 24 ++++++--------------
+ system-settings/plugins/ifnet/net_parser.c | 8 +++++-
+ system-settings/plugins/ifnet/plugin.c | 4 ---
+ system-settings/plugins/ifnet/wpa_parser.c | 7 ++++-
+ 4 files changed, 18 insertions(+), 25 deletions(-)
+diff --git a/system-settings/plugins/ifnet/connection_parser.c b/system-settings/plugins/ifnet/connection_parser.c
+index 9b5ddc1..8600142 100644
+--- a/system-settings/plugins/ifnet/connection_parser.c
++++ b/system-settings/plugins/ifnet/connection_parser.c
+@@ -627,23 +627,13 @@ make_ip4_setting (NMConnection * connection, gchar * conn_name, GError ** error)
+ g_object_set (ip4_setting,
+ NM_SETTING_IP4_CONFIG_IGNORE_AUTO_ROUTES,
+ TRUE, NULL);
+- if (nm_setting_ip4_config_add_address
+- (ip4_setting, ip4_addr)) {
+- PLUGIN_PRINT (IFNET_PLUGIN_NAME,
+- "new address: %d", iblock->ip);
+- PLUGIN_PRINT (IFNET_PLUGIN_NAME,
+- "ipv4 addresses count: %d",
+- nm_setting_ip4_config_get_num_addresses
+- (ip4_setting));
+- } else {
+- PLUGIN_WARN (IFNET_PLUGIN_NAME,
+- "ignoring duplicate IP4 address");
+- }
++ if (!nm_setting_ip4_config_add_address (ip4_setting, ip4_addr))
++ PLUGIN_WARN (IFNET_PLUGIN_NAME,
++ "ignoring duplicate IP4 address");
+ nm_ip4_address_unref (ip4_addr);
+ current_iblock = iblock;
+ iblock = iblock->next;
+ destroy_ip_block (current_iblock);
+-
+ }
+ g_object_set (ip4_setting,
+ NM_SETTING_IP4_CONFIG_METHOD,
+@@ -2276,11 +2266,12 @@ write_wireless_setting (NMConnection * connection,
+ return FALSE;
+ }
+
+- /* If the SSID contains any non-printable characters, we need to use the
+- * hex notation of the SSID instead.
++ /* If the SSID contains any non-alnum characters, we need to use
++ * the hex notation of the SSID instead. (Because openrc doesn't
++ * support these characters, see bug #356337)
+ */
+ for (i = 0; i < ssid->len; i++) {
+- if (!isprint (ssid->data[i])) {
++ if (!isalnum (ssid->data[i])) {
+ hex_ssid = TRUE;
+ break;
+ }
+@@ -2487,7 +2478,6 @@ write_ip4_setting (NMConnection * connection, gchar * conn_name,
+ ifnet_set_data (conn_name, "config", "dhcp");
+
+ /* DNS Servers */
+- ifnet_set_data (conn_name, "dns_servers", NULL);
+ num = nm_setting_ip4_config_get_num_dns (s_ip4);
+ if (num > 0) {
+ dns = g_string_new (NULL);
diff --git a/system-settings/plugins/ifnet/net_parser.c b/system-settings/plugins/ifnet/net_parser.c
-index de2db8a..e01b092 100644
+index de2db8a..57f3688 100644
--- a/system-settings/plugins/ifnet/net_parser.c
+++ b/system-settings/plugins/ifnet/net_parser.c
-@@ -413,10 +413,16 @@ ifnet_set_data (gchar * conn_name, gchar * key, gchar * value)
+@@ -411,12 +411,16 @@ ifnet_set_data (gchar * conn_name, gchar * key, gchar * value)
+ }
+ /* Remove existing key value pair */
if (g_hash_table_lookup_extended (conn, key, &orin_key, &orin_value)) {
- if (new_value && !strcmp (orin_value, new_value))
+- if (new_value && !strcmp (orin_value, new_value))
++ if (new_value && !strcmp (orin_value, new_value)){
++ g_free (new_value);
return;
-- g_hash_table_remove (conn, orin_key);
-- g_free (orin_key);
-- g_free (orin_value);
++ }
+ g_hash_table_remove (conn, orin_key);
+ g_free (orin_key);
+ g_free (orin_value);
- }
-+ /* Won't remove dns_servers wrt bug #356339 */
-+ if (strcmp (orin_key, "dns_servers")){
-+ g_hash_table_remove (conn, orin_key);
-+ g_free (orin_key);
-+ g_free (orin_value);
-+ } else
-+ return;
+ /* old key/value doesn't exist but new value is NULL */
+ } else if (!value)
+ return;
if (new_value)
g_hash_table_insert (conn, g_strdup (key), new_value);
net_parser_data_changed = TRUE;
+diff --git a/system-settings/plugins/ifnet/plugin.c b/system-settings/plugins/ifnet/plugin.c
+index 94f9e79..3952e91 100644
+--- a/system-settings/plugins/ifnet/plugin.c
++++ b/system-settings/plugins/ifnet/plugin.c
+@@ -91,8 +91,6 @@ update_system_hostname (gpointer config)
+ {
+ SCPluginIfnetPrivate *priv = SC_PLUGIN_IFNET_GET_PRIVATE (config);
+
+- PLUGIN_PRINT (IFNET_PLUGIN_NAME, "Updating hostname");
+-
+ if (priv->hostname)
+ g_free (priv->hostname);
+ priv->hostname = read_hostname (IFNET_SYSTEM_HOSTNAME_FILE);
+@@ -184,8 +182,6 @@ monitor_file_changes (const char *filename,
+ info);
+ g_signal_connect (monitor, "changed", G_CALLBACK (file_changed),
+ info);
+- PLUGIN_PRINT (IFNET_PLUGIN_NAME, "Monitoring %s", filename);
+-
+ } else
+ PLUGIN_WARN (IFNET_PLUGIN_NAME,
+ "Monitoring %s failed, error: %s", filename,
diff --git a/system-settings/plugins/ifnet/wpa_parser.c b/system-settings/plugins/ifnet/wpa_parser.c
-index 42c52c3..2c3869e 100644
+index 42c52c3..338c338 100644
--- a/system-settings/plugins/ifnet/wpa_parser.c
+++ b/system-settings/plugins/ifnet/wpa_parser.c
-@@ -468,7 +468,8 @@ wpa_set_data (gchar * ssid, gchar * key, gchar * value)
+@@ -463,12 +463,15 @@ wpa_set_data (gchar * ssid, gchar * key, gchar * value)
+ /* Remove old key value pairs */
+ if (g_hash_table_lookup_extended
+ (security, key, &orig_key, &orig_value)) {
+- if (new_value && !strcmp(orig_value, new_value))
++ if (new_value && !strcmp(orig_value, new_value)){
++ g_free (new_value);
+ return;
++ }
g_hash_table_remove (security, orig_key);
g_free (orig_key);
g_free (orig_value);
diff --git a/net-misc/networkmanager/networkmanager-0.8.2-r8.ebuild b/net-misc/networkmanager/networkmanager-0.8.2-r8.ebuild
new file mode 100644
index 000000000000..7c1c488f662d
--- /dev/null
+++ b/net-misc/networkmanager/networkmanager-0.8.2-r8.ebuild
@@ -0,0 +1,165 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-misc/networkmanager/networkmanager-0.8.2-r8.ebuild,v 1.1 2011/02/26 05:59:00 qiaomuf Exp $
+
+EAPI="2"
+
+inherit autotools eutils gnome.org linux-info
+
+# NetworkManager likes itself with capital letters
+MY_PN=${PN/networkmanager/NetworkManager}
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Network configuration and management in an easy way. Desktop environment independent."
+HOMEPAGE="http://www.gnome.org/projects/NetworkManager/"
+SRC_URI="${SRC_URI//${PN}/${MY_PN}}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+IUSE="avahi bluetooth doc nss gnutls dhclient dhcpcd kernel_linux resolvconf connection-sharing"
+
+RDEPEND=">=sys-apps/dbus-1.2
+ >=dev-libs/dbus-glib-0.75
+ >=net-wireless/wireless-tools-28_pre9
+ >=sys-fs/udev-145[extras]
+ >=dev-libs/glib-2.18
+ >=sys-auth/polkit-0.92
+ >=dev-libs/libnl-1.1
+ >=net-misc/modemmanager-0.4
+ >=net-wireless/wpa_supplicant-0.5.10[dbus]
+ bluetooth? ( net-wireless/bluez )
+ || ( sys-libs/e2fsprogs-libs <sys-fs/e2fsprogs-1.41.0 )
+ avahi? ( net-dns/avahi[autoipd] )
+ gnutls? (
+ nss? ( >=dev-libs/nss-3.11 )
+ !nss? ( dev-libs/libgcrypt
+ net-libs/gnutls ) )
+ !gnutls? ( >=dev-libs/nss-3.11 )
+ dhclient? (
+ dhcpcd? ( >=net-misc/dhcpcd-4.0.0_rc3 )
+ !dhcpcd? ( net-misc/dhcp ) )
+ !dhclient? ( >=net-misc/dhcpcd-4.0.0_rc3 )
+ resolvconf? ( net-dns/openresolv )
+ connection-sharing? (
+ net-dns/dnsmasq
+ net-firewall/iptables )"
+
+DEPEND="${RDEPEND}
+ dev-util/pkgconfig
+ dev-util/intltool
+ >=net-dialup/ppp-2.4.5
+ doc? ( >=dev-util/gtk-doc-1.8 )"
+
+S=${WORKDIR}/${MY_P}
+
+sysfs_deprecated_check() {
+ ebegin "Checking for SYSFS_DEPRECATED support"
+
+ if { linux_chkconfig_present SYSFS_DEPRECATED_V2; }; then
+ eerror "Please disable SYSFS_DEPRECATED_V2 support in your kernel config and recompile your kernel"
+ eerror "or NetworkManager will not work correctly."
+ eerror "See http://bugs.gentoo.org/333639 for more info."
+ die "CONFIG_SYSFS_DEPRECATED_V2 support detected!"
+ fi
+ eend $?
+}
+
+pkg_setup() {
+ # FIXME. Required by -confchanges.patch, but the patch is invalid as
+ # ConsoleKit and PolicyKit is enough to get authorization.
+ enewgroup plugdev
+
+ if use kernel_linux; then
+ get_version
+ if linux_config_exists; then
+ sysfs_deprecated_check
+ else
+ ewarn "Was unable to determine your kernel .config"
+ ewarn "Please note that if CONFIG_SYSFS_DEPRECATED_V2 is set in your kernel .config, NetworkManager will not work correctly."
+ ewarn "See http://bugs.gentoo.org/333639 for more info."
+ fi
+
+ fi
+}
+
+src_prepare() {
+ # dbus policy patch
+ epatch "${FILESDIR}/${P}-confchanges.patch"
+ # accept "gw" in /etc/conf.d/net (bug #339215)
+ epatch "${FILESDIR}/${P}-accept-gw.patch"
+ # fix shared connection wrt bug #350476
+ # fix parsing dhclient.conf wrt bug #352638
+ epatch "${FILESDIR}/${P}-shared-connection.patch"
+ # Backports #1
+ epatch "${FILESDIR}/${P}-1.patch"
+ # won't crash upon startup for 32bit machines wrt bug #353807
+ epatch "${FILESDIR}/${P}-fix-timestamp.patch"
+ # fix tests wrt bug #353549
+ epatch "${FILESDIR}/${P}-fix-tests.patch"
+ # fix temporary files creation bug #349003
+ epatch "${FILESDIR}/${P}-fix-tempfiles.patch"
+ # won't write when nothing changed (bug #356339)
+ epatch "${FILESDIR}/${P}-ifnet-smarter-write.patch"
+ eautoreconf
+}
+
+src_configure() {
+ ECONF="--disable-more-warnings
+ --localstatedir=/var
+ --with-distro=gentoo
+ --with-dbus-sys-dir=/etc/dbus-1/system.d
+ --with-udev-dir=/etc/udev
+ --with-iptables=/sbin/iptables
+ $(use_enable doc gtk-doc)
+ $(use_with doc docs)
+ $(use_with resolvconf)"
+
+ # default is dhcpcd (if none or both are specified), ISC dchclient otherwise
+ if use dhclient ; then
+ if use dhcpcd ; then
+ ECONF="${ECONF} --with-dhcpcd --without-dhclient"
+ else
+ ECONF="${ECONF} --with-dhclient --without-dhcpcd"
+ fi
+ else
+ ECONF="${ECONF} --with-dhcpcd --without-dhclient"
+ fi
+
+ # default is NSS (if none or both are specified), GnuTLS otherwise
+ if use gnutls ; then
+ if use nss ; then
+ ECONF="${ECONF} --with-crypto=nss"
+ else
+ ECONF="${ECONF} --with-crypto=gnutls"
+ fi
+ else
+ ECONF="${ECONF} --with-crypto=nss"
+ fi
+
+ econf ${ECONF}
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+
+ # Need to keep the /var/run/NetworkManager directory
+ keepdir /var/run/NetworkManager
+
+ # Need to keep the /etc/NetworkManager/dispatched.d for dispatcher scripts
+ keepdir /etc/NetworkManager/dispatcher.d
+
+ dodoc AUTHORS ChangeLog NEWS README TODO || die "dodoc failed"
+
+ # Add keyfile plugin support
+ keepdir /etc/NetworkManager/system-connections
+ insinto /etc/NetworkManager
+ newins "${FILESDIR}/nm-system-settings.conf-ifnet" nm-system-settings.conf \
+ || die "newins failed"
+}
+
+pkg_postinst() {
+ elog "You will need to reload DBus if this is your first time installing"
+ elog "NetworkManager, or if you're upgrading from 0.7 or older."
+ elog ""
+}