169 lines
7.1 KiB
C++
169 lines
7.1 KiB
C++
//
|
|
// Copyright (C) 2012 The Android Open Source Project
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
//
|
|
|
|
#ifndef SHILL_SUPPLICANT_WPA_SUPPLICANT_H_
|
|
#define SHILL_SUPPLICANT_WPA_SUPPLICANT_H_
|
|
|
|
#include <map>
|
|
#include <string>
|
|
#include <vector>
|
|
|
|
#include "shill/key_value_store.h"
|
|
|
|
namespace shill {
|
|
|
|
class WPASupplicant {
|
|
public:
|
|
static const char kBSSPropertyBSSID[];
|
|
static const char kBSSPropertyFrequency[];
|
|
static const char kBSSPropertyIEs[];
|
|
static const char kBSSPropertyMode[];
|
|
static const char kBSSPropertyRates[];
|
|
static const char kBSSPropertySSID[];
|
|
static const char kBSSPropertySignal[];
|
|
static const char kCaPath[];
|
|
static const char kCurrentBSSNull[];
|
|
static const char kDBusAddr[];
|
|
static const char kDBusPath[];
|
|
static const char kDebugLevelDebug[];
|
|
static const char kDebugLevelError[];
|
|
static const char kDebugLevelExcessive[];
|
|
static const char kDebugLevelInfo[];
|
|
static const char kDebugLevelMsgDump[];
|
|
static const char kDebugLevelWarning[];
|
|
static const char kDriverNL80211[];
|
|
static const char kDriverWired[];
|
|
static const char kEAPParameterAlertUnknownCA[];
|
|
static const char kEAPParameterFailure[];
|
|
static const char kEAPParameterSuccess[];
|
|
static const char kEAPRequestedParameterPIN[];
|
|
static const char kEAPStatusAcceptProposedMethod[];
|
|
static const char kEAPStatusCompletion[];
|
|
static const char kEAPStatusLocalTLSAlert[];
|
|
static const char kEAPStatusParameterNeeded[];
|
|
static const char kEAPStatusRemoteCertificateVerification[];
|
|
static const char kEAPStatusRemoteTLSAlert[];
|
|
static const char kEAPStatusStarted[];
|
|
static const char kEnginePKCS11[];
|
|
static const char kErrorNetworkUnknown[];
|
|
static const char kErrorInterfaceExists[];
|
|
static const char kInterfacePropertyConfigFile[];
|
|
static const char kInterfacePropertyCurrentBSS[];
|
|
static const char kInterfacePropertyDepth[];
|
|
static const char kInterfacePropertyDisconnectReason[];
|
|
static const char kInterfacePropertyDriver[];
|
|
static const char kInterfacePropertyName[];
|
|
static const char kInterfacePropertyState[];
|
|
static const char kInterfacePropertySubject[];
|
|
static const char kInterfaceState4WayHandshake[];
|
|
static const char kInterfaceStateAssociated[];
|
|
static const char kInterfaceStateAssociating[];
|
|
static const char kInterfaceStateAuthenticating[];
|
|
static const char kInterfaceStateCompleted[];
|
|
static const char kInterfaceStateDisconnected[];
|
|
static const char kInterfaceStateGroupHandshake[];
|
|
static const char kInterfaceStateInactive[];
|
|
static const char kInterfaceStateScanning[];
|
|
static const char kKeyManagementIeee8021X[];
|
|
static const char kKeyManagementMethodSuffixEAP[];
|
|
static const char kKeyManagementMethodSuffixPSK[];
|
|
static const char kKeyModeNone[];
|
|
static const char kNetworkBgscanMethodLearn[];
|
|
// None is not a real method name, but we interpret 'none' as a request that
|
|
// no background scan parameter should be supplied to wpa_supplicant.
|
|
static const char kNetworkBgscanMethodNone[];
|
|
static const char kNetworkBgscanMethodSimple[];
|
|
static const char kNetworkModeInfrastructure[];
|
|
static const char kNetworkModeAdHoc[];
|
|
static const char kNetworkModeAccessPoint[];
|
|
static const char kNetworkPropertyBgscan[];
|
|
static const char kNetworkPropertyCaPath[];
|
|
static const char kNetworkPropertyDisableVHT[];
|
|
static const char kNetworkPropertyEapKeyManagement[];
|
|
static const char kNetworkPropertyEapIdentity[];
|
|
static const char kNetworkPropertyEapEap[];
|
|
static const char kNetworkPropertyEapInnerEap[];
|
|
static const char kNetworkPropertyEapAnonymousIdentity[];
|
|
static const char kNetworkPropertyEapClientCert[];
|
|
static const char kNetworkPropertyEapPrivateKey[];
|
|
static const char kNetworkPropertyEapPrivateKeyPassword[];
|
|
static const char kNetworkPropertyEapCaCert[];
|
|
static const char kNetworkPropertyEapCaPassword[];
|
|
static const char kNetworkPropertyEapCertId[];
|
|
static const char kNetworkPropertyEapKeyId[];
|
|
static const char kNetworkPropertyEapCaCertId[];
|
|
static const char kNetworkPropertyEapPin[];
|
|
static const char kNetworkPropertyEapProactiveKeyCaching[];
|
|
static const char kNetworkPropertyEapSubjectMatch[];
|
|
static const char kNetworkPropertyEapolFlags[];
|
|
static const char kNetworkPropertyEngine[];
|
|
static const char kNetworkPropertyEngineId[];
|
|
static const char kNetworkPropertyFrequency[];
|
|
static const char kNetworkPropertyIeee80211w[];
|
|
static const char kNetworkPropertyMode[];
|
|
static const char kNetworkPropertySSID[];
|
|
static const char kNetworkPropertyScanSSID[];
|
|
// TODO(quiche): Make the naming scheme more consistent, by adding the
|
|
// object type to the property names below. (crbug.com/206642)
|
|
static const char kPropertyAuthAlg[];
|
|
static const char kPropertyBSSID[];
|
|
static const char kPropertyMode[];
|
|
static const char kPropertyPreSharedKey[];
|
|
static const char kPropertyPrivacy[];
|
|
static const char kPropertyRSN[];
|
|
static const char kPropertyScanSSIDs[];
|
|
static const char kPropertyScanType[];
|
|
static const char kPropertySecurityProtocol[];
|
|
static const char kPropertySignal[];
|
|
static const char kPropertyWEPKey[];
|
|
static const char kPropertyWEPTxKeyIndex[];
|
|
static const char kPropertyWPA[];
|
|
static const char kScanTypeActive[];
|
|
static const char kSecurityAuthAlg[];
|
|
static const char kSecurityMethodPropertyKeyManagement[];
|
|
static const char kSecurityModeRSN[];
|
|
static const char kSecurityModeWPA[];
|
|
static const char kTDLSStateConnected[];
|
|
static const char kTDLSStateDisabled[];
|
|
static const char kTDLSStatePeerDoesNotExist[];
|
|
static const char kTDLSStatePeerNotConnected[];
|
|
|
|
static const uint32_t kDefaultEngine;
|
|
static const uint32_t kNetworkIeee80211wDisabled;
|
|
static const uint32_t kNetworkIeee80211wEnabled;
|
|
static const uint32_t kNetworkIeee80211wRequired;
|
|
static const uint32_t kNetworkModeInfrastructureInt;
|
|
static const uint32_t kNetworkModeAdHocInt;
|
|
static const uint32_t kNetworkModeAccessPointInt;
|
|
static const uint32_t kScanMaxSSIDsPerScan;
|
|
|
|
static const uint32_t kProactiveKeyCachingDisabled;
|
|
static const uint32_t kProactiveKeyCachingEnabled;
|
|
|
|
static const char kSupplicantConfPath[];
|
|
|
|
// Retrieve the |subject| and |depth| of an a remote certifying entity,
|
|
// as contained the the |properties| to a Certification event from
|
|
// wpa_supplicant. Returns true if an |subject| and |depth| were
|
|
// extracted successfully, false otherwise.
|
|
static bool ExtractRemoteCertification(const KeyValueStore& properties,
|
|
std::string* subject,
|
|
uint32_t* depth);
|
|
};
|
|
|
|
} // namespace shill
|
|
|
|
#endif // SHILL_SUPPLICANT_WPA_SUPPLICANT_H_
|