Commit Graph

826 Commits

Author SHA1 Message Date
Samuel Tan
aedb058e1b Allow trusted system certificates to be used in EAP network configs
am: 2b16cd3920

* commit '2b16cd3920f95b2cd5c2426d81b5e1584ffc682d':
  Allow trusted system certificates to be used in EAP network configs
2016-02-09 18:24:20 +00:00
Samuel Tan
2b16cd3920 Allow trusted system certificates to be used in EAP network configs
Add an option to the "CA certificate" field of the EAP network
configuration menu, "Use system certificates". Choosing this option
will cause the trusted, pre-installed, system CA certificates
to be used to validate EAP servers during the authentication process.
This only applies to EAP-TLS, EAP-TTLS, and EAP-PEAP network
configurations, where the CA certificate option is available.

If the user selects "Use system certificates" and leaves the
"Domain" field empty, display a warning and prevent the
EAP network configuration from being saved. Such a configuration
would be insecure--the user should constrain the domain that
the system certificates can be used to validate.

BUG: 26879191
TEST: 1)  Set up AP connected to test RADIUS server.
TEST: 2)  Generate a self-signed cert (Cert 1)
TEST: 3)  Use Cert 1 to sign another cert (Cert 2) with common name
          "sub1.sub2.domain.com"
TEST: 4)  Setup RADIUS server, and configure it to present Cert 2 to EAP peer.
TEST: 5)  Build angler image with Cert 1 installed in
          /system/etc/security/cacerts/
TEST: 6)  Set up an AP connected to the RADIUS server to broadcast
          a WPA-Enterprise network.
TEST: 7)  On Angler, connect to this WPA-Enterprise network with settings:
            Network name: (AP SSID)
            Security: 802.1x EAP
            EAP method: TLS
            CA certificate: Use system certificates
            Domain: domain.com
            User certificate: (test certificate from RADIUS setup)
            Identity: (identity used for RADIUS setup)
TEST: 8)  Verify that we connect successfully to the AP.
TEST: 9)  Verify that connection still succeeds if Domain is set to
          "sub2.domain.com" and "sub1.sub2.domain.com".
TEST: 10) Verify that connection fails if Domain is set to
          "sub0.sub1.domain.com" and "otherdomain.com".
TEST: 11) Verify that network configuration cannot be saved, and an
          warning message "Must specify a domain" is displayed if Domain
          is left blank in the configuration in step 7
TEST: 12) Verify that the "Do not validate" option still appears in the
          CA certificate dropdown menu.

Change-Id: I346d4d301305719033b84ec4599bf3d57d9d4ee5
2016-02-08 08:54:42 -08:00
Samuel Tan
5e5038255c Correctly load saved EAP CA cert and user cert options
am: 3d8cdb10f6

* commit '3d8cdb10f6103a794e4cb68adb5de03a325d1c8f':
  Correctly load saved EAP CA cert and user cert options
2016-02-05 20:58:15 +00:00
Samuel Tan
3d8cdb10f6 Correctly load saved EAP CA cert and user cert options
Previously, we did not properly load the "Do not validate"
and "Do not provide" options for the CA certificate and
User certificate EAP network configuration fields respectively
when the user previously selected these options and saved the
configuration.

Fix this by properly checking the saved CA certificate and user
certificate aliases in the saved enterprise config.

BUG: 26686071
Change-Id: If180c611f7210718cfb11c0578545b6f027827b5
TEST: Saved EAP network with the abovementioned options.
TEST: Long-pressed saved network on Wifi menu and selected "Modify Network"
TEST: "Do not validate" and "Do not provide" options are re-loaded.
2016-02-03 13:29:54 -08:00
Samuel Tan
3848ddc1a0 Allow domain suffix match to be set in UI for EAP configurations
am: d54bbd5193

* commit 'd54bbd519303b8eb0a7822cea00c55ef5e4f6652':
  Allow domain suffix match to be set in UI for EAP configurations
2016-02-02 18:59:52 +00:00
Samuel Tan
d54bbd5193 Allow domain suffix match to be set in UI for EAP configurations
Add a "domain" field that allows the user to specify a domain
suffix match for an EAP network configuration. This field
will only be available when the user specifies a CA certificate for
an EAP-PEAP, EAP-TLS, or EAP-TTLS network. Under the hood, the
value entered into this field will be passed to WPA supplicant
as the |domain_suffix_match| configuration variable.

BUG: 25180141
Change-Id: Ib69b9519f475e90e40441ddff61c80be43cf624b
TEST: On angler, domain field appears for the EAP-PEAP, EAP-TLS
TEST: and EAP-TTLS networks.
2016-01-29 15:40:43 -08:00
Samuel Tan
57c329c9f9 Display warning if users does not provide CA cert in EAP config
Display an explicit warning in the WiFi configuration menu if
the user selects the option to not validate the EAP server (i.e.
does not provide a CA certificate) in an EAP configuration.

BUG: 26686071
Change-Id: I73620b60defdcf40865f8c67d5de24b5dad636f8
TEST: Warning appears when the abovementioned option is selected.
2016-01-27 14:10:40 -08:00
Samuel Tan
f827c929dd Add menu options for not specifying a EAP CA cert and User cert
Add the "Do not validate" and "Do not provide" menu
options for not providing a CA certificate and User certificate
respectively for EAP configurations.

Choosing these options are essentially equivalent to leaving
these fields alone as "(unspecified)" (when that option existed),
but now we require the user to make a conscious choice not to
provide these certificates.

BUG: 26686071
Change-Id: I4b9c07528d6d2ba3eb0787e7cfff69d05dd25679
TEST: Both the added options appear in the relevant menus.
TEST: Choosing both these added options in an EAP-TLS configuration
TEST: allows the configuration to be saved.
2016-01-27 14:10:34 -08:00
Samuel Tan
fffc5936b9 Disable configuring EAP-TLS without user certificate.
Disallow configuring EAP-TLS without a user certificate,
since this is probably an invalid configuration.

Also:
- change the wording of the default option for
  EAP CA and user certificates from "(unspecified)" to
  "Please select", to make it obvious that a choice
  needs to be made to proceed.
- Fix style issues found in WifiConfigController.java by checkstyle.py.

BUG: 26686071
Change-Id: I7ccfdf40db97328e3297a03cc43033ff2428980f
TEST: Save option is grayed out when configuring EAP-TLS network
TEST: while leaving "User Certificate" left at "Please select".
2016-01-27 14:10:25 -08:00
Chris Wren
9d1bfd1e8d port settings over to new metrics enum
Change-Id: I0b3efd2f4db773ccbc52bfe59ee8eb0dab9584fb
2016-01-27 10:58:58 -05:00
Sudheer Shanka
7ff7ea1e7f Made changes to menu items in WifiSettings and AccountSyncSettings.
When the admin has set disallow_config_wifi, menu items are not added.
we need to check if the menu items can be added after this fragment is
resumed. And for remove account menuitem, check whether any admin has
disabled management of a specific account type.

Change-Id: I58f5a59fe0614c9bc7068b15f43f89527939359d
2016-01-27 14:08:44 +00:00
Samuel Tan
03a117bcfa Display warning if users does not provide CA cert in EAP config
Display an explicit warning in the WiFi configuration menu if
the user selects the option to not validate the EAP server (i.e.
does not provide a CA certificate) in an EAP configuration.

BUG: 26686071
Change-Id: I73620b60defdcf40865f8c67d5de24b5dad636f8
TEST: Warning appears when the abovementioned option is selected.
2016-01-26 17:45:32 -08:00
Samuel Tan
30f7b5a7cf Add menu options for not specifying a EAP CA cert and User cert
Add the "Do not validate" and "Do not provide" menu
options for not providing a CA certificate and User certificate
respectively for EAP configurations.

Choosing these options are essentially equivalent to leaving
these fields alone as "(unspecified)" (when that option existed),
but now we require the user to make a conscious choice not to
provide these certificates.

BUG: 26686071
Change-Id: I4b9c07528d6d2ba3eb0787e7cfff69d05dd25679
TEST: Both the added options appear in the relevant menus.
TEST: Choosing both these added options in an EAP-TLS configuration
TEST: allows the configuration to be saved.
2016-01-26 17:45:32 -08:00
Samuel Tan
933b6ed98f Disable configuring EAP-TLS without user certificate.
Disallow configuring EAP-TLS without a user certificate,
since this is probably an invalid configuration.

Also:
- change the wording of the default option for
  EAP CA and user certificates from "(unspecified)" to
  "Please select", to make it obvious that a choice
  needs to be made to proceed.
- Fix style issues found in WifiConfigController.java by checkstyle.py.

BUG: 26686071
Change-Id: I7ccfdf40db97328e3297a03cc43033ff2428980f
TEST: Save option is grayed out when configuring EAP-TLS network
TEST: while leaving "User Certificate" left at "Please select".
2016-01-26 17:23:11 -08:00
Sanket Padawe
30e812b731 [DO NOT MERGE] Disable configuring EAP-TLS/TTLS/PEAP without CA certificates.
Bug: 15162357
Change-Id: I9b1be9837b104670adc1cc7ed47a5095ff38d335
2016-01-26 16:51:39 -08:00
Rubin Xu
b557817abc resolve merge conflicts of 55d7fcbfc2 to master.
Change-Id: Ib0876ea153e8a8f7c8ad5438915d39c9ae97e51b
2016-01-27 00:34:53 +00:00
Rubin Xu
e34ea11fca Support multiple CA certs when editing a saved Wifi network.
SSID with multiple CA certs can only be added programmtically. However it
can still be edited in the UI by long-pressing the item when currently
connected to the network. This change makes sure the UI shows up with
 meaningful indications that the SSID is configured with multiple CA certs.

Bug: 22547958
Change-Id: I5d42313efb141db521dd09ff3fbc520915b6fb79
2016-01-27 00:25:10 +00:00
Bartosz Fabianowski
d40c11a7d5 Merge "Allow user to specify whether a new network is shared or private" 2016-01-26 09:38:42 +00:00
Tony Mantler
6d70e7dce3 Merge "Move AccessPointPreference to SettingsLib" 2016-01-25 23:06:45 +00:00
Tony Mantler
99b255c8a5 Move AccessPointPreference to SettingsLib
Change-Id: Ib4a7c64e976aed5e75ec04fa72e2fdbd12923371
2016-01-25 10:42:53 -08:00
Bartosz Fabianowski
1058c0cc3d Allow user to specify whether a new network is shared or private
* Add a check box to the WiFi configuration dialog that lets the user
  choose whether a newly created configuration is shared with other
  users (defaults to true)
* Disable the check box when modifying an existing network

BUG=25600871

Change-Id: Ifc6713602ee61b0407e55f45097c1b311fa19cb4
2016-01-25 18:47:39 +01:00
Sudheer Shanka
95a71e06eb Add disabled by policy message as empty views in preferencefragment.
Change-Id: I296dc02c8e5cbea74f8415f4c8c5723f85e20b5b
2016-01-25 14:05:46 +00:00
Maurice Lam
eac385e2f4 Merge "[WifiDialog] Suppress activity transition" 2016-01-19 17:42:25 +00:00
Jeff Sharkey
df828405b1 Follow PackageManager refactoring.
Change-Id: Iae8b40acf6317366f0de780e367e0c21a9966477
2016-01-06 14:51:32 -07:00
Maurice Lam
00d82f054c [WifiDialog] Suppress activity transition
Suppress the activity transition when finishing so that only the
dialog's animation will be played.

Bug: 25796672
Change-Id: I0c472313608aa46f780ce2fdb79224c0ad3a4dad
2015-12-22 15:26:12 -08:00
Nathan Harold
71e1026b48 Merge "Enhancement+Cleanup of RadioInfo Test Menu" 2015-12-04 19:20:25 +00:00
Nathan Harold
cea413a9bb Enhancement+Cleanup of RadioInfo Test Menu
-Re-format CellInfo to a Table
-Improve performance on several blocking calls
-Add IPv6 ping test
-Re-order layout to improve logical grouping
-Semantic changes/cosmetic improvements to a few strings
-Expand list of selectable network types to include recent RATs

Change-Id: I02d15987e7cb79fe0bbd13e5d1eb734e3531f11f
2015-12-04 10:06:56 -08:00
Jason Monk
0b4fdc49fb Create configure Wi-Fi screen
Add a gear on Settings menu, and move a bunch of stuff from
overflow and advanced screen to there.  Also move add network
to be the last item in the list rather than in overflow.

Also fix WifiP2p breakage.

Change-Id: I5c84c25e5ba9224f77dcd988b0b2850ae6e71168
2015-12-04 12:57:39 -05:00
Jason Monk
73df1a9894 Guard against monkey crash.
Bug: 25813437
Change-Id: Id86c775b235ee303dc05c1cf70a407bf5472b17c
2015-11-30 14:50:40 -05:00
Makoto Onuki
4cfe39f539 Use explicit APIs to get device owner information
Bug 24676413

Change-Id: Id346c2f01658173c9671edcfd34bc33f1b25faa4
2015-11-24 14:55:26 -08:00
Jason Monk
3069581512 Summary support for Settings Home
Also add summaries to a few of the major items.

Change-Id: I17924f14941fe095d819e142cdd21cf4b4e9ffd1
2015-11-17 13:51:45 -05:00
Maurice Lam
dd3e2434ee [WifiDialog] Theme for setup wizard
Use setup wizard themes so that dialogs are shown in the correct
accent colors and dark/light themes.

Bug: 25515641
Change-Id: I87a0a01001944b50e48ec812f071a988f37ed8db
2015-11-06 12:07:32 -08:00
Maurice Lam
a36ac2a772 Merge "[WifiDialog] "Add network" return WifiConfig" 2015-10-28 17:32:03 +00:00
Alan Viverette
61eaed7bfb Merge "Let the framework handle long clicks" 2015-10-26 14:01:18 +00:00
Alan Viverette
8fa75e03f7 Let the framework handle long clicks
If we manually propagate long click events, the framework can't include
coordinate information and we'll only be able to show a modal dialog.
Since the default long-click behavior is to show the context menu, just
let the framework handle it.

Bug: 25214386
Change-Id: I32e14b326ac91cc5a9c2bf7581325daaba34298e
2015-10-23 10:49:23 -04:00
Maurice Lam
30b3287eb5 [WifiDialog] "Add network" return WifiConfig
When adding a network by manually entering SSID, return the wifi
configuration to the caller.

Change-Id: If490a341fe95b9c63f43d3bb30a2114bfcd45082
2015-10-22 16:57:50 -07:00
Maurice Lam
34e5a0c308 [WifiDialog] Allow adding unspecified AP
In WifiDialogActivity, handle the case where the given
accessPointState is null, and show the Wi-Fi dialog allowing users
to enter the SSID and other credentials. This will be used by setup
wizard when user selected "Add new network" item.

Bug: 23392285
Change-Id: Ica2650d9e829d73281bc9c504c3005d9c5750d31
2015-10-22 11:39:26 -07:00
Jason Monk
39b467482d Depend on support lib preferences
Bug: 24576551
Change-Id: Ic6190bacd3f7582c9bbc8de972da4612bd92421e
2015-10-13 10:12:20 -04:00
Maurice Lam
ef9d636376 Merge "[WifiSettings] Add Wi-Fi dialog activity" 2015-10-01 17:24:52 +00:00
Maurice Lam
820ee63716 [Settings] Remove dependency from SUW nav bar
Remove setup wizard navigation bar as one of setting's dependencies,
since all the users are using setup wizard library, which includes
the navigation bar as one of its components.

Change-Id: I4ce2b8639155b813a782115725c88d5b1c5c8bfc
2015-09-28 14:57:20 -07:00
Maurice Lam
771fac591f [WifiSettings] Add Wi-Fi dialog activity
Add a Wi-Fi dialog activity that can be started by setup wizard to
connect to a Wi-Fi access point.

Also refactored mEdit and mModify in WifiConfigController into an
int-enum mMode, with modes view, connect and modify. This is how the
new modes maps to the old flags:

MODE_VIEW     --  mEdit = false, mModify = *
MODE_CONNECT  --  mEdit = true, mModify = false
MODE_MODIFY   --  mEdit = true, mModify = true

Bug: 23426311
Change-Id: I8e2221fd3c42577068e07686dab245dd5888e0ae
2015-09-17 16:03:49 -07:00
Maurice Lam
2662df8433 [WifiSettings] Submit Wi-Fi dialog with enter key
Add a OnKeyListener for hardware keyboards and an
OnEditorActionListener for on-screen IMEs to submit the Wi-Fi dialog
with the currently entered information.

Before committing the action, check for whether the dialog is
submittable -- that is checking whether all necessary information has
been entered. If not the enter key behaves the same as it is before
the change.

Bug: 22211604
Change-Id: Idede4233a7385d3bcd8fd6614948270280536bf1
2015-09-14 12:07:06 -07:00
Sanket Padawe
a1423547cf Disable configuring EAP-TLS/TTLS/PEAP without CA certificates.
Bug: 15162357
Change-Id: I9b1be9837b104670adc1cc7ed47a5095ff38d335
2015-09-11 01:08:53 +00:00
Sanket Padawe
774a37b952 Fix crash in WiFi Settings test code.
Bug: 23264452
Change-Id: I285512fe4c0dbc842e041b551819d650f5cf9bbe
2015-09-11 01:02:38 +00:00
Maurice Lam
f402d8ffd7 [WifiSetup] Suppress crash during Wi-Fi setup
Bug: 23936498
Change-Id: I7d97995cfb3c904aee3fc1baa50ea3dafe7d72ea
2015-09-09 16:03:00 -07:00
Xiaohui Chen
6f03829e74 Cleanup remaining USER_OWNER in Settings
Bug: 19913735
Change-Id: I6894a7c81ed7504b02d533d9e9f65f800dbca895
2015-09-03 10:31:34 -07:00
Sanket Padawe
fea726a1be am 481df58d: am 226dec50: am 8b58dc57: am 1a9626f0: am 3be6d0b4: Merge "Avoid new network to connect by using "Add Network" instead only Save it." into mnc-dev
* commit '481df58d49cb37080899ecfe21a22c13943701b2':
  Avoid new network to connect by using "Add Network" instead only Save it.
2015-08-24 23:38:53 +00:00
Sanket Padawe
1a9626f056 am 3be6d0b4: Merge "Avoid new network to connect by using "Add Network" instead only Save it." into mnc-dev
* commit '3be6d0b44bf1152be0bc11bf6bacf750e1028b49':
  Avoid new network to connect by using "Add Network" instead only Save it.
2015-08-24 17:59:07 +00:00
Sanket Padawe
e0ece963c6 Avoid new network to connect by using "Add Network" instead only Save it.
Bug: 23422433
Change-Id: I49aabff91ba127bf2a3b0aa25c8163ee4097bf4d
2015-08-21 16:45:30 -07:00
Sanket Padawe
28c78cc854 am f974b78d: am 8d425a52: am d0513282: am 1d29bde1: Merge "Avoid sending identity along with EAP sim, aka & aka\'." into mnc-dr-dev
* commit 'f974b78d36f7bd449d3dbfc7c7c64e273cb16c78':
  Avoid sending identity along with EAP sim, aka & aka'.
2015-08-12 18:09:32 +00:00