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_NONE, 17 ONC_SOURCE_USER_IMPORT, 18 ONC_SOURCE_DEVICE_POLICY, 19 ONC_SOURCE_USER_POLICY, 20 }; 21 22 // These keys are used to augment the dictionary resulting from merging the 23 // different settings and policies. 24 25 // The setting that Shill declared to be using. For example, if no policy and no 26 // user setting exists, Shill might still report a property like network 27 // security options or a SSID. 28 ONC_EXPORT extern const char kAugmentationActiveSetting[]; 29 // The one of different setting sources (user/device policy, user/shared 30 // settings) that has highest priority over the others. 31 ONC_EXPORT extern const char kAugmentationEffectiveSetting[]; 32 ONC_EXPORT extern const char kAugmentationUnmanaged[]; 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 kMacAddress[]; 66 ONC_EXPORT extern const char kName[]; 67 ONC_EXPORT extern const char kNameServers[]; 68 ONC_EXPORT extern const char kProxySettings[]; 69 ONC_EXPORT extern const char kSearchDomains[]; 70 ONC_EXPORT extern const char kConnectionState[]; 71 ONC_EXPORT extern const char kConnectable[]; 72 ONC_EXPORT extern const char kErrorState[]; 73 ONC_EXPORT extern const char kType[]; 74 ONC_EXPORT extern const char kVPN[]; 75 ONC_EXPORT extern const char kWiFi[]; 76 77 ONC_EXPORT extern std::string CellularProperty(const std::string& property); 78 ONC_EXPORT extern std::string VpnProperty(const std::string& property); 79 ONC_EXPORT extern std::string WifiProperty(const std::string& property); 80 81 } // namespace network_config 82 83 namespace network_type { 84 ONC_EXPORT extern const char kCellular[]; 85 ONC_EXPORT extern const char kEthernet[]; 86 ONC_EXPORT extern const char kVPN[]; 87 ONC_EXPORT extern const char kWiFi[]; 88 ONC_EXPORT extern const char kWimax[]; 89 // Patterns matching multiple types, not part of the ONC spec. 90 ONC_EXPORT extern const char kAllTypes[]; 91 ONC_EXPORT extern const char kWireless[]; 92 } // namespace network_type 93 94 namespace cellular { 95 ONC_EXPORT extern const char kActivateOverNonCellularNetwork[]; 96 ONC_EXPORT extern const char kActivationState[]; 97 ONC_EXPORT extern const char kAllowRoaming[]; 98 ONC_EXPORT extern const char kAPN[]; 99 ONC_EXPORT extern const char kAPNList[]; 100 ONC_EXPORT extern const char kCarrier[]; 101 ONC_EXPORT extern const char kESN[]; 102 ONC_EXPORT extern const char kFamily[]; 103 ONC_EXPORT extern const char kFirmwareRevision[]; 104 ONC_EXPORT extern const char kFoundNetworks[]; 105 ONC_EXPORT extern const char kHardwareRevision[]; 106 ONC_EXPORT extern const char kHomeProvider[]; 107 ONC_EXPORT extern const char kICCID[]; 108 ONC_EXPORT extern const char kIMEI[]; 109 ONC_EXPORT extern const char kIMSI[]; 110 ONC_EXPORT extern const char kManufacturer[]; 111 ONC_EXPORT extern const char kMDN[]; 112 ONC_EXPORT extern const char kMEID[]; 113 ONC_EXPORT extern const char kMIN[]; 114 ONC_EXPORT extern const char kModelID[]; 115 ONC_EXPORT extern const char kNetworkTechnology[]; 116 ONC_EXPORT extern const char kPRLVersion[]; 117 ONC_EXPORT extern const char kProviderRequiresRoaming[]; 118 ONC_EXPORT extern const char kRoamingState[]; 119 ONC_EXPORT extern const char kSelectedNetwork[]; 120 ONC_EXPORT extern const char kServingOperator[]; 121 ONC_EXPORT extern const char kSIMLockEnabled[]; 122 ONC_EXPORT extern const char kSIMLockStatus[]; 123 ONC_EXPORT extern const char kSIMLockType[]; 124 ONC_EXPORT extern const char kSIMPresent[]; 125 ONC_EXPORT extern const char kSupportedCarriers[]; 126 ONC_EXPORT extern const char kSupportNetworkScan[]; 127 } // namespace cellular 128 129 namespace cellular_provider { 130 ONC_EXPORT extern const char kCode[]; 131 ONC_EXPORT extern const char kCountry[]; 132 ONC_EXPORT extern const char kName[]; 133 } // namespace cellular_provider 134 135 namespace cellular_apn { 136 ONC_EXPORT extern const char kName[]; 137 ONC_EXPORT extern const char kUsername[]; 138 ONC_EXPORT extern const char kPassword[]; 139 } // namespace cellular_apn 140 141 142 namespace connection_state { 143 ONC_EXPORT extern const char kConnected[]; 144 ONC_EXPORT extern const char kConnecting[]; 145 ONC_EXPORT extern const char kNotConnected[]; 146 } // namespace connection_state 147 148 namespace ipconfig { 149 ONC_EXPORT extern const char kGateway[]; 150 ONC_EXPORT extern const char kIPAddress[]; 151 ONC_EXPORT extern const char kIPv4[]; 152 ONC_EXPORT extern const char kIPv6[]; 153 ONC_EXPORT extern const char kNameServers[]; 154 ONC_EXPORT extern const char kRoutingPrefix[]; 155 ONC_EXPORT extern const char kType[]; 156 } // namespace ipconfig 157 158 namespace ethernet { 159 ONC_EXPORT extern const char kAuthentication[]; 160 ONC_EXPORT extern const char kEAP[]; 161 ONC_EXPORT extern const char kNone[]; 162 ONC_EXPORT extern const char k8021X[]; 163 } // namespace ethernet 164 165 namespace wifi { 166 ONC_EXPORT extern const char kAutoConnect[]; 167 ONC_EXPORT extern const char kBSSID[]; 168 ONC_EXPORT extern const char kEAP[]; 169 ONC_EXPORT extern const char kFrequency[]; 170 ONC_EXPORT extern const char kFrequencyList[]; 171 ONC_EXPORT extern const char kHiddenSSID[]; 172 ONC_EXPORT extern const char kNone[]; 173 ONC_EXPORT extern const char kPassphrase[]; 174 ONC_EXPORT extern const char kProxyURL[]; 175 ONC_EXPORT extern const char kSSID[]; 176 ONC_EXPORT extern const char kSecurity[]; 177 ONC_EXPORT extern const char kSignalStrength[]; 178 ONC_EXPORT extern const char kWEP_PSK[]; 179 ONC_EXPORT extern const char kWEP_8021X[]; 180 ONC_EXPORT extern const char kWPA_PSK[]; 181 ONC_EXPORT extern const char kWPA2_PSK[]; 182 ONC_EXPORT extern const char kWPA_EAP[]; 183 } // namespace wifi 184 185 namespace certificate { 186 ONC_EXPORT extern const char kAuthority[]; 187 ONC_EXPORT extern const char kClient[]; 188 ONC_EXPORT extern const char kCommonName[]; 189 ONC_EXPORT extern const char kEmailAddress[]; 190 ONC_EXPORT extern const char kEnrollmentURI[]; 191 ONC_EXPORT extern const char kGUID[]; 192 ONC_EXPORT extern const char kIssuerCARef[]; 193 ONC_EXPORT extern const char kIssuerCAPEMs[]; 194 ONC_EXPORT extern const char kIssuer[]; 195 ONC_EXPORT extern const char kLocality[]; 196 ONC_EXPORT extern const char kNone[]; 197 ONC_EXPORT extern const char kOrganization[]; 198 ONC_EXPORT extern const char kOrganizationalUnit[]; 199 ONC_EXPORT extern const char kPKCS12[]; 200 ONC_EXPORT extern const char kPattern[]; 201 ONC_EXPORT extern const char kRef[]; 202 ONC_EXPORT extern const char kServer[]; 203 ONC_EXPORT extern const char kSubject[]; 204 ONC_EXPORT extern const char kTrustBits[]; 205 ONC_EXPORT extern const char kType[]; 206 ONC_EXPORT extern const char kWeb[]; 207 ONC_EXPORT extern const char kX509[]; 208 } // namespace certificate 209 210 namespace encrypted { 211 ONC_EXPORT extern const char kAES256[]; 212 ONC_EXPORT extern const char kCipher[]; 213 ONC_EXPORT extern const char kCiphertext[]; 214 ONC_EXPORT extern const char kHMACMethod[]; 215 ONC_EXPORT extern const char kHMAC[]; 216 ONC_EXPORT extern const char kIV[]; 217 ONC_EXPORT extern const char kIterations[]; 218 ONC_EXPORT extern const char kPBKDF2[]; 219 ONC_EXPORT extern const char kSHA1[]; 220 ONC_EXPORT extern const char kSalt[]; 221 ONC_EXPORT extern const char kStretch[]; 222 } // namespace encrypted 223 224 namespace eap { 225 ONC_EXPORT extern const char kAnonymousIdentity[]; 226 ONC_EXPORT extern const char kAutomatic[]; 227 ONC_EXPORT extern const char kClientCertPattern[]; 228 ONC_EXPORT extern const char kClientCertRef[]; 229 ONC_EXPORT extern const char kClientCertType[]; 230 ONC_EXPORT extern const char kEAP_AKA[]; 231 ONC_EXPORT extern const char kEAP_FAST[]; 232 ONC_EXPORT extern const char kEAP_SIM[]; 233 ONC_EXPORT extern const char kEAP_TLS[]; 234 ONC_EXPORT extern const char kEAP_TTLS[]; 235 ONC_EXPORT extern const char kIdentity[]; 236 ONC_EXPORT extern const char kInner[]; 237 ONC_EXPORT extern const char kLEAP[]; 238 ONC_EXPORT extern const char kMD5[]; 239 ONC_EXPORT extern const char kMSCHAPv2[]; 240 ONC_EXPORT extern const char kOuter[]; 241 ONC_EXPORT extern const char kPAP[]; 242 ONC_EXPORT extern const char kPEAP[]; 243 ONC_EXPORT extern const char kPassword[]; 244 ONC_EXPORT extern const char kSaveCredentials[]; 245 ONC_EXPORT extern const char kServerCAPEMs[]; 246 ONC_EXPORT extern const char kServerCARef[]; 247 ONC_EXPORT extern const char kServerCARefs[]; 248 ONC_EXPORT extern const char kUseSystemCAs[]; 249 } // namespace eap 250 251 namespace vpn { 252 ONC_EXPORT extern const char kAutoConnect[]; 253 ONC_EXPORT extern const char kClientCertPattern[]; 254 ONC_EXPORT extern const char kClientCertRef[]; 255 ONC_EXPORT extern const char kClientCertType[]; 256 ONC_EXPORT extern const char kHost[]; 257 ONC_EXPORT extern const char kIPsec[]; 258 ONC_EXPORT extern const char kL2TP[]; 259 ONC_EXPORT extern const char kOpenVPN[]; 260 ONC_EXPORT extern const char kPassword[]; 261 ONC_EXPORT extern const char kSaveCredentials[]; 262 ONC_EXPORT extern const char kTypeL2TP_IPsec[]; 263 ONC_EXPORT extern const char kType[]; 264 ONC_EXPORT extern const char kUsername[]; 265 } // namespace vpn 266 267 namespace ipsec { 268 ONC_EXPORT extern const char kAuthenticationType[]; 269 ONC_EXPORT extern const char kCert[]; 270 ONC_EXPORT extern const char kEAP[]; 271 ONC_EXPORT extern const char kGroup[]; 272 ONC_EXPORT extern const char kIKEVersion[]; 273 ONC_EXPORT extern const char kPSK[]; 274 ONC_EXPORT extern const char kServerCAPEMs[]; 275 ONC_EXPORT extern const char kServerCARef[]; 276 ONC_EXPORT extern const char kServerCARefs[]; 277 ONC_EXPORT extern const char kXAUTH[]; 278 } // namespace ipsec 279 280 namespace openvpn { 281 ONC_EXPORT extern const char kAuthNoCache[]; 282 ONC_EXPORT extern const char kAuthRetry[]; 283 ONC_EXPORT extern const char kAuth[]; 284 ONC_EXPORT extern const char kCipher[]; 285 ONC_EXPORT extern const char kCompLZO[]; 286 ONC_EXPORT extern const char kCompNoAdapt[]; 287 ONC_EXPORT extern const char kIgnoreDefaultRoute[]; 288 ONC_EXPORT extern const char kInteract[]; 289 ONC_EXPORT extern const char kKeyDirection[]; 290 ONC_EXPORT extern const char kNoInteract[]; 291 ONC_EXPORT extern const char kNone[]; 292 ONC_EXPORT extern const char kNsCertType[]; 293 ONC_EXPORT extern const char kPort[]; 294 ONC_EXPORT extern const char kProto[]; 295 ONC_EXPORT extern const char kPushPeerInfo[]; 296 ONC_EXPORT extern const char kRemoteCertEKU[]; 297 ONC_EXPORT extern const char kRemoteCertKU[]; 298 ONC_EXPORT extern const char kRemoteCertTLS[]; 299 ONC_EXPORT extern const char kRenegSec[]; 300 ONC_EXPORT extern const char kServerCAPEMs[]; 301 ONC_EXPORT extern const char kServerCARef[]; 302 ONC_EXPORT extern const char kServerCARefs[]; 303 ONC_EXPORT extern const char kServerCertPEM[]; 304 ONC_EXPORT extern const char kServerCertRef[]; 305 ONC_EXPORT extern const char kServerPollTimeout[]; 306 ONC_EXPORT extern const char kServer[]; 307 ONC_EXPORT extern const char kShaper[]; 308 ONC_EXPORT extern const char kStaticChallenge[]; 309 ONC_EXPORT extern const char kTLSAuthContents[]; 310 ONC_EXPORT extern const char kTLSRemote[]; 311 ONC_EXPORT extern const char kVerb[]; 312 ONC_EXPORT extern const char kVerifyHash[]; 313 ONC_EXPORT extern const char kVerifyX509[]; 314 } // namespace openvpn 315 316 namespace verify_x509 { 317 ONC_EXPORT extern const char kName[]; 318 ONC_EXPORT extern const char kType[]; 319 320 namespace types { 321 ONC_EXPORT extern const char kName[]; 322 ONC_EXPORT extern const char kNamePrefix[]; 323 ONC_EXPORT extern const char kSubject[]; 324 } // namespace types 325 } // namespace verify_x509 326 327 namespace substitutes { 328 ONC_EXPORT extern const char kEmailField[]; 329 ONC_EXPORT extern const char kLoginIDField[]; 330 } // namespace substitutes 331 332 namespace proxy { 333 ONC_EXPORT extern const char kDirect[]; 334 ONC_EXPORT extern const char kExcludeDomains[]; 335 ONC_EXPORT extern const char kFtp[]; 336 ONC_EXPORT extern const char kHost[]; 337 ONC_EXPORT extern const char kHttp[]; 338 ONC_EXPORT extern const char kHttps[]; 339 ONC_EXPORT extern const char kManual[]; 340 ONC_EXPORT extern const char kPAC[]; 341 ONC_EXPORT extern const char kPort[]; 342 ONC_EXPORT extern const char kSocks[]; 343 ONC_EXPORT extern const char kType[]; 344 ONC_EXPORT extern const char kWPAD[]; 345 } // namespace proxy 346 347 namespace global_network_config { 348 ONC_EXPORT extern const char kAllowOnlyPolicyNetworksToAutoconnect[]; 349 } // global_network_config 350 351 } // namespace onc 352 353 #endif // COMPONENTS_ONC_ONC_CONSTANTS_H_ 354