• Martin Kreichgauer's avatar
    Revert "fido: add FidoDiscoveryFactory::ResetRequestState()" · eac3d928
    Martin Kreichgauer authored
    This reverts commit 9f151687.
    
    Reason for revert: The original change makes an invalid assumptions
    about the lifetime of FidoDiscoveryFactory (crbug/1087158). Instances of
    FidoDiscoveryFactory generally belong to the
    AuthenticatorRequestClientDelegate and as such should outlive the
    WebAuthn request. As an exception, instances obtained via
    AuthenticatorEnvironmentImpl::GetDiscoveryFactoryOverride() may be
    unregistered and freed before the request finishes.
    
    This revert is safe because the caBLE data reset by ResetRequestState
    (a) only gets set in the first place if the
    WebAuthenticationPhoneSupport flag is on (which is default-off); and (b)
    gets set anew for every single request, so it will never be reused
    across requests.
    
    Bug: 1087158
    
    Original change's description:
    > fido: add FidoDiscoveryFactory::ResetRequestState()
    >
    > FidoDiscoveryFactory instances generally outlive a WebAuthn request, but
    > some of the state is specific to a single request (caBLE pairing and QR
    > code generation keys). This is currently not an issue, because
    > AuthenticatorCommon explicitly resets all that state at the beginning of
    > the request. But I worry that we accidentally break that and leak state
    > between requests. To mitigate, introduce an explicit ResetRequestState
    > function and call it in AuthenticatorCommon::Cleanup().
    >
    > Change-Id: I8333a3b14d189d7977cde17cbfe44b4b8dcf6ee2
    > Reviewed-on:
    > https://chromium-review.googlesource.com/c/chromium/src/+/1793792
    > Commit-Queue: Martin Kreichgauer <martinkr@chromium.org>
    > Reviewed-by: Nina Satragno <nsatragno@chromium.org>
    > Reviewed-by: Adam Langley <agl@chromium.org>
    > Cr-Commit-Position: refs/heads/master@{#696593}
    
    Change-Id: I3b1ea46b9b1d5912cbc7ab9a82851e5132335ea8
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2228136Reviewed-by: default avatarNina Satragno <nsatragno@chromium.org>
    Reviewed-by: default avatarAdam Langley <agl@chromium.org>
    Commit-Queue: Martin Kreichgauer <martinkr@google.com>
    Cr-Commit-Position: refs/heads/master@{#774784}
    eac3d928
fido_discovery_factory.h 3.23 KB