|
Packit Service |
639700 |
// SPDX-License-Identifier: GPL-2.0+
|
|
Packit |
fabffb |
/* NetworkManager Applet -- allow user control over networking
|
|
Packit |
fabffb |
*
|
|
Packit |
fabffb |
* Dan Williams <dcbw@redhat.com>
|
|
Packit |
fabffb |
*
|
|
Packit |
fabffb |
* Copyright 2007 - 2014 Red Hat, Inc.
|
|
Packit |
fabffb |
*/
|
|
Packit |
fabffb |
|
|
Packit |
fabffb |
#include "nm-default.h"
|
|
Packit |
fabffb |
|
|
Packit |
fabffb |
#include <ctype.h>
|
|
Packit |
fabffb |
#include <string.h>
|
|
Packit |
fabffb |
|
|
Packit |
fabffb |
#include "wireless-security.h"
|
|
Packit |
fabffb |
#include "eap-method.h"
|
|
Packit |
fabffb |
|
|
Packit |
fabffb |
struct _WirelessSecurityDynamicWEP {
|
|
Packit |
fabffb |
WirelessSecurity parent;
|
|
Packit |
fabffb |
|
|
Packit |
fabffb |
GtkSizeGroup *size_group;
|
|
Packit |
fabffb |
};
|
|
Packit |
fabffb |
|
|
Packit |
fabffb |
static void
|
|
Packit |
fabffb |
destroy (WirelessSecurity *parent)
|
|
Packit |
fabffb |
{
|
|
Packit |
fabffb |
WirelessSecurityDynamicWEP *sec = (WirelessSecurityDynamicWEP *) parent;
|
|
Packit |
fabffb |
|
|
Packit |
fabffb |
if (sec->size_group)
|
|
Packit |
fabffb |
g_object_unref (sec->size_group);
|
|
Packit |
fabffb |
}
|
|
Packit |
fabffb |
|
|
Packit |
fabffb |
static gboolean
|
|
Packit |
fabffb |
validate (WirelessSecurity *parent, GError **error)
|
|
Packit |
fabffb |
{
|
|
Packit |
fabffb |
return ws_802_1x_validate (parent, "dynamic_wep_auth_combo", error);
|
|
Packit |
fabffb |
}
|
|
Packit |
fabffb |
|
|
Packit |
fabffb |
static void
|
|
Packit |
fabffb |
add_to_size_group (WirelessSecurity *parent, GtkSizeGroup *group)
|
|
Packit |
fabffb |
{
|
|
Packit |
fabffb |
WirelessSecurityDynamicWEP *sec = (WirelessSecurityDynamicWEP *) parent;
|
|
Packit |
fabffb |
|
|
Packit |
fabffb |
if (sec->size_group)
|
|
Packit |
fabffb |
g_object_unref (sec->size_group);
|
|
Packit |
fabffb |
sec->size_group = g_object_ref (group);
|
|
Packit |
fabffb |
|
|
Packit |
fabffb |
ws_802_1x_add_to_size_group (parent,
|
|
Packit |
fabffb |
sec->size_group,
|
|
Packit |
fabffb |
"dynamic_wep_auth_label",
|
|
Packit |
fabffb |
"dynamic_wep_auth_combo");
|
|
Packit |
fabffb |
}
|
|
Packit |
fabffb |
|
|
Packit |
fabffb |
static void
|
|
Packit |
fabffb |
fill_connection (WirelessSecurity *parent, NMConnection *connection)
|
|
Packit |
fabffb |
{
|
|
Packit |
fabffb |
NMSettingWirelessSecurity *s_wireless_sec;
|
|
Packit |
fabffb |
|
|
Packit |
fabffb |
ws_802_1x_fill_connection (parent, "dynamic_wep_auth_combo", connection);
|
|
Packit |
fabffb |
|
|
Packit |
fabffb |
s_wireless_sec = nm_connection_get_setting_wireless_security (connection);
|
|
Packit |
fabffb |
g_assert (s_wireless_sec);
|
|
Packit |
fabffb |
|
|
Packit |
fabffb |
g_object_set (s_wireless_sec, NM_SETTING_WIRELESS_SECURITY_KEY_MGMT, "ieee8021x", NULL);
|
|
Packit |
fabffb |
}
|
|
Packit |
fabffb |
|
|
Packit |
fabffb |
static void
|
|
Packit |
fabffb |
auth_combo_changed_cb (GtkWidget *combo, gpointer user_data)
|
|
Packit |
fabffb |
{
|
|
Packit |
fabffb |
WirelessSecurity *parent = WIRELESS_SECURITY (user_data);
|
|
Packit |
fabffb |
WirelessSecurityDynamicWEP *sec = (WirelessSecurityDynamicWEP *) parent;
|
|
Packit |
fabffb |
|
|
Packit |
fabffb |
ws_802_1x_auth_combo_changed (combo,
|
|
Packit |
fabffb |
parent,
|
|
Packit |
fabffb |
"dynamic_wep_method_vbox",
|
|
Packit |
fabffb |
sec->size_group);
|
|
Packit |
fabffb |
}
|
|
Packit |
fabffb |
|
|
Packit |
fabffb |
static void
|
|
Packit |
fabffb |
update_secrets (WirelessSecurity *parent, NMConnection *connection)
|
|
Packit |
fabffb |
{
|
|
Packit |
fabffb |
ws_802_1x_update_secrets (parent, "dynamic_wep_auth_combo", connection);
|
|
Packit |
fabffb |
}
|
|
Packit |
fabffb |
|
|
Packit |
fabffb |
WirelessSecurityDynamicWEP *
|
|
Packit |
fabffb |
ws_dynamic_wep_new (NMConnection *connection,
|
|
Packit |
fabffb |
gboolean is_editor,
|
|
Packit |
fabffb |
gboolean secrets_only)
|
|
Packit |
fabffb |
{
|
|
Packit |
fabffb |
WirelessSecurity *parent;
|
|
Packit |
fabffb |
GtkWidget *widget;
|
|
Packit |
fabffb |
|
|
Packit |
fabffb |
parent = wireless_security_init (sizeof (WirelessSecurityDynamicWEP),
|
|
Packit |
fabffb |
validate,
|
|
Packit |
fabffb |
add_to_size_group,
|
|
Packit |
fabffb |
fill_connection,
|
|
Packit |
fabffb |
update_secrets,
|
|
Packit |
fabffb |
destroy,
|
|
Packit |
fabffb |
"/org/freedesktop/network-manager-applet/ws-dynamic-wep.ui",
|
|
Packit |
fabffb |
"dynamic_wep_notebook",
|
|
Packit |
fabffb |
NULL);
|
|
Packit |
fabffb |
if (!parent)
|
|
Packit |
fabffb |
return NULL;
|
|
Packit |
fabffb |
|
|
Packit |
fabffb |
parent->adhoc_compatible = FALSE;
|
|
Packit |
fabffb |
parent->hotspot_compatible = FALSE;
|
|
Packit |
fabffb |
|
|
Packit |
fabffb |
widget = ws_802_1x_auth_combo_init (parent,
|
|
Packit |
fabffb |
"dynamic_wep_auth_combo",
|
|
Packit |
fabffb |
"dynamic_wep_auth_label",
|
|
Packit |
fabffb |
(GCallback) auth_combo_changed_cb,
|
|
Packit |
fabffb |
connection,
|
|
Packit |
fabffb |
is_editor,
|
|
Packit |
fabffb |
secrets_only,
|
|
Packit |
fabffb |
NULL);
|
|
Packit |
fabffb |
auth_combo_changed_cb (widget, (gpointer) parent);
|
|
Packit |
fabffb |
|
|
Packit |
fabffb |
return (WirelessSecurityDynamicWEP *) parent;
|
|
Packit |
fabffb |
}
|
|
Packit |
fabffb |
|