summaryrefslogtreecommitdiffstats
path: root/components/onc
diff options
context:
space:
mode:
authorstevenjb <stevenjb@chromium.org>2015-01-07 11:06:54 -0800
committerCommit bot <commit-bot@chromium.org>2015-01-07 19:08:26 +0000
commit75a3c1dca4598fd845b9871c56ac867eb9a25447 (patch)
treeb496570b9562bead1144454ac7e7e70909446029 /components/onc
parent21533286b2ba1f1d5e3c4c4d8bf07d6dddb321e9 (diff)
downloadchromium_src-75a3c1dca4598fd845b9871c56ac867eb9a25447.zip
chromium_src-75a3c1dca4598fd845b9871c56ac867eb9a25447.tar.gz
chromium_src-75a3c1dca4598fd845b9871c56ac867eb9a25447.tar.bz2
ONC: Add IPAddressConfigType and NameServersConfigType
This CL introdcues IPAddressConfigType and NameServersConfigType If either of these is set to 'Static', a 'StaticIPConfig' object must be provided and must specify any non-default configuration. If neither is set to 'Static', the StaticIPConfig object will be ignored. Originally uploaded as https://codereview.chromium.org/750313003/ BUG=411289 Review URL: https://codereview.chromium.org/749013003 Cr-Commit-Position: refs/heads/master@{#310325}
Diffstat (limited to 'components/onc')
-rw-r--r--components/onc/docs/onc_spec.html54
-rw-r--r--components/onc/onc_constants.cc4
-rw-r--r--components/onc/onc_constants.h4
3 files changed, 58 insertions, 4 deletions
diff --git a/components/onc/docs/onc_spec.html b/components/onc/docs/onc_spec.html
index 8e9b750..f33fdee 100644
--- a/components/onc/docs/onc_spec.html
+++ b/components/onc/docs/onc_spec.html
@@ -251,6 +251,44 @@
string.
</dd>
+ <dt class="field">IPAddressConfigType</dt>
+ <dd>
+ <span class="field_meta">
+ (optional if <span class="field">Remove</span> is
+ <span class="value">false</span>, otherwise ignored. Defaults to
+ <span class="value">DHCP</span> if
+ <span class="field">NameServersConfigType</span> is specified)
+ <span class="type">string</span>
+ </span>
+ <span class="rule">
+ <span class="rule_id"></span>
+ Allowed values are <span class="value">DHCP</span> and
+ <span class="value">Static</span>.
+ </span>
+ Determines whether the IP Address configuration is statically configured,
+ see <span class="field">StaticIPConfig</span>, or automatically configured
+ using DHCP.
+ </dd>
+
+ <dt class="field">NameServersConfigType</dt>
+ <dd>
+ <span class="field_meta">
+ (optional if <span class="field">Remove</span> is
+ <span class="value">false</span>, otherwise ignored. Defaults to
+ <span class="value">DHCP</span> if
+ <span class="field">IPAddressConfigType</span> is specified)
+ <span class="type">string</span>
+ </span>
+ <span class="rule">
+ <span class="rule_id"></span>
+ Allowed values are <span class="value">DHCP</span> and
+ <span class="value">Static</span>.
+ </span>
+ Determines whether the NameServers configuration is statically configured,
+ see <span class="field">StaticIPConfig</span>, or automatically configured
+ using DHCP.
+ </dd>
+
<dt class="field">IPConfigs</dt>
<dd>
<span class="field_meta">
@@ -263,12 +301,19 @@
<dt class="field">StaticIPConfig</dt>
<dd>
<span class="field_meta">
- (optional if <span class="field">Remove</span> is
- <span class="value">false</span>, otherwise ignored)
+ (required if <span class="field">IPAddressConfigType</span> or
+ <span class="field">NameServersConfigType</span> is set to
+ <span class="value">Static</span>)
<span class="type">IPConfig</span>
</span>
Each property set in this IPConfig object overrides the respective
parameter received over DHCP.
+ If <span class="field">IPAddressConfigType</span> is set to
+ <span class="value">Static</span>, <span class="field">IPAddress</span>
+ and <span class="field">Gateway</span> are required.
+ If <span class="field">NameServersConfigType</span> is set to
+ <span class="value">Static</span>, <span class="field">NameServers</span>
+ is required.
</dd>
<dt class="field">SavedIPConfig</dt>
@@ -533,7 +578,7 @@
<dt class="field">IPAddress</dt>
<dd>
<span class="field_meta">
- (required)
+ (optional)
<span class="type">string</span>
</span>
Describes the IPv4 or IPv6 address of a connection, depending on the value
@@ -559,7 +604,8 @@
<dt class="field">Gateway</dt>
<dd>
<span class="field_meta">
- (optional)
+ (required if <span class="field">IPAddress</span> is set. Otherwise
+ ignored.)
<span class="type">string</span>
</span>
Describes the gateway address to use for the configuration. Must match
diff --git a/components/onc/onc_constants.cc b/components/onc/onc_constants.cc
index e110dee..14c5886 100644
--- a/components/onc/onc_constants.cc
+++ b/components/onc/onc_constants.cc
@@ -39,8 +39,12 @@ const char kDevice[] = "Device";
const char kErrorState[] = "ErrorState";
const char kEthernet[] = "Ethernet";
const char kGUID[] = "GUID";
+const char kIPAddressConfigType[] = "IPAddressConfigType";
const char kIPConfigs[] = "IPConfigs";
+const char kIPConfigTypeDHCP[] = "DHCP";
+const char kIPConfigTypeStatic[] = "Static";
const char kMacAddress[] = "MacAddress";
+const char kNameServersConfigType[] = "NameServersConfigType";
const char kName[] = "Name";
const char kPriority[] = "Priority";
const char kProxySettings[] = "ProxySettings";
diff --git a/components/onc/onc_constants.h b/components/onc/onc_constants.h
index 4895d16..25625d5 100644
--- a/components/onc/onc_constants.h
+++ b/components/onc/onc_constants.h
@@ -61,10 +61,14 @@ ONC_EXPORT extern const char kCellular[];
ONC_EXPORT extern const char kDevice[];
ONC_EXPORT extern const char kEthernet[];
ONC_EXPORT extern const char kGUID[];
+ONC_EXPORT extern const char kIPAddressConfigType[];
ONC_EXPORT extern const char kIPConfigs[];
+ONC_EXPORT extern const char kIPConfigTypeDHCP[];
+ONC_EXPORT extern const char kIPConfigTypeStatic[];
ONC_EXPORT extern const char kSavedIPConfig[];
ONC_EXPORT extern const char kStaticIPConfig[];
ONC_EXPORT extern const char kMacAddress[];
+ONC_EXPORT extern const char kNameServersConfigType[];
ONC_EXPORT extern const char kName[];
ONC_EXPORT extern const char kPriority[];
ONC_EXPORT extern const char kProxySettings[];