[go: nahoru, domu]

u2fd: Add API to check whether u2f is enabled

The current use case for this API is: in WebAuthn, if this method
says u2f is enabled, the browser will dispatch cross-platform
MakeCredential requests (that would have arrived at u2fhid) to
the platform authenticator implementation (webauthn_handler) instead.
In this case, the platform authenticator can prompt for power button
press, thus preserving the UX of u2fhid, while we can ignore the
u2fhid in WebAuthn. (U2F API will not be affected.)

BUG=none
TEST=webauthntool --is_u2f_enabled

Change-Id: Ice04cd1cdd097514f14cdd17d386d5039171284b
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/2627792
Tested-by: Yicheng Li <yichengli@chromium.org>
Reviewed-by: Leo Lai <cylai@google.com>
Reviewed-by: Martin Kreichgauer <martinkr@google.com>
Commit-Queue: Yicheng Li <yichengli@chromium.org>
NOKEYCHECK=True
GitOrigin-RevId: bc1508624ac4189d8d54b869075a71d3708a923e
2 files changed
tree: 0a4fae4aa3a57c5ab6013d3384cd66b00cff68d1
  1. constants/
  2. dbus/
  3. src/
  4. switches/
  5. .gitignore
  6. BUILD.gn
  7. build.rs
  8. Cargo.toml
  9. LICENSE
  10. OWNERS
  11. README.md
  12. system_api.pc
README.md

This directory (platform2/system_api) contains constants and definitions like D-Bus service names that are shared between Chromium and Chromium OS.

This directory is only for things like headers and .proto files. No implementation should be added.

When writting a .proto file make sure to use:

option optimize_for = LITE_RUNTIME;

This will force usage of a lite protobuf instead of a full/heavy weight protobuf. The browser only links against the light version, so you will get cryptic link errors about missing parts of Message if you define a protobuf here and then try to use it in Chrome. Currently CrOS links against the full protobuffer library, but that might change in the future.

When declaring a protobuf, avoid use of required unless it is exactly what you mean. “Required is Forever” and very rarely should actually be used. Consult Protocol Buffer Basics: C++ for a detailed of this issue.