[gnome-control-center] Make connecting to Enterprise WPA work again
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-control-center] Make connecting to Enterprise WPA work again
- Date: Sat, 22 Sep 2012 15:49:08 +0000 (UTC)
commit c3d00a6c44f56292d3541bc489899d379a5132b4
Author: Matthias Clasen <mclasen redhat com>
Date: Fri Sep 21 16:07:46 2012 -0400
Make connecting to Enterprise WPA work again
gnome-shell relies on being able to call
gnome-control-center network connect-8021x-wifi <DEVICE> <AP>
This was broken in the big refactoring of the wifi panel
last cycle. Bring it back.
panels/network/cc-network-panel.c | 20 ++++++++++----------
panels/network/net-device-wifi.c | 11 -----------
panels/network/network-dialogs.c | 13 ++++++++++++-
panels/network/network-dialogs.h | 2 +-
4 files changed, 23 insertions(+), 23 deletions(-)
---
diff --git a/panels/network/cc-network-panel.c b/panels/network/cc-network-panel.c
index a6943a7..ce0967e 100644
--- a/panels/network/cc-network-panel.c
+++ b/panels/network/cc-network-panel.c
@@ -382,8 +382,8 @@ panel_add_device (CcNetworkPanel *panel, NMDevice *device)
type = nm_device_get_device_type (device);
- g_debug ("device %s type %i",
- nm_device_get_udi (device), type);
+ g_debug ("device %s type %i path %s",
+ nm_device_get_udi (device), type, nm_object_get_path (NM_OBJECT (device)));
/* map the NMDeviceType to the GType */
switch (type) {
@@ -458,15 +458,15 @@ panel_add_device (CcNetworkPanel *panel, NMDevice *device)
priv->arg_operation = OPERATION_NULL; /* done */
select_tree_iter (panel, &iter);
return TRUE;
- } else if (priv->arg_operation == OPERATION_CONNECT_8021X
- || priv->arg_operation == OPERATION_SHOW_DEVICE) {
+ } else if (priv->arg_operation == OPERATION_CONNECT_8021X) {
+ cc_network_panel_connect_to_8021x_network (panel, priv->client, priv->remote_settings, device, priv->arg_access_point);
+ priv->arg_operation = OPERATION_NULL; /* done */
select_tree_iter (panel, &iter);
-
- /* 802.11 wireless stuff must be handled in add_access_point, but
- we still select the right page here, whereas if we're just showing
- the device, we're done right away */
- if (priv->arg_operation == OPERATION_SHOW_DEVICE)
- priv->arg_operation = OPERATION_NULL;
+ return TRUE;
+ }
+ else if (priv->arg_operation == OPERATION_SHOW_DEVICE) {
+ select_tree_iter (panel, &iter);
+ priv->arg_operation = OPERATION_NULL;
return TRUE;
}
}
diff --git a/panels/network/net-device-wifi.c b/panels/network/net-device-wifi.c
index 991e883..99a334e 100644
--- a/panels/network/net-device-wifi.c
+++ b/panels/network/net-device-wifi.c
@@ -173,17 +173,6 @@ add_access_point (NetDeviceWifi *device_wifi, NMAccessPoint *ap, NMAccessPoint *
COLUMN_AP_IS_SAVED, FALSE,
-1);
g_free (title);
-
-// if (priv->arg_operation == OPERATION_CONNECT_8021X &&
-// g_strcmp0(priv->arg_device, nm_object_get_path (NM_OBJECT (device))) == 0 &&
-// g_strcmp0(priv->arg_access_point, object_path) == 0) {
-// cc_network_panel_connect_to_8021x_network (panel,
-// priv->client,
-// priv->remote_settings,
-// device,
-// ap);
-// priv->arg_operation = OPERATION_NULL; /* done */
-// }
}
static void
diff --git a/panels/network/network-dialogs.c b/panels/network/network-dialogs.c
index bdbd0f0..e5295dc 100644
--- a/panels/network/network-dialogs.c
+++ b/panels/network/network-dialogs.c
@@ -27,6 +27,7 @@
#include <nm-setting-cdma.h>
#include <nm-setting-serial.h>
#include <nm-device-modem.h>
+#include <nm-device-wifi.h>
#include "network-dialogs.h"
#include "nm-wireless-dialog.h"
@@ -249,6 +250,7 @@ cc_network_panel_connect_to_hidden_network (CcNetworkPanel *panel,
NMClient *client,
NMRemoteSettings *settings)
{
+ g_debug ("connect to hidden wifi");
show_wireless_dialog (panel, client, settings,
nma_wireless_dialog_new_for_other (client, settings));
}
@@ -258,7 +260,7 @@ cc_network_panel_connect_to_8021x_network (CcNetworkPanel *panel,
NMClient *client,
NMRemoteSettings *settings,
NMDevice *device,
- NMAccessPoint *ap)
+ const gchar *arg_access_point)
{
NMConnection *connection;
NMSettingConnection *s_con;
@@ -268,6 +270,14 @@ cc_network_panel_connect_to_8021x_network (CcNetworkPanel *panel,
NM80211ApSecurityFlags wpa_flags, rsn_flags;
GtkWidget *dialog;
char *uuid;
+ NMAccessPoint *ap;
+
+ g_debug ("connect to 8021x wifi");
+ ap = nm_device_wifi_get_access_point_by_path (NM_DEVICE_WIFI (device), arg_access_point);
+ if (ap == NULL) {
+ g_warning ("didn't find access point with path %s", arg_access_point);
+ return;
+ }
/* If the AP is WPA[2]-Enterprise then we need to set up a minimal 802.1x
* setting and ask the user for more information.
@@ -470,6 +480,7 @@ cc_network_panel_connect_to_3g_network (CcNetworkPanel *panel,
NMAMobileWizard *wizard;
NMDeviceModemCapabilities caps;
+ g_debug ("connect to 3g");
if (!NM_IS_DEVICE_MODEM (device)) {
g_warning ("Network panel loaded with connect-3g but the selected device"
" is not a modem");
diff --git a/panels/network/network-dialogs.h b/panels/network/network-dialogs.h
index cd9c6a7..fdd19ef 100644
--- a/panels/network/network-dialogs.h
+++ b/panels/network/network-dialogs.h
@@ -35,7 +35,7 @@ void cc_network_panel_connect_to_8021x_network (CcNetworkPanel *panel,
NMClient *client,
NMRemoteSettings *settings,
NMDevice *device,
- NMAccessPoint *ap);
+ const gchar *arg_access_point);
void cc_network_panel_connect_to_3g_network (CcNetworkPanel *panel,
NMClient *client,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]