
Add WPA Enterprise support: * gnome/applet/Makefile.am: Build the files nm-gconf-wso-wpa-eap.c and nm-gconf-wso-wpa-eap.h. * gnome/applet/nm-gconf-wso-wpa-eap.c, gnome/applet/nm-gconf-wso-wpa-eap.h: Add WPA Enterprise Gconf serialization and deserialization. * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c, gnome/applet/wireless-security-option.c, gnome/applet/wso-wpa-psk.c, gnome/applet/wso-wpa-psk.h: Clean up, support new defines. * gnome/applet/wireless-applet.glade: Add UI for configurating security settings related to WPA Enterprise. * gnome/applet/wireless-security-manager.c: Invoke wso_wpa_eap_new() to instantiate WPA Enterprise wireless-security-option. * gnome/applet/wso-wpa-eap.c, gnome/applet/wso-wpa-eap.h: New files. Implement WPA Enterprise wireless-security-option object. * include/NetworkManager.h: Add new NM_AUTH_TYPE_* and NM_EAP_METHOD_* defines. Cleanup. * libnm-util/cipher-wpa-psk-hex.c, libnm-util/cipher-wpa-psk-passphrase.c: Cleanup. * libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h: Add nmu_security_serialize_wpa_eap() to serialize input to DBUS method, nmu_security_serialize_wpa_eap_with_cipher() to serialize input including the cipher to DBUS method, and nmu_security_deserialize_wpa_eap() to deserialize from DBUS return to output. * src/Makefile.am: Build the files nm-ap-security-wpa-eap.c and nm-ap-security-wpa-eap.h * src/NetworkManagerAP.c: Add NM_AUTH_TYPE_WPA_EAP to NM_802_11_CAP_KEY_MGMT_802_1X cipher to capability mapping. * src/nm-ap-security-wpa-eap.c, src/nm-ap-security-wpa-eap.h: New files. Implement NMAPSecurityWPA_EAP object. * src/nm-ap-security-wpa-psk.c: Cleanup. * src/nm-ap-security.c: Support NM_AUTH_TYPE_EAP cipher and instantiate an NMAPSecurityWPA_EAP object via the method nm_ap_security_wpa_eap_new_deserialize(). * src/nm-dbus-nm.c: Cleanup. * test/nm-tool.c: Display "Enterprise" for wireless networks providing WPA Enterprise support. git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1493 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
176 lines
5.0 KiB
C
176 lines
5.0 KiB
C
/* NetworkManager -- Network link manager
|
|
*
|
|
* Dan Williams <dcbw@redhat.com>
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation; either version 2 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; if not, write to the Free Software
|
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
*
|
|
* (C) Copyright 2004 Red Hat, Inc.
|
|
*/
|
|
|
|
#ifndef NETWORK_MANAGER_H
|
|
#define NETWORK_MANAGER_H
|
|
|
|
/*
|
|
* dbus services details
|
|
*/
|
|
#define NM_DBUS_SERVICE "org.freedesktop.NetworkManager"
|
|
|
|
#define NM_DBUS_PATH "/org/freedesktop/NetworkManager"
|
|
#define NM_DBUS_INTERFACE "org.freedesktop.NetworkManager"
|
|
#define NM_DBUS_PATH_DEVICES "/org/freedesktop/NetworkManager/Devices"
|
|
#define NM_DBUS_INTERFACE_DEVICES "org.freedesktop.NetworkManager.Devices"
|
|
#define NM_DBUS_PATH_DHCP "/org/freedesktop/NetworkManager/DhcpOptions"
|
|
#define NM_DBUS_INTERFACE_DHCP "org.freedesktop.NetworkManager.DhcpOptions"
|
|
|
|
#define NMI_DBUS_SERVICE "org.freedesktop.NetworkManagerInfo"
|
|
#define NMI_DBUS_PATH "/org/freedesktop/NetworkManagerInfo"
|
|
#define NMI_DBUS_INTERFACE "org.freedesktop.NetworkManagerInfo"
|
|
|
|
|
|
/*
|
|
* Some common errors
|
|
*/
|
|
#define NM_DBUS_NO_DEVICES_ERROR "org.freedesktop.NetworkManager.NoDevices"
|
|
#define NM_DBUS_NO_DIALUP_ERROR "org.freedesktop.NetworkManager.NoDialup"
|
|
#define NM_DBUS_NO_NETWORKS_ERROR "org.freedesktop.NetworkManager.NoNetworks"
|
|
#define NM_DBUS_NO_ACTIVE_DEVICE_ERROR "org.freedesktop.NetworkManager.NoActiveDevice"
|
|
#define NM_DBUS_NO_ACTIVE_NET_ERROR "org.freedesktop.NetworkManager.NoActiveNetwork"
|
|
|
|
#define NMI_DBUS_USER_KEY_CANCELED_ERROR "org.freedesktop.NetworkManagerInfo.CanceledError"
|
|
|
|
|
|
/*
|
|
* NetworkManager signals
|
|
*/
|
|
#define NM_DBUS_SIGNAL_STATE_CHANGE "StateChange"
|
|
|
|
|
|
/*
|
|
* Types of NetworkManager devices
|
|
*/
|
|
typedef enum NMState
|
|
{
|
|
NM_STATE_UNKNOWN = 0,
|
|
NM_STATE_ASLEEP,
|
|
NM_STATE_CONNECTING,
|
|
NM_STATE_CONNECTED,
|
|
NM_STATE_DISCONNECTED
|
|
} NMState;
|
|
|
|
|
|
/*
|
|
* Types of NetworkManager devices
|
|
*/
|
|
typedef enum NMDeviceType
|
|
{
|
|
DEVICE_TYPE_UNKNOWN = 0,
|
|
DEVICE_TYPE_802_3_ETHERNET,
|
|
DEVICE_TYPE_802_11_WIRELESS
|
|
} NMDeviceType;
|
|
|
|
|
|
/*
|
|
* General device capability bits
|
|
*
|
|
*/
|
|
#define NM_DEVICE_CAP_NONE 0x00000000
|
|
#define NM_DEVICE_CAP_NM_SUPPORTED 0x00000001
|
|
#define NM_DEVICE_CAP_CARRIER_DETECT 0x00000002
|
|
#define NM_DEVICE_CAP_WIRELESS_SCAN 0x00000004
|
|
|
|
|
|
/* 802.11 wireless-specific device capability bits */
|
|
#define NM_802_11_CAP_NONE 0x00000000
|
|
#define NM_802_11_CAP_PROTO_NONE 0x00000001
|
|
#define NM_802_11_CAP_PROTO_WEP 0x00000002
|
|
#define NM_802_11_CAP_PROTO_WPA 0x00000004
|
|
#define NM_802_11_CAP_PROTO_WPA2 0x00000008
|
|
#define NM_802_11_CAP_RESERVED1 0x00000010
|
|
#define NM_802_11_CAP_RESERVED2 0x00000020
|
|
#define NM_802_11_CAP_KEY_MGMT_PSK 0x00000040
|
|
#define NM_802_11_CAP_KEY_MGMT_802_1X 0x00000080
|
|
#define NM_802_11_CAP_RESERVED3 0x00000100
|
|
#define NM_802_11_CAP_RESERVED4 0x00000200
|
|
#define NM_802_11_CAP_RESERVED5 0x00000400
|
|
#define NM_802_11_CAP_RESERVED6 0x00000800
|
|
#define NM_802_11_CAP_CIPHER_WEP40 0x00001000
|
|
#define NM_802_11_CAP_CIPHER_WEP104 0x00002000
|
|
#define NM_802_11_CAP_CIPHER_TKIP 0x00004000
|
|
#define NM_802_11_CAP_CIPHER_CCMP 0x00008000
|
|
|
|
/*
|
|
* NM-supported Authentication Methods
|
|
*/
|
|
#define NM_AUTH_TYPE_WPA_PSK_AUTO 0x00000000
|
|
#define NM_AUTH_TYPE_NONE 0x00000001
|
|
#define NM_AUTH_TYPE_WEP40 0x00000002
|
|
#define NM_AUTH_TYPE_WPA_PSK_TKIP 0x00000004
|
|
#define NM_AUTH_TYPE_WPA_PSK_CCMP 0x00000008
|
|
#define NM_AUTH_TYPE_WEP104 0x00000010
|
|
#define NM_AUTH_TYPE_WPA_EAP 0x00000020
|
|
|
|
/*
|
|
* EAP Methods
|
|
*/
|
|
#define NM_EAP_METHOD_MD5 0x00000001 /* EAP-MD5 */
|
|
#define NM_EAP_METHOD_MSCHAP 0x00000002 /* EAP-MSCHAPv2 */
|
|
#define NM_EAP_METHOD_OTP 0x00000004 /* EAP-OTP */
|
|
#define NM_EAP_METHOD_GTC 0x00000008 /* EAP-GTC */
|
|
#define NM_EAP_METHOD_PEAP 0x00000010 /* EAP-PEAP */
|
|
#define NM_EAP_METHOD_TLS 0x00000020 /* EAP-TLS */
|
|
#define NM_EAP_METHOD_TTLS 0x00000040 /* EAP-TTLS */
|
|
|
|
/*
|
|
* Wireless network update types
|
|
*/
|
|
typedef enum
|
|
{
|
|
NETWORK_STATUS_DISAPPEARED = 0,
|
|
NETWORK_STATUS_APPEARED,
|
|
NETWORK_STATUS_STRENGTH_CHANGED
|
|
} NMNetworkStatus;
|
|
|
|
|
|
/*
|
|
* Wireless network types
|
|
*/
|
|
typedef enum NMNetworkType
|
|
{
|
|
NETWORK_TYPE_UNKNOWN = 0,
|
|
NETWORK_TYPE_ALLOWED,
|
|
NETWORK_TYPE_INVALID,
|
|
NETWORK_TYPE_DEVICE
|
|
} NMNetworkType;
|
|
|
|
|
|
/*
|
|
* Device activation stages
|
|
*/
|
|
typedef enum NMActStage
|
|
{
|
|
NM_ACT_STAGE_UNKNOWN = 0,
|
|
NM_ACT_STAGE_DEVICE_PREPARE,
|
|
NM_ACT_STAGE_DEVICE_CONFIG,
|
|
NM_ACT_STAGE_NEED_USER_KEY,
|
|
NM_ACT_STAGE_IP_CONFIG_START,
|
|
NM_ACT_STAGE_IP_CONFIG_GET,
|
|
NM_ACT_STAGE_IP_CONFIG_COMMIT,
|
|
NM_ACT_STAGE_ACTIVATED,
|
|
NM_ACT_STAGE_FAILED,
|
|
NM_ACT_STAGE_CANCELLED
|
|
} NMActStage;
|
|
|
|
#endif
|