1// Copyright 2013 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4#ifndef COMPONENTS_ONC_ONC_CONSTANTS_H_ 5#define COMPONENTS_ONC_ONC_CONSTANTS_H_ 6 7#include <string> 8 9#include "components/onc/onc_export.h" 10 11// Constants for ONC properties. 12namespace onc { 13 14// Indicates from which source an ONC blob comes from. 15enum ONCSource { 16 ONC_SOURCE_UNKNOWN, 17 ONC_SOURCE_NONE, 18 ONC_SOURCE_USER_IMPORT, 19 ONC_SOURCE_DEVICE_POLICY, 20 ONC_SOURCE_USER_POLICY, 21}; 22 23// These keys are used to augment the dictionary resulting from merging the 24// different settings and policies. 25 26// The setting that Shill declared to be using. For example, if no policy and no 27// user setting exists, Shill might still report a property like network 28// security options or a SSID. 29ONC_EXPORT extern const char kAugmentationActiveSetting[]; 30// The one of different setting sources (user/device policy, user/shared 31// settings) that has highest priority over the others. 32ONC_EXPORT extern const char kAugmentationEffectiveSetting[]; 33ONC_EXPORT extern const char kAugmentationUserPolicy[]; 34ONC_EXPORT extern const char kAugmentationDevicePolicy[]; 35ONC_EXPORT extern const char kAugmentationUserSetting[]; 36ONC_EXPORT extern const char kAugmentationSharedSetting[]; 37ONC_EXPORT extern const char kAugmentationUserEditable[]; 38ONC_EXPORT extern const char kAugmentationDeviceEditable[]; 39 40// This is no ONC key or value but used for logging only. 41// TODO(pneubeck): Remove. 42ONC_EXPORT extern const char kNetworkConfiguration[]; 43 44// Common keys/values. 45ONC_EXPORT extern const char kRecommended[]; 46ONC_EXPORT extern const char kRemove[]; 47 48// Top Level Configuration 49namespace toplevel_config { 50ONC_EXPORT extern const char kCertificates[]; 51ONC_EXPORT extern const char kEncryptedConfiguration[]; 52ONC_EXPORT extern const char kNetworkConfigurations[]; 53ONC_EXPORT extern const char kGlobalNetworkConfiguration[]; 54ONC_EXPORT extern const char kType[]; 55ONC_EXPORT extern const char kUnencryptedConfiguration[]; 56} // namespace toplevel_config 57 58// NetworkConfiguration. 59namespace network_config { 60ONC_EXPORT extern const char kCellular[]; 61ONC_EXPORT extern const char kDevice[]; 62ONC_EXPORT extern const char kEthernet[]; 63ONC_EXPORT extern const char kGUID[]; 64ONC_EXPORT extern const char kIPConfigs[]; 65ONC_EXPORT extern const char kSavedIPConfig[]; 66ONC_EXPORT extern const char kStaticIPConfig[]; 67ONC_EXPORT extern const char kMacAddress[]; 68ONC_EXPORT extern const char kName[]; 69ONC_EXPORT extern const char kNameServers[]; 70ONC_EXPORT extern const char kPriority[]; 71ONC_EXPORT extern const char kProxySettings[]; 72ONC_EXPORT extern const char kSearchDomains[]; 73ONC_EXPORT extern const char kSource[]; 74ONC_EXPORT extern const char kSourceDevice[]; 75ONC_EXPORT extern const char kSourceDevicePolicy[]; 76ONC_EXPORT extern const char kSourceNone[]; 77ONC_EXPORT extern const char kSourceUser[]; 78ONC_EXPORT extern const char kSourceUserPolicy[]; 79ONC_EXPORT extern const char kConnectionState[]; 80ONC_EXPORT extern const char kRestrictedConnectivity[]; 81ONC_EXPORT extern const char kConnectable[]; 82ONC_EXPORT extern const char kErrorState[]; 83ONC_EXPORT extern const char kType[]; 84ONC_EXPORT extern const char kVPN[]; 85ONC_EXPORT extern const char kWiFi[]; 86ONC_EXPORT extern const char kWimax[]; 87 88ONC_EXPORT extern std::string CellularProperty(const std::string& property); 89ONC_EXPORT extern std::string VpnProperty(const std::string& property); 90ONC_EXPORT extern std::string WifiProperty(const std::string& property); 91 92} // namespace network_config 93 94namespace network_type { 95ONC_EXPORT extern const char kCellular[]; 96ONC_EXPORT extern const char kEthernet[]; 97ONC_EXPORT extern const char kVPN[]; 98ONC_EXPORT extern const char kWiFi[]; 99ONC_EXPORT extern const char kWimax[]; 100// Patterns matching multiple types, not part of the ONC spec. 101ONC_EXPORT extern const char kAllTypes[]; 102ONC_EXPORT extern const char kWireless[]; 103} // namespace network_type 104 105namespace cellular { 106ONC_EXPORT extern const char kActivationState[]; 107ONC_EXPORT extern const char kActivated[]; 108ONC_EXPORT extern const char kActivating[]; 109ONC_EXPORT extern const char kNotActivated[]; 110ONC_EXPORT extern const char kPartiallyActivated[]; 111ONC_EXPORT extern const char kActivationType[]; 112ONC_EXPORT extern const char kAllowRoaming[]; 113ONC_EXPORT extern const char kAPN[]; 114ONC_EXPORT extern const char kAPNList[]; 115ONC_EXPORT extern const char kCarrier[]; 116ONC_EXPORT extern const char kESN[]; 117ONC_EXPORT extern const char kFamily[]; 118ONC_EXPORT extern const char kFirmwareRevision[]; 119ONC_EXPORT extern const char kFoundNetworks[]; 120ONC_EXPORT extern const char kHardwareRevision[]; 121ONC_EXPORT extern const char kHomeProvider[]; 122ONC_EXPORT extern const char kICCID[]; 123ONC_EXPORT extern const char kIMEI[]; 124ONC_EXPORT extern const char kIMSI[]; 125ONC_EXPORT extern const char kLastGoodAPN[]; 126ONC_EXPORT extern const char kManufacturer[]; 127ONC_EXPORT extern const char kMDN[]; 128ONC_EXPORT extern const char kMEID[]; 129ONC_EXPORT extern const char kMIN[]; 130ONC_EXPORT extern const char kModelID[]; 131ONC_EXPORT extern const char kNetworkTechnology[]; 132ONC_EXPORT extern const char kPRLVersion[]; 133ONC_EXPORT extern const char kProviderRequiresRoaming[]; 134ONC_EXPORT extern const char kRoamingState[]; 135ONC_EXPORT extern const char kHome[]; 136ONC_EXPORT extern const char kRoaming[]; 137ONC_EXPORT extern const char kServingOperator[]; 138ONC_EXPORT extern const char kSIMLockStatus[]; 139ONC_EXPORT extern const char kSIMPresent[]; 140ONC_EXPORT extern const char kSupportedCarriers[]; 141ONC_EXPORT extern const char kSupportNetworkScan[]; 142} // namespace cellular 143 144namespace cellular_provider { 145ONC_EXPORT extern const char kCode[]; 146ONC_EXPORT extern const char kCountry[]; 147ONC_EXPORT extern const char kName[]; 148} // namespace cellular_provider 149 150namespace cellular_apn { 151ONC_EXPORT extern const char kAccessPointName[]; 152ONC_EXPORT extern const char kName[]; 153ONC_EXPORT extern const char kUsername[]; 154ONC_EXPORT extern const char kPassword[]; 155ONC_EXPORT extern const char kLocalizedName[]; 156ONC_EXPORT extern const char kLanguage[]; 157} // namespace cellular_apn 158 159namespace cellular_found_network { 160ONC_EXPORT extern const char kStatus[]; 161ONC_EXPORT extern const char kNetworkId[]; 162ONC_EXPORT extern const char kShortName[]; 163ONC_EXPORT extern const char kLongName[]; 164ONC_EXPORT extern const char kTechnology[]; 165} // namespace cellular_found_network 166 167namespace sim_lock_status { 168ONC_EXPORT extern const char kLockEnabled[]; 169ONC_EXPORT extern const char kLockType[]; 170ONC_EXPORT extern const char kRetriesLeft[]; 171} // namespace sim_lock_status 172 173namespace connection_state { 174ONC_EXPORT extern const char kConnected[]; 175ONC_EXPORT extern const char kConnecting[]; 176ONC_EXPORT extern const char kNotConnected[]; 177} // namespace connection_state 178 179namespace ipconfig { 180ONC_EXPORT extern const char kGateway[]; 181ONC_EXPORT extern const char kIPAddress[]; 182ONC_EXPORT extern const char kIPv4[]; 183ONC_EXPORT extern const char kIPv6[]; 184ONC_EXPORT extern const char kNameServers[]; 185ONC_EXPORT extern const char kRoutingPrefix[]; 186ONC_EXPORT extern const char kType[]; 187ONC_EXPORT extern const char kWebProxyAutoDiscoveryUrl[]; 188} // namespace ipconfig 189 190namespace ethernet { 191ONC_EXPORT extern const char kAuthentication[]; 192ONC_EXPORT extern const char kAuthenticationNone[]; 193ONC_EXPORT extern const char kEAP[]; 194ONC_EXPORT extern const char k8021X[]; 195} // namespace ethernet 196 197namespace wifi { 198ONC_EXPORT extern const char kAutoConnect[]; 199ONC_EXPORT extern const char kBSSID[]; 200ONC_EXPORT extern const char kEAP[]; 201ONC_EXPORT extern const char kFrequency[]; 202ONC_EXPORT extern const char kFrequencyList[]; 203ONC_EXPORT extern const char kHiddenSSID[]; 204ONC_EXPORT extern const char kPassphrase[]; 205ONC_EXPORT extern const char kSSID[]; 206ONC_EXPORT extern const char kSecurity[]; 207ONC_EXPORT extern const char kSecurityNone[]; 208ONC_EXPORT extern const char kSignalStrength[]; 209ONC_EXPORT extern const char kWEP_PSK[]; 210ONC_EXPORT extern const char kWEP_8021X[]; 211ONC_EXPORT extern const char kWPA_PSK[]; 212ONC_EXPORT extern const char kWPA2_PSK[]; 213ONC_EXPORT extern const char kWPA_EAP[]; 214} // namespace wifi 215 216namespace wimax { 217ONC_EXPORT extern const char kAutoConnect[]; 218ONC_EXPORT extern const char kEAP[]; 219ONC_EXPORT extern const char kSignalStrength[]; 220} // namespace wimax 221 222namespace client_cert { 223ONC_EXPORT extern const char kClientCertPattern[]; 224ONC_EXPORT extern const char kClientCertRef[]; 225ONC_EXPORT extern const char kClientCertType[]; 226ONC_EXPORT extern const char kClientCertTypeNone[]; 227ONC_EXPORT extern const char kCommonName[]; 228ONC_EXPORT extern const char kEmailAddress[]; 229ONC_EXPORT extern const char kEnrollmentURI[]; 230ONC_EXPORT extern const char kIssuerCARef[]; 231ONC_EXPORT extern const char kIssuerCAPEMs[]; 232ONC_EXPORT extern const char kIssuer[]; 233ONC_EXPORT extern const char kLocality[]; 234ONC_EXPORT extern const char kOrganization[]; 235ONC_EXPORT extern const char kOrganizationalUnit[]; 236ONC_EXPORT extern const char kPattern[]; 237ONC_EXPORT extern const char kRef[]; 238ONC_EXPORT extern const char kSubject[]; 239} // namespace client_cert 240 241namespace certificate { 242ONC_EXPORT extern const char kAuthority[]; 243ONC_EXPORT extern const char kClient[]; 244ONC_EXPORT extern const char kGUID[]; 245ONC_EXPORT extern const char kPKCS12[]; 246ONC_EXPORT extern const char kServer[]; 247ONC_EXPORT extern const char kTrustBits[]; 248ONC_EXPORT extern const char kType[]; 249ONC_EXPORT extern const char kWeb[]; 250ONC_EXPORT extern const char kX509[]; 251} // namespace certificate 252 253namespace encrypted { 254ONC_EXPORT extern const char kAES256[]; 255ONC_EXPORT extern const char kCipher[]; 256ONC_EXPORT extern const char kCiphertext[]; 257ONC_EXPORT extern const char kHMACMethod[]; 258ONC_EXPORT extern const char kHMAC[]; 259ONC_EXPORT extern const char kIV[]; 260ONC_EXPORT extern const char kIterations[]; 261ONC_EXPORT extern const char kPBKDF2[]; 262ONC_EXPORT extern const char kSHA1[]; 263ONC_EXPORT extern const char kSalt[]; 264ONC_EXPORT extern const char kStretch[]; 265} // namespace encrypted 266 267namespace eap { 268ONC_EXPORT extern const char kAnonymousIdentity[]; 269ONC_EXPORT extern const char kAutomatic[]; 270ONC_EXPORT extern const char kEAP_AKA[]; 271ONC_EXPORT extern const char kEAP_FAST[]; 272ONC_EXPORT extern const char kEAP_SIM[]; 273ONC_EXPORT extern const char kEAP_TLS[]; 274ONC_EXPORT extern const char kEAP_TTLS[]; 275ONC_EXPORT extern const char kIdentity[]; 276ONC_EXPORT extern const char kInner[]; 277ONC_EXPORT extern const char kLEAP[]; 278ONC_EXPORT extern const char kMD5[]; 279ONC_EXPORT extern const char kMSCHAPv2[]; 280ONC_EXPORT extern const char kOuter[]; 281ONC_EXPORT extern const char kPAP[]; 282ONC_EXPORT extern const char kPEAP[]; 283ONC_EXPORT extern const char kPassword[]; 284ONC_EXPORT extern const char kSaveCredentials[]; 285ONC_EXPORT extern const char kServerCAPEMs[]; 286ONC_EXPORT extern const char kServerCARef[]; 287ONC_EXPORT extern const char kServerCARefs[]; 288ONC_EXPORT extern const char kUseSystemCAs[]; 289} // namespace eap 290 291namespace vpn { 292ONC_EXPORT extern const char kAutoConnect[]; 293ONC_EXPORT extern const char kHost[]; 294ONC_EXPORT extern const char kIPsec[]; 295ONC_EXPORT extern const char kL2TP[]; 296ONC_EXPORT extern const char kOpenVPN[]; 297ONC_EXPORT extern const char kPassword[]; 298ONC_EXPORT extern const char kSaveCredentials[]; 299ONC_EXPORT extern const char kTypeL2TP_IPsec[]; 300ONC_EXPORT extern const char kType[]; 301ONC_EXPORT extern const char kUsername[]; 302} // namespace vpn 303 304namespace ipsec { 305ONC_EXPORT extern const char kAuthenticationType[]; 306ONC_EXPORT extern const char kCert[]; 307ONC_EXPORT extern const char kEAP[]; 308ONC_EXPORT extern const char kGroup[]; 309ONC_EXPORT extern const char kIKEVersion[]; 310ONC_EXPORT extern const char kPSK[]; 311ONC_EXPORT extern const char kServerCAPEMs[]; 312ONC_EXPORT extern const char kServerCARef[]; 313ONC_EXPORT extern const char kServerCARefs[]; 314ONC_EXPORT extern const char kXAUTH[]; 315} // namespace ipsec 316 317namespace openvpn { 318ONC_EXPORT extern const char kAuthNoCache[]; 319ONC_EXPORT extern const char kAuthRetry[]; 320ONC_EXPORT extern const char kAuth[]; 321ONC_EXPORT extern const char kCipher[]; 322ONC_EXPORT extern const char kCompLZO[]; 323ONC_EXPORT extern const char kCompNoAdapt[]; 324ONC_EXPORT extern const char kIgnoreDefaultRoute[]; 325ONC_EXPORT extern const char kInteract[]; 326ONC_EXPORT extern const char kKeyDirection[]; 327ONC_EXPORT extern const char kNoInteract[]; 328ONC_EXPORT extern const char kNone[]; 329ONC_EXPORT extern const char kNsCertType[]; 330ONC_EXPORT extern const char kPort[]; 331ONC_EXPORT extern const char kProto[]; 332ONC_EXPORT extern const char kPushPeerInfo[]; 333ONC_EXPORT extern const char kRemoteCertEKU[]; 334ONC_EXPORT extern const char kRemoteCertKU[]; 335ONC_EXPORT extern const char kRemoteCertTLS[]; 336ONC_EXPORT extern const char kRenegSec[]; 337ONC_EXPORT extern const char kServerCAPEMs[]; 338ONC_EXPORT extern const char kServerCARef[]; 339ONC_EXPORT extern const char kServerCARefs[]; 340ONC_EXPORT extern const char kServerCertPEM[]; 341ONC_EXPORT extern const char kServerCertRef[]; 342ONC_EXPORT extern const char kServerPollTimeout[]; 343ONC_EXPORT extern const char kServer[]; 344ONC_EXPORT extern const char kShaper[]; 345ONC_EXPORT extern const char kStaticChallenge[]; 346ONC_EXPORT extern const char kTLSAuthContents[]; 347ONC_EXPORT extern const char kTLSRemote[]; 348ONC_EXPORT extern const char kVerb[]; 349ONC_EXPORT extern const char kVerifyHash[]; 350ONC_EXPORT extern const char kVerifyX509[]; 351} // namespace openvpn 352 353namespace verify_x509 { 354ONC_EXPORT extern const char kName[]; 355ONC_EXPORT extern const char kType[]; 356 357namespace types { 358ONC_EXPORT extern const char kName[]; 359ONC_EXPORT extern const char kNamePrefix[]; 360ONC_EXPORT extern const char kSubject[]; 361} // namespace types 362} // namespace verify_x509 363 364namespace substitutes { 365ONC_EXPORT extern const char kEmailField[]; 366ONC_EXPORT extern const char kLoginIDField[]; 367} // namespace substitutes 368 369namespace proxy { 370ONC_EXPORT extern const char kDirect[]; 371ONC_EXPORT extern const char kExcludeDomains[]; 372ONC_EXPORT extern const char kFtp[]; 373ONC_EXPORT extern const char kHost[]; 374ONC_EXPORT extern const char kHttp[]; 375ONC_EXPORT extern const char kHttps[]; 376ONC_EXPORT extern const char kManual[]; 377ONC_EXPORT extern const char kPAC[]; 378ONC_EXPORT extern const char kPort[]; 379ONC_EXPORT extern const char kSocks[]; 380ONC_EXPORT extern const char kType[]; 381ONC_EXPORT extern const char kWPAD[]; 382} // namespace proxy 383 384namespace global_network_config { 385ONC_EXPORT extern const char kAllowOnlyPolicyNetworksToAutoconnect[]; 386} // global_network_config 387 388} // namespace onc 389 390#endif // COMPONENTS_ONC_ONC_CONSTANTS_H_ 391