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