0

Adding more ONC validation tests.

- A typical configuration from real world.
- A configuration generated from CPanel.

BUG=162804
TBR=stevenjb@chromium.org

Review URL: https://chromiumcodereview.appspot.com/11488008

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@173460 0039d316-1c4b-4281-b951-d872f2087c98
This commit is contained in:
pneubeck@chromium.org
2012-12-17 15:02:20 +00:00
parent 7e740a05df
commit 0f2927b0b9
7 changed files with 175 additions and 11 deletions

@ -127,7 +127,14 @@ TEST_P(ONCValidatorValidTest, LiberalValidationValid) {
INSTANTIATE_TEST_CASE_P(
ONCValidatorValidTest,
ONCValidatorValidTest,
::testing::Values(OncParams("managed_toplevel.onc",
::testing::Values(OncParams("managed_toplevel1.onc",
&kToplevelConfigurationSignature,
true),
OncParams("managed_toplevel2.onc",
&kToplevelConfigurationSignature,
true),
// Test a configuration generated by CPanel.
OncParams("managed_toplevel_cpanel.onc",
&kToplevelConfigurationSignature,
true),
OncParams("encrypted.onc",
@ -276,6 +283,16 @@ INSTANTIATE_TEST_CASE_P(
false),
RepairParams("network-repaired", "network-repaired"))));
// Strict and liberal validator both repair, but with different results.
INSTANTIATE_TEST_CASE_P(
StrictAndLiberalRepairDifferently,
ONCValidatorTestRepairable,
::testing::Values(
std::make_pair(OncParams("toplevel-with-nested-warning",
&kToplevelConfigurationSignature,
false),
RepairParams("toplevel-empty", "toplevel-repaired"))));
// Strict and liberal validator return both INVALID.
INSTANTIATE_TEST_CASE_P(
StrictAndLiberalInvalid,

@ -135,6 +135,10 @@
"Authentication": "None"
}
},
"toplevel-empty": {
"Type": "UnencryptedConfiguration",
"NetworkConfigurations": [ ]
},
"toplevel-repaired": {
"Type": "UnencryptedConfiguration",
"NetworkConfigurations":
@ -147,6 +151,19 @@
}
]
},
"toplevel-with-nested-warning": {
"Type": "UnencryptedConfiguration",
"NetworkConfigurations":
[ { "GUID": "guid",
"Type": "Ethernet",
"unknown-field": "abc",
"Name": "eth0",
"Ethernet": {
"Authentication": "None"
}
}
]
},
"toplevel-invalid-network": {
"Type": "UnencryptedConfiguration",
"NetworkConfigurations":

@ -0,0 +1,90 @@
{
"NetworkConfigurations": [
{
"GUID": "{77db0089-0bc8-4358-929c-123xcv}",
"Type": "WiFi",
"Name": "SomeWifi-XY",
"WiFi": {
"SSID": "SomeWifi-XY",
"Security": "WPA-EAP",
"Recommended": [ "AutoConnect" ],
"EAP": {
"Outer": "EAP-TLS",
"Identity": "${LOGIN_ID}@my.domain.com",
"UseSystemCAs": true,
"ClientCertType": "Pattern",
"ClientCertPattern": {
"IssuerCARef": [
"{58ac1967-a0e7-49e9-be68-123abc}",
"{42cb13cd-140c-4941-9fb6-456def}"
],
"EnrollmentURI": [ "chrome-extension://delkjfjibodjclmdijflfnimdmgdagfk/generate-cert.html" ]
},
"Recommended": [ "Identity" ],
"SaveCredentials": true
}
},
"ProxySettings": {
"Type": "PAC",
"PAC": "https://proxycfg.my.domain.com/proxy.dat"
}
},
{
"GUID": "{a3860e83-f03d-4cb1-bafa-789oij}",
"Type": "VPN",
"Name": "SomeVPN-XZ",
"VPN": {
"Host": "vpn.my.domain.com",
"Type": "OpenVPN",
"OpenVPN": {
"AuthRetry": "interact",
"CompLZO": "true",
"KeyDirection": "1",
"Port": 543,
"Proto": "udp",
"PushPeerInfo": true,
"Recommended" : [ "Username", "Password" ],
"RemoteCertEKU": "TLS Web Server Authentication",
"RemoteCertKU": [
"e0"
],
"RemoteCertTLS": "server",
"RenegSec": 0,
"ServerPollTimeout": 13,
"StaticChallenge": "Please enter token",
"TLSAuthContents": "-----BEGIN OpenVPN Static key V1-----\n83f8e7ccd99be189b4663e18615f9166\nd885cdea6c8accb0ebf5be304f0b8081\n5404f2a6574e029815d7a2fb65b83d0c\n676850714c6a56b23415a78e06aad6b1\n34900dd512049598382039e4816cb5ff\n1848532b71af47578c9b4a14b5bca49f\n99e0ae4dae2f4e5eadfea374aeb8fb1e\na6fdf02adc73ea778dfd43d64bf7bc75\n7779d629498f8c2fbfd32812bfdf6df7\n8cebafafef3e5496cb13202274f2768a\n1959bc53d67a70945c4c8c6f34b63327\nfb60dc84990ffec1243461e0b6310f61\ne90aee1f11fb6292d6f5fcd7cd508aab\n50d80f9963589c148cb4b933ec86128d\ned77d3fad6005b62f36369e2319f52bd\n09c6d2e52cce2362a05009dc29b6b39a\n-----END OpenVPN Static key V1-----\n",
"TLSRemote": "my.domain.com",
"SaveCredentials": false,
"ServerCARef": "{14ff4d51-64c1-4c86-a622-054dxyz}",
"Username": "${LOGIN_ID}",
"ClientCertType": "Pattern",
"ClientCertPattern": {
"IssuerCARef": [
"{58ac1967-a0e7-49e9-be68-eb44b8827bcc}",
"{42cb13cd-140c-4941-9fb6-0824ea2fde17}"
],
"EnrollmentURI": [ "chrome-extension://deicdjjibodjclmdijflfnimdmgdagfk/keygen-cert.html" ]
}
}
},
"ProxySettings": {
"Type": "PAC",
"PAC": "http://proxycfg.my.domain/proxy.dat"
}
}
],
"Certificates": [
{
"Trust": [],
"GUID": "{58ac1967-a0e7-49e9-be68-123abc}",
"Type": "Authority",
"X509": "MIIDojCCAwugAwIBAgIJAKGvi5ZgEWDVMA0GCSqGSIb3DQEBBAUAMIGTMRUwEwYDVQQKEwxHb29nbGUsIEluYy4xETAPBgNVBAsTCENocm9tZU9TMSIwIAYJKoZIhvcNAQkBFhNnc3BlbmNlckBnb29nbGUuY29tMRowGAYDVQQHExFNb3VudGFpbiBWaWV3LCBDQTELMAkGA1UECBMCQ0ExCzAJBgNVBAYTAlVTMQ0wCwYDVQQDEwRsbWFvMB4XDTExMDMxNjIzNDcxMFoXDTEyMDMxNTIzNDcxMFowgZMxFTATBgNVBAoTDEdvb2dsZSwgSW5jLjERMA8GA1UECxMIQ2hyb21lT1MxIjAgBgkqhkiG9w0BCQEWE2dzcGVuY2VyQGdvb2dsZS5jb20xGjAYBgNVBAcTEU1vdW50YWluIFZpZXcsIENBMQswCQYDVQQIEwJDQTELMAkGA1UEBhMCVVMxDTALBgNVBAMTBGxtYW8wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMDX6BQz2JUzIAVjetiXxDznd2wdqVqVHfNkbSRW+xBywgqUaIXmFEGUol7VzPfmeFV8o8ok/eFlQB0h6ycqgwwMd0KjtJs2ys/k0F5GuN0G7fsgr+NRnhVgxj21yF6gYTN/8a9kscla/svdmp8ekexbALFnghbLBx3CgcqUxT+tAgMBAAGjgfswgfgwDAYDVR0TBAUwAwEB/zAdBgNVHQ4EFgQUbYygbSkl4kpjCNuxoezFGupA97UwgcgGA1UdIwSBwDCBvYAUbYygbSkl4kpjCNuxoezFGupA97WhgZmkgZYwgZMxFTATBgNVBAoTDEdvb2dsZSwgSW5jLjERMA8GA1UECxMIQ2hyb21lT1MxIjAgBgkqhkiG9w0BCQEWE2dzcGVuY2VyQGdvb2dsZS5jb20xGjAYBgNVBAcTEU1vdW50YWluIFZpZXcsIENBMQswCQYDVQQIEwJDQTELMAkGA1UEBhMCVVMxDTALBgNVBAMTBGxtYW+CCQChr4uWYBFg1TANBgkqhkiG9w0BAQQFAAOBgQCDq9wiQ4uVuf1CQU3sXfXCy1yqi5m8AsO9FxHvah5/SVFNwKllqTfedpCaWEswJ55YAojW9e+pY2Fh3Fo/Y9YkF88KCtLuBjjqDKCRLxF4LycjHODKyQQ7mN/t5AtP9yKOsNvWF+M4IfReg51kohau6FauQx87by5NIRPdkNPvkQ=="
},
{
"Trust": [],
"GUID": "{42cb13cd-140c-4941-9fb6-456def}",
"Type": "Authority",
"X509": "MIICijCCAfOgAwIBAgIJAPYTFSuNYH3DMA0GCSqGSIb3DQEBBQUAMF0xCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQxFjAUBgNVBAMMDW15LmRvbWFpbi5jb20wIBcNMTIxMTI5MTIxOTMwWhgPMjExMjExMDUxMjE5MzBaMF0xCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQxFjAUBgNVBAMMDW15LmRvbWFpbi5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMGU4ZFREFcUB5M6CNmgR6m2HHI6qL8dLBFH3jVe+FIUWyrF3UtBQrhPtD7tC+3qsoRHDquHo3oVedOG2B22hQ3TUTvkO2YmL0pv9RsaRRbhYD8YqqpmWPq94nZNF13y007LwJLuwLU/8kikrNgmnT7meWVSAcLYLsbgjYaZmn2XAgMBAAGjUDBOMB0GA1UdDgQWBBTX5f2mCM32pbNdXrsKmRHeZlcxOjAfBgNVHSMEGDAWgBTX5f2mCM32pbNdXrsKmRHeZlcxOjAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4GBAGUj0fZr2UzZjacnGhHf9x9FeQt8VALyASCw4JQyxbhB8YHjKS+IF80X8OkDiJrjkM6IOBTtyG0n0ozEgTL9m5NqWuAB2+SPkRpDgabI6mIUR/l1tkQarKCdKzYQ3+oggkiHiHXl2uC4sutgsyt54KQaQxx04+9z2WRt9yI6I1NW"
}
]
}

@ -0,0 +1,40 @@
{
"Certificates": [ {
"GUID": "{126ea985-9ece-4250-8a32-123abc}",
"Type": "Authority",
"X509": "-----BEGIN CERTIFICATE-----\nMIIDojCCAwugAwIBAgIJAKGvi5ZgEWDVMA0GCSqGSIb3DQEBBAUAMIGTMRUwEwYDVQQKEwxHb29nbGUsIEluYy4xETAPBgNVBAsTCENocm9tZU9TMSIwIAYJKoZIhvcNAQkBFhNnc3BlbmNlckBnb29nbGUuY29tMRowGAYDVQQHExFNb3VudGFpbiBWaWV3LCBDQTELMAkGA1UECBMCQ0ExCzAJBgNVBAYTAlVTMQ0wCwYDVQQDEwRsbWFvMB4XDTExMDMxNjIzNDcxMFoXDTEyMDMxNTIzNDcxMFowgZMxFTATBgNVBAoTDEdvb2dsZSwgSW5jLjERMA8GA1UECxMIQ2hyb21lT1MxIjAgBgkqhkiG9w0BCQEWE2dzcGVuY2VyQGdvb2dsZS5jb20xGjAYBgNVBAcTEU1vdW50YWluIFZpZXcsIENBMQswCQYDVQQIEwJDQTELMAkGA1UEBhMCVVMxDTALBgNVBAMTBGxtYW8wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMDX6BQz2JUzIAVjetiXxDznd2wdqVqVHfNkbSRW+xBywgqUaIXmFEGUol7VzPfmeFV8o8ok/eFlQB0h6ycqgwwMd0KjtJs2ys/k0F5GuN0G7fsgr+NRnhVgxj21yF6gYTN/8a9kscla/svdmp8ekexbALFnghbLBx3CgcqUxT+tAgMBAAGjgfswgfgwDAYDVR0TBAUwAwEB/zAdBgNVHQ4EFgQUbYygbSkl4kpjCNuxoezFGupA97UwgcgGA1UdIwSBwDCBvYAUbYygbSkl4kpjCNuxoezFGupA97WhgZmkgZYwgZMxFTATBgNVBAoTDEdvb2dsZSwgSW5jLjERMA8GA1UECxMIQ2hyb21lT1MxIjAgBgkqhkiG9w0BCQEWE2dzcGVuY2VyQGdvb2dsZS5jb20xGjAYBgNVBAcTEU1vdW50YWluIFZpZXcsIENBMQswCQYDVQQIEwJDQTELMAkGA1UEBhMCVVMxDTALBgNVBAMTBGxtYW+CCQChr4uWYBFg1TANBgkqhkiG9w0BAQQFAAOBgQCDq9wiQ4uVuf1CQU3sXfXCy1yqi5m8AsO9FxHvah5/SVFNwKllqTfedpCaWEswJ55YAojW9e+pY2Fh3Fo/Y9YkF88KCtLuBjjqDKCRLxF4LycjHODKyQQ7mN/t5AtP9yKOsNvWF+M4IfReg51kohau6FauQx87by5NIRPdkNPvkQ==\n-----END CERTIFICATE-----"
} ],
"NetworkConfigurations": [ {
"GUID": "{64c4f86b-cf6a-4e4a-8eff-456def}",
"Name": "OpenWrt",
"ProxySettings": {
"Manual": {
"FTPProxy": {
"Host": "192.168.2.1",
"Port": 8889
},
"HTTPProxy": {
"Host": "192.168.2.1",
"Port": 8889
},
"SOCKS": {
"Host": "192.168.2.1",
"Port": 8889
},
"SecureHTTPProxy": {
"Host": "192.168.2.1",
"Port": 8889
}
},
"Type": "Manual"
},
"Type": "WiFi",
"WiFi": {
"AutoConnect": true,
"HiddenSSID": false,
"Passphrase": "some passphrase",
"SSID": "OpenWrt",
"Security": "WPA-PSK"
}
} ]
}

@ -1,10 +1,10 @@
{
"GUID": "{a3860e83-f03d-4cb1-bafa-b22c9e746950}",
"Type": "vpn",
"Name": "google-dogfood",
"Name": "my vpn",
"SaveCredentials": false,
"Provider.Type": "openvpn",
"Provider.Host": "v.ext.google.com",
"Provider.Host": "vpn.my.domain.com",
"OpenVPN.AuthRetry": "interact",
"OpenVPN.User": "some username",
"OpenVPN.Password": "some password",
@ -12,14 +12,14 @@
"OpenVPN.CompLZO": "true",
"OpenVPN.ServerPollTimeout": "10",
"OpenVPN.RemoteCertKU": "e0",
"OpenVPN.CACertNSS": "{14ff4d51-64c1-4c86-a622-054d8e55e750}",
"OpenVPN.CACertNSS": "{14ff4d51-64c1-4c86-a622-054xyz}",
"OpenVPN.RemoteCertTLS": "server",
"OpenVPN.Port": "443",
"OpenVPN.TLSRemote": "v.ext.google.com",
"OpenVPN.TLSRemote": "my.domain.com",
"OpenVPN.KeyDirection": "1",
"OpenVPN.RenegSec": "0",
"OpenVPN.RemoteCertEKU": "TLS Web Server Authentication",
"OpenVPN.Proto": "udp",
"OpenVPN.PushPeerInfo": "true",
"OpenVPN.TLSAuthContents": "-----BEGIN OpenVPN Static key V1-----\nf8a19b8fddda3a38e06b883c48c83474\n0d1dfe7e5cadb2891387ac2d85198cdf\ne14274d03d12c4128c6c8967f84b1b39\n22452fb869280cde868bcf3932615927\nab1948d951c19183276fa249fd6e1e5f\nfc1c41400b59493a39cad872f5c7e777\n310d685d9c30abff7f206afc09cc99d9\ne40b2091e29af5b37d191628fba6d86e\n3a239b45b1b5a6be3229663ee7a7dc67\n2fa5be59fe7ceb41d2c78f94237c2185\n0aea1b06d739bca83240671167ddd2c2\n9cfd931df468536bfd1be99cd05160d8\n09ebfe4b8da88fb1923b19ad1abfc45e\n0402321e41af54e7d19ac95b1a7cec9a\nbf60a8eabcd5eecc84773af211477ee9\n9c988269638f9f1bb668028bb688dea2\nEND OpenVPN Static key V1-----\n"
"OpenVPN.TLSAuthContents": "-----BEGIN OpenVPN Static key V1-----\n83f8e7ccd99be189b4663e18615f9166\nd885cdea6c8accb0ebf5be304f0b8081\n5404f2a6574e029815d7a2fb65b83d0c\n676850714c6a56b23415a78e06aad6b1\n34900dd512049598382039e4816cb5ff\n1848532b71af47578c9b4a14b5bca49f\n99e0ae4dae2f4e5eadfea374aeb8fb1e\na6fdf02adc73ea778dfd43d64bf7bc75\n7779d629498f8c2fbfd32812bfdf6df7\n8cebafafef3e5496cb13202274f2768a\n1959bc53d67a70945c4c8c6f34b63327\nfb60dc84990ffec1243461e0b6310f61\ne90aee1f11fb6292d6f5fcd7cd508aab\n50d80f9963589c148cb4b933ec86128d\ned77d3fad6005b62f36369e2319f52bd\n09c6d2e52cce2362a05009dc29b6b39a\n-----END OpenVPN Static key V1-----\n"
}

@ -1,9 +1,9 @@
{
"GUID": "{a3860e83-f03d-4cb1-bafa-b22c9e746950}",
"Name": "google-dogfood",
"Name": "my vpn",
"Type": "VPN",
"VPN": {
"Host": "v.ext.google.com",
"Host": "vpn.my.domain.com",
"Type": "OpenVPN",
"OpenVPN": {
"AuthRetry": "interact",
@ -20,11 +20,11 @@
"RemoteCertTLS": "server",
"RenegSec": 0,
"SaveCredentials": false,
"ServerCARef": "{14ff4d51-64c1-4c86-a622-054d8e55e750}",
"ServerCARef": "{14ff4d51-64c1-4c86-a622-054xyz}",
"ServerPollTimeout": 10,
"StaticChallenge": "Please enter token OTP",
"TLSAuthContents": "-----BEGIN OpenVPN Static key V1-----\nf8a19b8fddda3a38e06b883c48c83474\n0d1dfe7e5cadb2891387ac2d85198cdf\ne14274d03d12c4128c6c8967f84b1b39\n22452fb869280cde868bcf3932615927\nab1948d951c19183276fa249fd6e1e5f\nfc1c41400b59493a39cad872f5c7e777\n310d685d9c30abff7f206afc09cc99d9\ne40b2091e29af5b37d191628fba6d86e\n3a239b45b1b5a6be3229663ee7a7dc67\n2fa5be59fe7ceb41d2c78f94237c2185\n0aea1b06d739bca83240671167ddd2c2\n9cfd931df468536bfd1be99cd05160d8\n09ebfe4b8da88fb1923b19ad1abfc45e\n0402321e41af54e7d19ac95b1a7cec9a\nbf60a8eabcd5eecc84773af211477ee9\n9c988269638f9f1bb668028bb688dea2\nEND OpenVPN Static key V1-----\n",
"TLSRemote": "v.ext.google.com",
"TLSAuthContents": "-----BEGIN OpenVPN Static key V1-----\n83f8e7ccd99be189b4663e18615f9166\nd885cdea6c8accb0ebf5be304f0b8081\n5404f2a6574e029815d7a2fb65b83d0c\n676850714c6a56b23415a78e06aad6b1\n34900dd512049598382039e4816cb5ff\n1848532b71af47578c9b4a14b5bca49f\n99e0ae4dae2f4e5eadfea374aeb8fb1e\na6fdf02adc73ea778dfd43d64bf7bc75\n7779d629498f8c2fbfd32812bfdf6df7\n8cebafafef3e5496cb13202274f2768a\n1959bc53d67a70945c4c8c6f34b63327\nfb60dc84990ffec1243461e0b6310f61\ne90aee1f11fb6292d6f5fcd7cd508aab\n50d80f9963589c148cb4b933ec86128d\ned77d3fad6005b62f36369e2319f52bd\n09c6d2e52cce2362a05009dc29b6b39a\n-----END OpenVPN Static key V1-----\n",
"TLSRemote": "my.domain.com",
"Username": "some username",
}
}