Skip to content

Commit

Permalink
Merge PR #1720
Browse files Browse the repository at this point in the history
  • Loading branch information
dainnilsson committed Oct 31, 2024
2 parents f2477b1 + 86957cb commit 623ba4a
Show file tree
Hide file tree
Showing 16 changed files with 1,245 additions and 306 deletions.
6 changes: 5 additions & 1 deletion NEWS
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
* Version 7.1.1 (released 2024-10-30) Desktop-only release
** Fix: Entering the wrong PIV PIN/PUK when attempting to change PIN/PUK was not handled correctly, causing extra PIN/PUK attempts to be wasted.
** Fix: Add explicit screen reader announcement for "Touch your YubiKey" which wasn't being read on Windows.

* Version 7.1.0 (released 2024-09-25)
** Improved support for YubiKey Bio - Multi-protocol Edition.
** Improved support for YubiKey 5.7 FIPS:
Expand All @@ -12,7 +16,7 @@
** UI: Add grid views for OATH and Passkey credential lists.
** UI: Add toggling of visibility to the right sidebar menu.

* Version 7.0.1 (released 2024-05-30) Android only release
* Version 7.0.1 (released 2024-05-30) Android-only release
** Fix: Opening the app by NFC tap needs another tap to reveal accounts.
** Fix: NFC devices attached to mobile phone prevent usage of USB YubiKeys.
** Fix: Invalid colors shown in customization views for Android Dynamic color.
Expand Down
8 changes: 4 additions & 4 deletions android/app/src/main/res/values-de/strings.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<resources>
<string name="p_ndef_set_otp">OTP-Code wurde erfolgreich von Ihrem YubiKey in die Zwischenablage kopiert.</string>
<string name="p_ndef_set_password">Passwort wurde erfolgreich von Ihrem YubiKey in die Zwischenablage kopiert.</string>
<string name="p_ndef_parse_failure">Beim Parsen des OTP-Codes von Ihrem YubiKey ist ein Fehler aufgetreten.</string>
<string name="p_ndef_set_clip_failure">Konnte während dem Versuch den OTP-Code von Ihrem YubiKey zu kopieren nicht auf die Zwischenablage zugreifen.</string>
<string name="p_ndef_set_otp">OTP Code wurde erfolgreich in die Zwischenablage kopiert.</string>
<string name="p_ndef_set_password">Passwort wurde erfolgreich in die Zwischenablage kopiert.</string>
<string name="p_ndef_parse_failure">Beim Auslesen des OTP Codes von deinem YubiKey ist ein Fehler aufgetreten.</string>
<string name="p_ndef_set_clip_failure">Fehler beim Zugriff auf die Zwischenablage als der OTP Code kopiert wurde.</string>
</resources>
7 changes: 7 additions & 0 deletions android/app/src/main/res/values-sk/strings.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<resources>
<string name="p_ndef_set_otp">OTP kód sa úspešne skopíroval z YubiKey do schránky.</string>
<string name="p_ndef_set_password">Heslo bolo úspešne skopírované z YubiKey do schránky.</string>
<string name="p_ndef_parse_failure">Nepodarilo sa spracovať OTP kód z YubiKey.</string>
<string name="p_ndef_set_clip_failure">Nepodarilo sa získať prístup k schránke pri pokuse o skopírovanie OTP kódu z YubiKey.</string>
</resources>
1 change: 1 addition & 0 deletions helper/helper/fido.py
Original file line number Diff line number Diff line change
Expand Up @@ -242,6 +242,7 @@ def set_pin(self, params, event, signal):
self._info = self.ctap.get_info()
return RpcResponse(dict(), ["device_info"])
except CtapError as e:
self._token = None
return _handle_pin_error(e, self.client_pin)

@action(condition=lambda self: Config.is_supported(self._info))
Expand Down
34 changes: 17 additions & 17 deletions helper/poetry.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 4 additions & 4 deletions helper/version_info.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ VSVersionInfo(
ffi=FixedFileInfo(
# filevers and prodvers should be always a tuple with four items: (1, 2, 3, 4)
# Set not needed items to zero 0.
filevers=(7, 1, 1, 0),
prodvers=(7, 1, 1, 0),
filevers=(7, 1, 2, 0),
prodvers=(7, 1, 2, 0),
# Contains a bitmask that specifies the valid bits 'flags'r
mask=0x3f,
# Contains a bitmask that specifies the Boolean attributes of the file.
Expand All @@ -31,11 +31,11 @@ VSVersionInfo(
'040904b0',
[StringStruct('CompanyName', 'Yubico'),
StringStruct('FileDescription', 'Yubico Authenticator Helper'),
StringStruct('FileVersion', '7.1.1-dev.0'),
StringStruct('FileVersion', '7.1.2-dev.0'),
StringStruct('LegalCopyright', 'Copyright (c) Yubico'),
StringStruct('OriginalFilename', 'authenticator-helper.exe'),
StringStruct('ProductName', 'Yubico Authenticator'),
StringStruct('ProductVersion', '7.1.1-dev.0')])
StringStruct('ProductVersion', '7.1.2-dev.0')])
]),
VarFileInfo([VarStruct('Translation', [1033, 1200])])
]
Expand Down
5 changes: 4 additions & 1 deletion lib/desktop/fido/state.dart
Original file line number Diff line number Diff line change
Expand Up @@ -99,10 +99,12 @@ class _DesktopFidoStateNotifier extends FidoStateNotifier {
_session.setErrorHandler('state-reset', (_) async {
ref.invalidate(_sessionProvider(devicePath));
});
_session.setErrorHandler('auth-required', (_) async {
_session.setErrorHandler('auth-required', (e) async {
final pin = ref.read(_pinProvider(devicePath));
if (pin != null) {
await unlock(pin);
} else {
throw e;
}
});
ref.onDispose(() {
Expand Down Expand Up @@ -153,6 +155,7 @@ class _DesktopFidoStateNotifier extends FidoStateNotifier {
return unlock(newPin);
} on RpcError catch (e) {
if (e.status == 'pin-validation') {
ref.invalidate(_pinProvider);
ref.invalidateSelf();
return PinResult.failed(FidoPinFailureReason.invalidPin(
e.body['retries'], e.body['auth_blocked']));
Expand Down
6 changes: 4 additions & 2 deletions lib/fido/views/pin_dialog.dart
Original file line number Diff line number Diff line change
Expand Up @@ -85,8 +85,10 @@ class _FidoPinDialogState extends ConsumerState<FidoPinDialog> {
final currentPinLenOk =
_currentPinController.text.length >= currentMinPinLen;
final newPinLenOk = _newPinController.text.length >= minPinLength;
final isValid =
currentPinLenOk && newPinLenOk && _newPinController.text == _confirmPin;
final isValid = currentPinLenOk &&
newPinLenOk &&
_newPinController.text == _confirmPin &&
!_currentIsWrong;

final newPinEnabled = !_isBlocked && currentPinLenOk;
final confirmPinEnabled = !_isBlocked && currentPinLenOk && newPinLenOk;
Expand Down
Loading

0 comments on commit 623ba4a

Please sign in to comment.