From 2c7f04f876692f645f109ef18abfb9005bd5c376 Mon Sep 17 00:00:00 2001 From: sim Date: Mon, 11 May 2026 08:18:21 +0200 Subject: [PATCH 1/2] Fix PIN requirement for USB plugged after navigating to USB view --- .../gms/fido/core/transport/usb/UsbTransportHandler.kt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/play-services-fido/core/src/main/kotlin/org/microg/gms/fido/core/transport/usb/UsbTransportHandler.kt b/play-services-fido/core/src/main/kotlin/org/microg/gms/fido/core/transport/usb/UsbTransportHandler.kt index f023c9bd63..3cf2e6b460 100644 --- a/play-services-fido/core/src/main/kotlin/org/microg/gms/fido/core/transport/usb/UsbTransportHandler.kt +++ b/play-services-fido/core/src/main/kotlin/org/microg/gms/fido/core/transport/usb/UsbTransportHandler.kt @@ -155,7 +155,7 @@ class UsbTransportHandler(private val context: Context, callback: TransportHandl throw e } catch (e: WrongPinException) { throw e - } catch (e: Exception) { + } catch (e: Exception) { Log.w(TAG, e) } } @@ -167,6 +167,10 @@ class UsbTransportHandler(private val context: Context, callback: TransportHandl return handle(options, callerPackage, device, iface, pinRequested, pin) } catch (e: CancellationException) { throw e + } catch (e: MissingPinException) { + throw e + } catch (e: WrongPinException) { + throw e } catch (e: Exception) { Log.w(TAG, e) } From de0aaebf5a35eb1a03812129cd67272e7591683b Mon Sep 17 00:00:00 2001 From: sim Date: Thu, 14 May 2026 15:29:21 +0200 Subject: [PATCH 2/2] Fido: Throw Ctap2StatusException with USB to pass error to activity --- .../gms/fido/core/transport/usb/UsbTransportHandler.kt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/play-services-fido/core/src/main/kotlin/org/microg/gms/fido/core/transport/usb/UsbTransportHandler.kt b/play-services-fido/core/src/main/kotlin/org/microg/gms/fido/core/transport/usb/UsbTransportHandler.kt index 3cf2e6b460..292ff4cb8c 100644 --- a/play-services-fido/core/src/main/kotlin/org/microg/gms/fido/core/transport/usb/UsbTransportHandler.kt +++ b/play-services-fido/core/src/main/kotlin/org/microg/gms/fido/core/transport/usb/UsbTransportHandler.kt @@ -24,6 +24,7 @@ import kotlinx.coroutines.CancellationException import kotlinx.coroutines.CompletableDeferred import org.microg.gms.fido.core.* import org.microg.gms.fido.core.transport.AuthenticatorResponseWithUser +import org.microg.gms.fido.core.transport.Ctap2StatusException import org.microg.gms.fido.core.transport.Transport import org.microg.gms.fido.core.transport.TransportHandler import org.microg.gms.fido.core.transport.TransportHandlerCallback @@ -155,6 +156,8 @@ class UsbTransportHandler(private val context: Context, callback: TransportHandl throw e } catch (e: WrongPinException) { throw e + } catch (e: Ctap2StatusException) { + throw e } catch (e: Exception) { Log.w(TAG, e) } @@ -171,6 +174,8 @@ class UsbTransportHandler(private val context: Context, callback: TransportHandl throw e } catch (e: WrongPinException) { throw e + } catch (e: Ctap2StatusException) { + throw e } catch (e: Exception) { Log.w(TAG, e) }