- nm: fix AT&T Quicksilver modem connections (rh #502002)

- nm: fix support for s390 bus types (rh #496820)
- nm: fix detection of some CMOtech modems
- nm: handle unsolicited wifi scans better
- nm: resolv.conf fixes when using DHCP and overriding search domains
- nm: handle WEP and WPA passphrases (rh #441070)
- nm: fix removal of old APs when none are scanned
- nm: fix Huawei EC121 and EC168C detection and handling (rh #496426)
- applet: save WEP and WPA passphrases instead of hashed keys (rh #441070)
- applet: fix broken notification bubble actions
- applet: default to WEP encryption for Ad-Hoc network creation
- applet: fix crash when connection editor dialogs are canceled
- applet: add a mobile broadband provider wizard
This commit is contained in:
Daniel Williams 2009-06-17 18:47:51 +00:00
parent 070ddbfda1
commit f1638d605c
6 changed files with 32 additions and 260 deletions

View File

@ -153,3 +153,5 @@ NetworkManager-0.7.0.100.git20090408.tar.bz2
network-manager-applet-0.7.0.100.svn1260.tar.bz2
NetworkManager-0.7.1.git20090414.tar.bz2
network-manager-applet-0.7.1.tar.bz2
NetworkManager-0.7.1.git20090617.tar.bz2
network-manager-applet-0.7.1.git20090617.tar.bz2

View File

@ -9,14 +9,14 @@
%define libnl_version 1.1
%define ppp_version 2.2.4
%define snapshot .git20090414
%define applet_snapshot %{nil}
%define snapshot .git20090617
%define applet_snapshot .git20090617
Name: NetworkManager
Summary: Network connection manager and user applications
Epoch: 1
Version: 0.7.1
Release: 4%{snapshot}%{?dist}.1
Release: 5%{snapshot}%{?dist}
Group: System Environment/Base
License: GPLv2+
URL: http://www.gnome.org/projects/NetworkManager/
@ -26,8 +26,6 @@ Source1: network-manager-applet-%{version}%{applet_snapshot}.tar.bz2
Source2: nm-system-settings.conf
Patch1: nm-applet-internal-buildfixes.patch
Patch2: explain-dns1-dns2.patch
Patch3: ifcfg-rh-inotify-update-fix.patch
Patch4: nm-save-the-leases.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
PreReq: chkconfig
@ -35,14 +33,15 @@ Requires: dbus >= %{dbus_version}
Requires: dbus-glib >= %{dbus_glib_version}
Requires: hal >= %{hal_version}
Requires: iproute
Requires: dhclient >= 3.0.2-12
Requires: wpa_supplicant >= 0.5.7-21
Requires: dhclient >= 12:4.1.0
Requires: wpa_supplicant >= 1:0.6.8-4
Requires: libnl >= %{libnl_version}
Requires: %{name}-glib = %{epoch}:%{version}-%{release}
Requires: ppp >= %{ppp_version}
Requires: avahi-autoipd
Requires: dnsmasq
Requires: udev
Requires: mobile-broadband-provider-info >= 0.20090602
Obsoletes: dhcdbd
Conflicts: NetworkManager-vpnc < 1:0.7.0.99-1
@ -146,8 +145,6 @@ NetworkManager functionality from applications that use glib.
tar -xjf %{SOURCE1}
%patch1 -p1 -b .buildfix
%patch2 -p1 -b .explain-dns1-dns2
%patch3 -p1 -b .ifcfg-rh-inotify-fix
%patch4 -p1 -b .per-connection-leases
%build
@ -328,6 +325,21 @@ fi
%{_datadir}/gtk-doc/html/libnm-util/*
%changelog
* Wed Jun 17 2009 Dan Williams <dcbw@redhat.com> - 0.7.1-5.git20090617
- nm: fix AT&T Quicksilver modem connections (rh #502002)
- nm: fix support for s390 bus types (rh #496820)
- nm: fix detection of some CMOtech modems
- nm: handle unsolicited wifi scans better
- nm: resolv.conf fixes when using DHCP and overriding search domains
- nm: handle WEP and WPA passphrases (rh #441070)
- nm: fix removal of old APs when none are scanned
- nm: fix Huawei EC121 and EC168C detection and handling (rh #496426)
- applet: save WEP and WPA passphrases instead of hashed keys (rh #441070)
- applet: fix broken notification bubble actions
- applet: default to WEP encryption for Ad-Hoc network creation
- applet: fix crash when connection editor dialogs are canceled
- applet: add a mobile broadband provider wizard
* Tue May 19 2009 Karsten Hopp <karsten@redhat.com> 0.7.1-4.git20090414.1
- drop ExcludeArch s390 s390x, we need at least the header files

View File

@ -1,92 +0,0 @@
diff --git a/system-settings/plugins/ifcfg-rh/nm-ifcfg-connection.c b/system-settings/plugins/ifcfg-rh/nm-ifcfg-connection.c
index 7e18ed0..bfc36af 100644
--- a/system-settings/plugins/ifcfg-rh/nm-ifcfg-connection.c
+++ b/system-settings/plugins/ifcfg-rh/nm-ifcfg-connection.c
@@ -317,27 +317,27 @@ nm_ifcfg_connection_get_unmanaged (NMIfcfgConnection *self)
return NM_IFCFG_CONNECTION_GET_PRIVATE (self)->unmanaged;
}
-static gboolean
-update (NMExportedConnection *exported, GHashTable *new_settings, GError **error)
+gboolean
+nm_ifcfg_connection_update (NMIfcfgConnection *self, GHashTable *new_settings, GError **error)
{
+ NMExportedConnection *exported = NM_EXPORTED_CONNECTION (self);
NMIfcfgConnectionPrivate *priv = NM_IFCFG_CONNECTION_GET_PRIVATE (exported);
- gboolean success;
NMConnection *connection;
- success = NM_EXPORTED_CONNECTION_CLASS (nm_ifcfg_connection_parent_class)->update (exported, new_settings, error);
- if (success) {
- connection = nm_exported_connection_get_connection (exported);
- success = nm_connection_replace_settings (connection, new_settings, error);
- if (success) {
- success = writer_update_connection (connection,
- IFCFG_DIR,
- priv->filename,
- priv->keyfile,
- error);
- }
- }
+ connection = nm_exported_connection_get_connection (exported);
+ if (!nm_connection_replace_settings (connection, new_settings, error))
+ return FALSE;
+
+ return writer_update_connection (connection, IFCFG_DIR, priv->filename, priv->keyfile, error);
+}
+
+static gboolean
+update (NMExportedConnection *exported, GHashTable *new_settings, GError **error)
+{
+ if (!NM_EXPORTED_CONNECTION_CLASS (nm_ifcfg_connection_parent_class)->update (exported, new_settings, error))
+ return FALSE;
- return success;
+ return nm_ifcfg_connection_update (NM_IFCFG_CONNECTION (exported), new_settings, error);
}
static gboolean
diff --git a/system-settings/plugins/ifcfg-rh/nm-ifcfg-connection.h b/system-settings/plugins/ifcfg-rh/nm-ifcfg-connection.h
index f2a8c6d..dc13aa6 100644
--- a/system-settings/plugins/ifcfg-rh/nm-ifcfg-connection.h
+++ b/system-settings/plugins/ifcfg-rh/nm-ifcfg-connection.h
@@ -60,6 +60,10 @@ const char *nm_ifcfg_connection_get_udi (NMIfcfgConnection *self);
gboolean nm_ifcfg_connection_get_unmanaged (NMIfcfgConnection *self);
+gboolean nm_ifcfg_connection_update (NMIfcfgConnection *self,
+ GHashTable *new_settings,
+ GError **error);
+
G_END_DECLS
#endif /* NM_IFCFG_CONNECTION_H */
diff --git a/system-settings/plugins/ifcfg-rh/plugin.c b/system-settings/plugins/ifcfg-rh/plugin.c
index 25d93b9..976090c 100644
--- a/system-settings/plugins/ifcfg-rh/plugin.c
+++ b/system-settings/plugins/ifcfg-rh/plugin.c
@@ -293,9 +293,9 @@ connection_changed_handler (SCPluginIfcfg *plugin,
/* errors reading connection; remove it */
if (!ignore_error) {
PLUGIN_WARN (IFCFG_PLUGIN_NAME, " error: %s",
- error->message ? error->message : "(unknown)");
+ (error && error->message) ? error->message : "(unknown)");
}
- g_error_free (error);
+ g_clear_error (&error);
PLUGIN_PRINT (IFCFG_PLUGIN_NAME, "removed %s.", path);
*do_remove = TRUE;
@@ -336,7 +336,11 @@ connection_changed_handler (SCPluginIfcfg *plugin,
/* Only update if different */
if (!nm_connection_compare (new_wrapped, old_wrapped, NM_SETTING_COMPARE_FLAG_EXACT)) {
settings = nm_connection_to_hash (new_wrapped);
- nm_exported_connection_update (NM_EXPORTED_CONNECTION (connection), settings, NULL);
+ if (!nm_ifcfg_connection_update (connection, settings, &error)) {
+ PLUGIN_WARN (IFCFG_PLUGIN_NAME, " error updating: %s",
+ (error && error->message) ? error->message : "(unknown)");
+ g_clear_error (&error);
+ }
g_hash_table_destroy (settings);
}

View File

@ -3,20 +3,19 @@ diff -up NetworkManager-0.7.1/network-manager-applet-0.7.1/configure.ac.buildfix
+++ NetworkManager-0.7.1/network-manager-applet-0.7.1/configure.ac 2009-04-05 08:31:12.000000000 -0400
@@ -68,10 +68,6 @@ PKG_CHECK_MODULES(GOBJECT, gobject-2.0)
PKG_CHECK_MODULES(NMA,
[dbus-glib-1 >= 0.72
[dbus-glib-1 >= 0.74
glib-2.0 >= 2.10
- NetworkManager >= 0.7.0
- libnm_glib >= 0.7.0
- libnm-util >= 0.7.0
- libnm_glib_vpn >= 0.7.0
gtk+-2.0 >= 2.10
- NetworkManager >= 0.7.1
- libnm_glib >= 0.7.1
- libnm-util >= 0.7.1
- libnm_glib_vpn >= 0.7.1
gtk+-2.0 >= 2.14
libglade-2.0
gmodule-export-2.0
diff -up NetworkManager-0.7.1/network-manager-applet-0.7.1/src/connection-editor/Makefile.am.buildfix NetworkManager-0.7.1/network-manager-applet-0.7.1/src/connection-editor/Makefile.am
--- NetworkManager-0.7.1/network-manager-applet-0.7.1/src/connection-editor/Makefile.am.buildfix 2009-04-03 09:30:25.000000000 -0400
+++ NetworkManager-0.7.1/network-manager-applet-0.7.1/src/connection-editor/Makefile.am 2009-04-05 08:31:12.000000000 -0400
@@ -2,6 +2,10 @@ NULL=
@@ -1,5 +1,9 @@
bin_PROGRAMS = nm-connection-editor
+INCLUDES = -I${top_srcdir}/../include \

View File

@ -1,149 +0,0 @@
756bc704029050af94ef678bb4c0bdc02da14034 from upstream, corrected for
whitespace changes.
diff -up NetworkManager-0.7.1/src/dhcp-manager/nm-dhcp-dhclient.c.jx NetworkManager-0.7.1/src/dhcp-manager/nm-dhcp-dhclient.c
--- NetworkManager-0.7.1/src/dhcp-manager/nm-dhcp-dhclient.c.jx 2009-04-14 18:48:02.000000000 -0400
+++ NetworkManager-0.7.1/src/dhcp-manager/nm-dhcp-dhclient.c 2009-05-05 11:09:21.000000000 -0400
@@ -61,11 +61,12 @@ get_pidfile_for_iface (const char * ifac
static char *
-get_leasefile_for_iface (const char * iface)
+get_leasefile_for_iface (const char * iface, const char *uuid)
{
- return g_strdup_printf ("%s/%s-%s.%s",
+ return g_strdup_printf ("%s/%s-%s-%s.%s",
NM_DHCP_MANAGER_LEASE_DIR,
NM_DHCP_MANAGER_LEASE_FILENAME,
+ uuid,
iface,
NM_DHCP_MANAGER_LEASE_FILE_EXT);
}
@@ -216,7 +217,9 @@ dhclient_child_setup (gpointer user_data
GPid
-nm_dhcp_client_start (NMDHCPDevice *device, NMSettingIP4Config *s_ip4)
+nm_dhcp_client_start (NMDHCPDevice *device,
+ const char *uuid,
+ NMSettingIP4Config *s_ip4)
{
GPtrArray *dhclient_argv = NULL;
GPid pid = 0;
@@ -234,7 +237,7 @@ nm_dhcp_client_start (NMDHCPDevice *devi
goto out;
}
- device->lease_file = get_leasefile_for_iface (device->iface);
+ device->lease_file = get_leasefile_for_iface (device->iface, uuid);
if (!device->lease_file) {
nm_warning ("%s: not enough memory for dhclient options.", device->iface);
goto out;
diff -up NetworkManager-0.7.1/src/dhcp-manager/nm-dhcp-dhcpcd.c.jx NetworkManager-0.7.1/src/dhcp-manager/nm-dhcp-dhcpcd.c
--- NetworkManager-0.7.1/src/dhcp-manager/nm-dhcp-dhcpcd.c.jx 2009-03-03 11:55:47.000000000 -0500
+++ NetworkManager-0.7.1/src/dhcp-manager/nm-dhcp-dhcpcd.c 2009-05-05 11:09:21.000000000 -0400
@@ -60,7 +60,9 @@ dhcpcd_child_setup (gpointer user_data G
GPid
-nm_dhcp_client_start (NMDHCPDevice *device, NMSettingIP4Config *s_ip4)
+nm_dhcp_client_start (NMDHCPDevice *device,
+ const char *uuid,
+ NMSettingIP4Config *s_ip4)
{
GPtrArray *argv = NULL;
GPid pid = 0;
diff -up NetworkManager-0.7.1/src/dhcp-manager/nm-dhcp-manager.c.jx NetworkManager-0.7.1/src/dhcp-manager/nm-dhcp-manager.c
--- NetworkManager-0.7.1/src/dhcp-manager/nm-dhcp-manager.c.jx 2009-04-14 18:48:02.000000000 -0400
+++ NetworkManager-0.7.1/src/dhcp-manager/nm-dhcp-manager.c 2009-05-05 11:10:46.000000000 -0400
@@ -577,6 +577,7 @@ static void dhcp_watch_cb (GPid pid, gin
gboolean
nm_dhcp_manager_begin_transaction (NMDHCPManager *manager,
const char *iface,
+ const char *uuid,
NMSettingIP4Config *s_ip4,
guint32 timeout)
{
@@ -599,7 +600,7 @@ nm_dhcp_manager_begin_transaction (NMDHC
nm_info ("Activation (%s) Beginning DHCP transaction.", iface);
- device->pid = nm_dhcp_client_start (device, s_ip4);
+ device->pid = nm_dhcp_client_start (device, uuid, s_ip4);
if (device->pid == 0)
return FALSE;
@@ -681,9 +682,8 @@ nm_dhcp_manager_cancel_transaction_real
device->pid_file = NULL;
}
- /* Clean up the leasefile if it got left around */
+ /* Free leasefile (but don't delete) */
if (device->lease_file) {
- remove (device->lease_file);
g_free (device->lease_file);
device->lease_file = NULL;
}
diff -up NetworkManager-0.7.1/src/dhcp-manager/nm-dhcp-manager.h.jx NetworkManager-0.7.1/src/dhcp-manager/nm-dhcp-manager.h
--- NetworkManager-0.7.1/src/dhcp-manager/nm-dhcp-manager.h.jx 2009-04-14 18:48:02.000000000 -0400
+++ NetworkManager-0.7.1/src/dhcp-manager/nm-dhcp-manager.h 2009-05-05 11:11:07.000000000 -0400
@@ -89,6 +89,7 @@ GType nm_dhcp_manager_get_type (void);
NMDHCPManager *nm_dhcp_manager_get (void);
gboolean nm_dhcp_manager_begin_transaction (NMDHCPManager *manager,
const char *iface,
+ const char *uuid,
NMSettingIP4Config *s_ip4,
guint32 timeout);
void nm_dhcp_manager_cancel_transaction (NMDHCPManager *manager,
@@ -102,7 +103,9 @@ gboolean nm_dhcp_manager_foreach_d
gpointer user_data);
/* The following are implemented by the DHCP client backends */
-GPid nm_dhcp_client_start (NMDHCPDevice *device, NMSettingIP4Config *s_ip4);
+GPid nm_dhcp_client_start (NMDHCPDevice *device,
+ const char *uuid,
+ NMSettingIP4Config *s_ip4);
void nm_dhcp_client_stop (NMDHCPDevice *device, pid_t pid);
gboolean nm_dhcp_client_process_classless_routes (GHashTable *options,
diff -up NetworkManager-0.7.1/src/nm-device.c.jx NetworkManager-0.7.1/src/nm-device.c
--- NetworkManager-0.7.1/src/nm-device.c.jx 2009-04-14 06:50:18.000000000 -0400
+++ NetworkManager-0.7.1/src/nm-device.c 2009-05-05 11:09:21.000000000 -0400
@@ -862,10 +862,12 @@ aipd_exec (NMDevice *self, GError **erro
static NMActStageReturn
real_act_stage3_ip_config_start (NMDevice *self, NMDeviceStateReason *reason)
{
+ NMConnection *connection;
+ NMSettingConnection *s_con;
NMSettingIP4Config *s_ip4;
NMActRequest *req;
NMActStageReturn ret = NM_ACT_STAGE_RETURN_SUCCESS;
- const char *ip_iface, *method = NULL;
+ const char *ip_iface, *method = NULL, *uuid;
g_return_val_if_fail (reason != NULL, NM_ACT_STAGE_RETURN_FAILURE);
@@ -873,8 +875,12 @@ real_act_stage3_ip_config_start (NMDevic
ip_iface = nm_device_get_ip_iface (self);
req = nm_device_get_act_request (self);
- s_ip4 = (NMSettingIP4Config *) nm_connection_get_setting (nm_act_request_get_connection (req),
- NM_TYPE_SETTING_IP4_CONFIG);
+ connection = nm_act_request_get_connection (req);
+ s_con = (NMSettingConnection *) nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION);
+ g_assert (s_con);
+ uuid = nm_setting_connection_get_uuid (s_con);
+
+ s_ip4 = (NMSettingIP4Config *) nm_connection_get_setting (connection, NM_TYPE_SETTING_IP4_CONFIG);
/* If we did not receive IP4 configuration information, default to DHCP */
if (s_ip4)
@@ -890,7 +896,7 @@ real_act_stage3_ip_config_start (NMDevic
/* DHCP manager will cancel any transaction already in progress and we do not
want to cancel this activation if we get "down" state from that. */
g_signal_handler_block (priv->dhcp_manager, priv->dhcp_state_sigid);
- success = nm_dhcp_manager_begin_transaction (priv->dhcp_manager, ip_iface, s_ip4, 45);
+ success = nm_dhcp_manager_begin_transaction (priv->dhcp_manager, ip_iface, uuid, s_ip4, 45);
g_signal_handler_unblock (priv->dhcp_manager, priv->dhcp_state_sigid);
if (success) {

View File

@ -1,2 +1,2 @@
d90a997e3e2051ce8866fe24f765141f network-manager-applet-0.7.1.tar.bz2
656728d3decf12e75814b0f4e252929e NetworkManager-0.7.1.git20090414.tar.bz2
ff7ce2a726e0db4c230d27da7e4c5845 NetworkManager-0.7.1.git20090617.tar.bz2
6467f0318e8b647b7591a1f18e73b319 network-manager-applet-0.7.1.git20090617.tar.bz2