Home | History | Annotate | Download | only in onc
      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