Issue metadata
Sign in to add a comment
|
Support updating Http Auth cache with contents from a different Http Auth cache |
||||||||||||||||||||||||
Issue descriptionChromeOS currently uses HttpAuthCache::UpdateAllFrom(const HttpAuthCache& other) for their login code. see: https://cs.chromium.org/chromium/src/chrome/browser/chromeos/login/existing_user_controller.cc?rcl=456eb6a9673d3c3d1240f4f090a3c87772bb461b&l=164 We need to figure out how to support populating HttpAuthCache in NetworkContext.
,
May 15 2018
this is for chrome-os and should not block the initial network services launch.
,
May 29 2018
,
Sep 4
,
Sep 7
,
Dec 3
,
Dec 6
,
Dec 6
Issue 896941 has been merged into this issue.
,
Dec 12
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/bb0389f4b627caf2b0edf58d5b92e5e58a495fdc commit bb0389f4b627caf2b0edf58d5b92e5e58a495fdc Author: Robbie McElrath <rmcelrath@chromium.org> Date: Wed Dec 12 01:41:48 2018 Support copying HttpAuthCache contents with network service enabled. This adds functions to NetworkContext to facilitate copying HttpAuthCache contents from one NetworkContext to another. This copying is needed during ChromeOS sign in to copy any proxy authentication that happened in the login screen into the user's session. We'll need to somehow reference one NetworkContext from another in order to do the copying, which isn't curently possible. We considered 3 approaches to address this: 1. Add an ID to all NetworkContexts, and use the source NetworkContext's ID in the copy call. The network service can then look up the HttpAuthCache for that NetworkContext and copy from it. 2. Create a Mojo struct containing the relevant portions of the HttpAuthCache entries, and add a GetHttpAuthCacheEntries method to NetworkContext that will return a list of all entries. We can then pass that list back to the destination NetworkContext via a SetHttpAuthCacheEntries method. 3. Add a NetworkContext method to save the current HttpAuthCache contents somewhere not associated with that NetworkContext, and return some token/key/id that can be used to reference the saved data in a subsequent call on the destination NetworkContext. Here are my thoughts on each approach: 1. I don't think this features is enough of a justification for adding a NetworkContext ID. NetworkContexts are logically tied to a StoragePartition, and currently access to them is mostly tied to their StoragePartition as well. I think that's the way it should be, and adding a unique ID to them makes it easier to reference them from other places. 2. In order to convert the existing HttpAuthCache entries into a mojo struct, we'd need to add accessors to the vector of entries, as well as path list and nonce of each individual entry. While this is doable, I felt like this was too big of a change to the HttpAuthCache API, and was exposing too much of its implementation. 3. I'm not a huge fan of this API, but it's very simple, doesn't require any changes to net/'s API, and doesn't require serializing the HttpAuthCache and transmitting it twice across processes. This CL implements approach 3, but I'm happy to change it. This also refactors ProfileAuthData to use the new API. ExistingUserController and SigninPartitionManager will also need to be migrated to this new API, but those will be done in followup CLs. Bug: 838942 Change-Id: I47367dcff41f73e86535f487035e20dde5cbb86c Reviewed-on: https://chromium-review.googlesource.com/c/1366877 Commit-Queue: Robbie McElrath <rmcelrath@chromium.org> Reviewed-by: Daniel Cheng <dcheng@chromium.org> Reviewed-by: John Abd-El-Malek <jam@chromium.org> Reviewed-by: Xiyuan Xia <xiyuan@chromium.org> Reviewed-by: Reilly Grant <reillyg@chromium.org> Cr-Commit-Position: refs/heads/master@{#615761} [modify] https://crrev.com/bb0389f4b627caf2b0edf58d5b92e5e58a495fdc/chrome/browser/chromeos/login/profile_auth_data.cc [modify] https://crrev.com/bb0389f4b627caf2b0edf58d5b92e5e58a495fdc/chrome/browser/chromeos/login/profile_auth_data.h [modify] https://crrev.com/bb0389f4b627caf2b0edf58d5b92e5e58a495fdc/services/network/BUILD.gn [add] https://crrev.com/bb0389f4b627caf2b0edf58d5b92e5e58a495fdc/services/network/http_auth_cache_copier.cc [add] https://crrev.com/bb0389f4b627caf2b0edf58d5b92e5e58a495fdc/services/network/http_auth_cache_copier.h [modify] https://crrev.com/bb0389f4b627caf2b0edf58d5b92e5e58a495fdc/services/network/network_context.cc [modify] https://crrev.com/bb0389f4b627caf2b0edf58d5b92e5e58a495fdc/services/network/network_context.h [modify] https://crrev.com/bb0389f4b627caf2b0edf58d5b92e5e58a495fdc/services/network/network_service.cc [modify] https://crrev.com/bb0389f4b627caf2b0edf58d5b92e5e58a495fdc/services/network/network_service.h [modify] https://crrev.com/bb0389f4b627caf2b0edf58d5b92e5e58a495fdc/services/network/public/mojom/network_context.mojom [modify] https://crrev.com/bb0389f4b627caf2b0edf58d5b92e5e58a495fdc/services/network/test/test_network_context.h
,
Dec 12
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ec81befc4a48721366f052d1bef14d8f8fe03bbe commit ec81befc4a48721366f052d1bef14d8f8fe03bbe Author: Robbie McElrath <rmcelrath@chromium.org> Date: Wed Dec 12 01:46:00 2018 Make SigninPartitionManager work with the network service enabled. This makes the HttpAuthCache copying in SigninPartitionManager work when the network service is enabled. Bug: 838942 Change-Id: I679885ad0b9f8ca3fada00b777f5a955ba7b4d0f Reviewed-on: https://chromium-review.googlesource.com/c/1368949 Commit-Queue: Robbie McElrath <rmcelrath@chromium.org> Reviewed-by: Xiyuan Xia <xiyuan@chromium.org> Cr-Commit-Position: refs/heads/master@{#615768} [modify] https://crrev.com/ec81befc4a48721366f052d1bef14d8f8fe03bbe/chrome/browser/chromeos/login/signin_partition_manager.cc [modify] https://crrev.com/ec81befc4a48721366f052d1bef14d8f8fe03bbe/chrome/browser/chromeos/login/signin_partition_manager.h [modify] https://crrev.com/ec81befc4a48721366f052d1bef14d8f8fe03bbe/chrome/browser/chromeos/login/signin_partition_manager_unittest.cc
,
Dec 12
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ac5e3628232f3c798aad68bf80f183898c1eef82 commit ac5e3628232f3c798aad68bf80f183898c1eef82 Author: Robbie McElrath <rmcelrath@chromium.org> Date: Wed Dec 12 01:58:50 2018 Make ExistingUserController work with the network service enabled. Bug: 838942 Change-Id: Ibb116e15580dace63bb271af04e983d37db56167 Reviewed-on: https://chromium-review.googlesource.com/c/1371208 Commit-Queue: Robbie McElrath <rmcelrath@chromium.org> Reviewed-by: Xiyuan Xia <xiyuan@chromium.org> Cr-Commit-Position: refs/heads/master@{#615779} [modify] https://crrev.com/ac5e3628232f3c798aad68bf80f183898c1eef82/chrome/browser/chromeos/login/existing_user_controller.cc [modify] https://crrev.com/ac5e3628232f3c798aad68bf80f183898c1eef82/testing/buildbot/filters/mojo.fyi.chromeos.network_interactive_ui_tests.filter
,
Dec 12
|
|||||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||||
Comment 1 by xunji...@chromium.org
, May 2 2018