gecko-dev/dom/webauthn
Tim Taubert c29f1dbeb7 Bug 1403818 - Fix WebAuthn IPC crashes by keeping the child actor alive until process shutdown r=jcj
Summary:
We currently call ChildActor.send__delete() when clearing an active transaction
and thereby destroy the child actor. If that happens, e.g. due to a tab switch,
while a message is in the IPC buffer waiting to be delivered, we crash.

This patch creates the child actor lazily as before, but keeps it around until
the WebAuthnManager goes away, which will be at process shutdown.

Each transaction now has a unique id, that the parent process will include in
any of the ConfirmRegister, ConfirmSign, or Abort messages. That way we can
easily ignore stale messages that were in the buffer while we started a new
transaction or cancelled the current one.

Reviewers: jcj

Reviewed By: jcj

Bug #: 1403818

Differential Revision: https://phabricator.services.mozilla.com/D149
2017-10-25 15:59:53 +02:00
..
cbor-cpp Bug 1380529 - Add a CBOR library for WebAuthn (1/3) r=ttaubert 2017-07-13 18:12:57 -07:00
libudev-sys Bug 1380270 - Add dlopen() version of libudev-sys r=qdot,ted 2017-08-31 19:11:27 +02:00
tests Bug 1407829 - WebAuthn: Implement CredMan's Store method r=qdot,ttaubert 2017-10-12 17:02:22 -07:00
u2f-hid-rs Bug 1404556 - Support libc::ioctl() call on musl libc 2017-10-04 16:53:17 +02:00
AuthenticatorAssertionResponse.cpp Bug 1406456 - WebAuthn WebIDL Updates for WD-07 (part 1) r=keeler,qdot 2017-10-06 16:10:57 -07:00
AuthenticatorAssertionResponse.h Bug 1406456 - WebAuthn WebIDL Updates for WD-07 (part 1) r=keeler,qdot 2017-10-06 16:10:57 -07:00
AuthenticatorAttestationResponse.cpp Bug 1401803 - WebAuthn types need to return ArrayBuffers r=keeler 2017-09-20 07:32:07 -07:00
AuthenticatorAttestationResponse.h Bug 1384623 - WebAuthn [SameObject] attributes must cache those objects r=qdot 2017-07-26 10:03:17 -07:00
AuthenticatorResponse.cpp Bug 1401803 - WebAuthn types need to return ArrayBuffers r=keeler 2017-09-20 07:32:07 -07:00
AuthenticatorResponse.h Bug 1384623 - WebAuthn [SameObject] attributes must cache those objects r=qdot 2017-07-26 10:03:17 -07:00
moz.build Bug 1381190 - Remove WebAuthnRequest dead code r=ttaubert 2017-10-12 15:17:51 -07:00
PublicKeyCredential.cpp Bug 1406456 - WebAuthn WebIDL Updates for WD-07 (part 1) r=keeler,qdot 2017-10-06 16:10:57 -07:00
PublicKeyCredential.h Bug 1406456 - WebAuthn WebIDL Updates for WD-07 (part 1) r=keeler,qdot 2017-10-06 16:10:57 -07:00
PWebAuthnTransaction.ipdl Bug 1403818 - Fix WebAuthn IPC crashes by keeping the child actor alive until process shutdown r=jcj 2017-10-25 15:59:53 +02:00
U2FHIDTokenManager.cpp Bug 1400668 - Process key handle exclusion list when registering a token r=jcj 2017-09-21 16:09:53 +02:00
U2FHIDTokenManager.h Bug 1388851 - Implement U2FHIDTokenManager r=jcj,qdot,keeler 2017-08-09 21:24:50 +02:00
U2FSoftTokenManager.cpp Bug 1380954 - Forward WebAuthnTransactionInfo::TimeoutMS() to U2F*TokenManagers r=jcj 2017-07-14 19:27:53 +02:00
U2FSoftTokenManager.h Bug 1380954 - Forward WebAuthnTransactionInfo::TimeoutMS() to U2F*TokenManagers r=jcj 2017-07-14 19:27:53 +02:00
U2FTokenManager.cpp Bug 1403818 - Fix WebAuthn IPC crashes by keeping the child actor alive until process shutdown r=jcj 2017-10-25 15:59:53 +02:00
U2FTokenManager.h Bug 1403818 - Fix WebAuthn IPC crashes by keeping the child actor alive until process shutdown r=jcj 2017-10-25 15:59:53 +02:00
U2FTokenTransport.h Bug 1388851 - Implement U2FHIDTokenManager r=jcj,qdot,keeler 2017-08-09 21:24:50 +02:00
WebAuthnCBORUtil.cpp Bug 1380529 - Use CBOR for the Create Credential WebAuthn call (2/3) r=ttaubert 2017-07-13 18:12:50 -07:00
WebAuthnCBORUtil.h Bug 1380529 - Use CBOR for the Create Credential WebAuthn call (2/3) r=ttaubert 2017-07-13 18:12:50 -07:00
WebAuthnCoseIdentifiers.h Bug 1381190 - Change to COSE Algorithm identifiers for WebAuthn r=qdot,ttaubert 2017-10-12 15:21:06 -07:00
WebAuthnManager.cpp Bug 1403818 - Fix WebAuthn IPC crashes by keeping the child actor alive until process shutdown r=jcj 2017-10-25 15:59:53 +02:00
WebAuthnManager.h Bug 1403818 - Fix WebAuthn IPC crashes by keeping the child actor alive until process shutdown r=jcj 2017-10-25 15:59:53 +02:00
WebAuthnTransactionChild.cpp Bug 1403818 - Fix WebAuthn IPC crashes by keeping the child actor alive until process shutdown r=jcj 2017-10-25 15:59:53 +02:00
WebAuthnTransactionChild.h Bug 1403818 - Fix WebAuthn IPC crashes by keeping the child actor alive until process shutdown r=jcj 2017-10-25 15:59:53 +02:00
WebAuthnTransactionParent.cpp Bug 1403818 - Fix WebAuthn IPC crashes by keeping the child actor alive until process shutdown r=jcj 2017-10-25 15:59:53 +02:00
WebAuthnTransactionParent.h Bug 1403818 - Fix WebAuthn IPC crashes by keeping the child actor alive until process shutdown r=jcj 2017-10-25 15:59:53 +02:00
WebAuthnUtil.cpp Bug 1387820 - WebAuthn WD-05 Get Assertion Data Fix r=keeler 2017-08-09 20:05:23 -07:00
WebAuthnUtil.h Bug 1387820 - WebAuthn WD-05 Get Assertion Data Fix r=keeler 2017-08-09 20:05:23 -07:00