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