This bug is to track the development of the U2F device enumerator. An overlying state machine should can use the enumerator to get all U2F devices attached to the machine.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/892eb34117f811aa62c821c9129dc53110266e9a commit 892eb34117f811aa62c821c9129dc53110266e9a Author: piperc <piperc@chromium.org> Date: Sat Apr 22 02:53:41 2017 Add U2F request state machines U2fRequest base class is extended by each type of U2F request. Common functions of enumeration and device iteration are defined in the base class. U2fSign performs an entire sign request on any attached U2F devices, and U2FRegister performs the registration request on the devices. BUG= 686310 Review-Url: https://codereview.chromium.org/2821263005 Cr-Commit-Position: refs/heads/master@{#466529} [modify] https://crrev.com/892eb34117f811aa62c821c9129dc53110266e9a/device/BUILD.gn [modify] https://crrev.com/892eb34117f811aa62c821c9129dc53110266e9a/device/u2f/BUILD.gn [add] https://crrev.com/892eb34117f811aa62c821c9129dc53110266e9a/device/u2f/mock_u2f_device.cc [add] https://crrev.com/892eb34117f811aa62c821c9129dc53110266e9a/device/u2f/mock_u2f_device.h [modify] https://crrev.com/892eb34117f811aa62c821c9129dc53110266e9a/device/u2f/u2f_apdu_response.h [modify] https://crrev.com/892eb34117f811aa62c821c9129dc53110266e9a/device/u2f/u2f_device.cc [modify] https://crrev.com/892eb34117f811aa62c821c9129dc53110266e9a/device/u2f/u2f_device.h [add] https://crrev.com/892eb34117f811aa62c821c9129dc53110266e9a/device/u2f/u2f_register.cc [add] https://crrev.com/892eb34117f811aa62c821c9129dc53110266e9a/device/u2f/u2f_register.h [add] https://crrev.com/892eb34117f811aa62c821c9129dc53110266e9a/device/u2f/u2f_register_unittest.cc [add] https://crrev.com/892eb34117f811aa62c821c9129dc53110266e9a/device/u2f/u2f_request.cc [add] https://crrev.com/892eb34117f811aa62c821c9129dc53110266e9a/device/u2f/u2f_request.h [add] https://crrev.com/892eb34117f811aa62c821c9129dc53110266e9a/device/u2f/u2f_request_unittest.cc [add] https://crrev.com/892eb34117f811aa62c821c9129dc53110266e9a/device/u2f/u2f_return_code.h [add] https://crrev.com/892eb34117f811aa62c821c9129dc53110266e9a/device/u2f/u2f_sign.cc [add] https://crrev.com/892eb34117f811aa62c821c9129dc53110266e9a/device/u2f/u2f_sign.h [add] https://crrev.com/892eb34117f811aa62c821c9129dc53110266e9a/device/u2f/u2f_sign_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/80f6eac95d5a0b54894b1526ba505308efd5ab23 commit 80f6eac95d5a0b54894b1526ba505308efd5ab23 Author: pkalinnikov <pkalinnikov@chromium.org> Date: Mon Apr 24 17:16:07 2017 Revert of Add U2F request state machines (patchset #5 id:180001 of https://codereview.chromium.org/2821263005/ ) Reason for revert: Reverting because U2fRequestTest.TestBasicMachine fails consistently on MSan bots (Linux MSan, Linux ChromiumOS MSan). Original issue's description: > Add U2F request state machines > > U2fRequest base class is extended by each type of U2F > request. Common functions of enumeration and device iteration > are defined in the base class. U2fSign performs an entire > sign request on any attached U2F devices, and U2FRegister > performs the registration request on the devices. > > BUG= 686310 > > Review-Url: https://codereview.chromium.org/2821263005 > Cr-Commit-Position: refs/heads/master@{#466529} > Committed: https://chromium.googlesource.com/chromium/src/+/892eb34117f811aa62c821c9129dc53110266e9a TBR=reillyg@chromium.org,kpaulhamus@chromium.org,juanlang@chromium.org,piperc@google.com,piperc@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG= 686310 Review-Url: https://codereview.chromium.org/2838573002 Cr-Commit-Position: refs/heads/master@{#466666} [modify] https://crrev.com/80f6eac95d5a0b54894b1526ba505308efd5ab23/device/BUILD.gn [modify] https://crrev.com/80f6eac95d5a0b54894b1526ba505308efd5ab23/device/u2f/BUILD.gn [delete] https://crrev.com/0ceb99da2db1300e2392a827203d791e426c1b9b/device/u2f/mock_u2f_device.cc [delete] https://crrev.com/0ceb99da2db1300e2392a827203d791e426c1b9b/device/u2f/mock_u2f_device.h [modify] https://crrev.com/80f6eac95d5a0b54894b1526ba505308efd5ab23/device/u2f/u2f_apdu_response.h [modify] https://crrev.com/80f6eac95d5a0b54894b1526ba505308efd5ab23/device/u2f/u2f_device.cc [modify] https://crrev.com/80f6eac95d5a0b54894b1526ba505308efd5ab23/device/u2f/u2f_device.h [delete] https://crrev.com/0ceb99da2db1300e2392a827203d791e426c1b9b/device/u2f/u2f_register.cc [delete] https://crrev.com/0ceb99da2db1300e2392a827203d791e426c1b9b/device/u2f/u2f_register.h [delete] https://crrev.com/0ceb99da2db1300e2392a827203d791e426c1b9b/device/u2f/u2f_register_unittest.cc [delete] https://crrev.com/0ceb99da2db1300e2392a827203d791e426c1b9b/device/u2f/u2f_request.cc [delete] https://crrev.com/0ceb99da2db1300e2392a827203d791e426c1b9b/device/u2f/u2f_request.h [delete] https://crrev.com/0ceb99da2db1300e2392a827203d791e426c1b9b/device/u2f/u2f_request_unittest.cc [delete] https://crrev.com/0ceb99da2db1300e2392a827203d791e426c1b9b/device/u2f/u2f_return_code.h [delete] https://crrev.com/0ceb99da2db1300e2392a827203d791e426c1b9b/device/u2f/u2f_sign.cc [delete] https://crrev.com/0ceb99da2db1300e2392a827203d791e426c1b9b/device/u2f/u2f_sign.h [delete] https://crrev.com/0ceb99da2db1300e2392a827203d791e426c1b9b/device/u2f/u2f_sign_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/4263ec46010ddf5329f20c2d582bb5d2606e0e49 commit 4263ec46010ddf5329f20c2d582bb5d2606e0e49 Author: piperc <piperc@chromium.org> Date: Tue Apr 25 02:30:44 2017 Reland of Add U2F request state machines (patchset #1 id:1 of https://codereview.chromium.org/2838573002/ ) Reason for revert: Missing initialized variable can be initialized and this patchset can be merged again. Original issue's description: > Revert of Add U2F request state machines (patchset #5 id:180001 of https://codereview.chromium.org/2821263005/ ) > > Reason for revert: > Reverting because U2fRequestTest.TestBasicMachine fails consistently on MSan bots (Linux MSan, Linux ChromiumOS MSan). > > Original issue's description: > > Add U2F request state machines > > > > U2fRequest base class is extended by each type of U2F > > request. Common functions of enumeration and device iteration > > are defined in the base class. U2fSign performs an entire > > sign request on any attached U2F devices, and U2FRegister > > performs the registration request on the devices. > > > > BUG= 686310 > > > > Review-Url: https://codereview.chromium.org/2821263005 > > Cr-Commit-Position: refs/heads/master@{#466529} > > Committed: https://chromium.googlesource.com/chromium/src/+/892eb34117f811aa62c821c9129dc53110266e9a > > TBR=reillyg@chromium.org,kpaulhamus@chromium.org,juanlang@chromium.org,piperc@google.com,piperc@chromium.org > # Not skipping CQ checks because original CL landed more than 1 days ago. > BUG= 686310 > > Review-Url: https://codereview.chromium.org/2838573002 > Cr-Commit-Position: refs/heads/master@{#466666} > Committed: https://chromium.googlesource.com/chromium/src/+/80f6eac95d5a0b54894b1526ba505308efd5ab23 TBR=reillyg@chromium.org,kpaulhamus@chromium.org,juanlang@chromium.org,piperc@google.com,pkalinnikov@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= 686310 Review-Url: https://codereview.chromium.org/2835133003 Cr-Commit-Position: refs/heads/master@{#466872} [modify] https://crrev.com/4263ec46010ddf5329f20c2d582bb5d2606e0e49/device/BUILD.gn [modify] https://crrev.com/4263ec46010ddf5329f20c2d582bb5d2606e0e49/device/u2f/BUILD.gn [add] https://crrev.com/4263ec46010ddf5329f20c2d582bb5d2606e0e49/device/u2f/mock_u2f_device.cc [add] https://crrev.com/4263ec46010ddf5329f20c2d582bb5d2606e0e49/device/u2f/mock_u2f_device.h [modify] https://crrev.com/4263ec46010ddf5329f20c2d582bb5d2606e0e49/device/u2f/u2f_apdu_response.h [modify] https://crrev.com/4263ec46010ddf5329f20c2d582bb5d2606e0e49/device/u2f/u2f_device.cc [modify] https://crrev.com/4263ec46010ddf5329f20c2d582bb5d2606e0e49/device/u2f/u2f_device.h [modify] https://crrev.com/4263ec46010ddf5329f20c2d582bb5d2606e0e49/device/u2f/u2f_hid_device.cc [add] https://crrev.com/4263ec46010ddf5329f20c2d582bb5d2606e0e49/device/u2f/u2f_register.cc [add] https://crrev.com/4263ec46010ddf5329f20c2d582bb5d2606e0e49/device/u2f/u2f_register.h [add] https://crrev.com/4263ec46010ddf5329f20c2d582bb5d2606e0e49/device/u2f/u2f_register_unittest.cc [add] https://crrev.com/4263ec46010ddf5329f20c2d582bb5d2606e0e49/device/u2f/u2f_request.cc [add] https://crrev.com/4263ec46010ddf5329f20c2d582bb5d2606e0e49/device/u2f/u2f_request.h [add] https://crrev.com/4263ec46010ddf5329f20c2d582bb5d2606e0e49/device/u2f/u2f_request_unittest.cc [add] https://crrev.com/4263ec46010ddf5329f20c2d582bb5d2606e0e49/device/u2f/u2f_return_code.h [add] https://crrev.com/4263ec46010ddf5329f20c2d582bb5d2606e0e49/device/u2f/u2f_sign.cc [add] https://crrev.com/4263ec46010ddf5329f20c2d582bb5d2606e0e49/device/u2f/u2f_sign.h [add] https://crrev.com/4263ec46010ddf5329f20c2d582bb5d2606e0e49/device/u2f/u2f_sign_unittest.cc
Comment 1 by piperc@chromium.org
, Feb 2 2017