From 891de461390956f97932e02e54b3a2a522f36bf7 Mon Sep 17 00:00:00 2001 From: Steve Myers Date: Wed, 8 Apr 2026 13:47:03 -0500 Subject: [PATCH] fix!: increase ChangeError len values to u32 BREAKING CHANGE. --- cktap-ffi/src/error.rs | 4 ++-- cktap-swift/Sources/CKTap/cktap_ffi.swift | 12 ++++++------ lib/src/error.rs | 4 ++-- lib/src/tap_signer.rs | 4 ++-- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/cktap-ffi/src/error.rs b/cktap-ffi/src/error.rs index 0091623..25df813 100644 --- a/cktap-ffi/src/error.rs +++ b/cktap-ffi/src/error.rs @@ -345,9 +345,9 @@ pub enum ChangeError { err: CkTapError, }, #[error("new cvc is too short, must be at least 6 bytes, was only {len} bytes")] - TooShort { len: u8 }, + TooShort { len: u32 }, #[error("new cvc is too long, must be at most 32 bytes, was {len} bytes")] - TooLong { len: u8 }, + TooLong { len: u32 }, #[error("new cvc is the same as the old one")] SameAsOld, } diff --git a/cktap-swift/Sources/CKTap/cktap_ffi.swift b/cktap-swift/Sources/CKTap/cktap_ffi.swift index b09a51c..f117c34 100644 --- a/cktap-swift/Sources/CKTap/cktap_ffi.swift +++ b/cktap-swift/Sources/CKTap/cktap_ffi.swift @@ -2019,9 +2019,9 @@ enum ChangeError: Swift.Error, Equatable, Hashable, Foundation.LocalizedError { case CkTap(err: CkTapError ) - case TooShort(len: UInt8 + case TooShort(len: UInt32 ) - case TooLong(len: UInt8 + case TooLong(len: UInt32 ) case SameAsOld @@ -2057,10 +2057,10 @@ public struct FfiConverterTypeChangeError: FfiConverterRustBuffer { err: try FfiConverterTypeCkTapError.read(from: &buf) ) case 2: return .TooShort( - len: try FfiConverterUInt8.read(from: &buf) + len: try FfiConverterUInt32.read(from: &buf) ) case 3: return .TooLong( - len: try FfiConverterUInt8.read(from: &buf) + len: try FfiConverterUInt32.read(from: &buf) ) case 4: return .SameAsOld @@ -2082,12 +2082,12 @@ public struct FfiConverterTypeChangeError: FfiConverterRustBuffer { case let .TooShort(len): writeInt(&buf, Int32(2)) - FfiConverterUInt8.write(len, into: &buf) + FfiConverterUInt32.write(len, into: &buf) case let .TooLong(len): writeInt(&buf, Int32(3)) - FfiConverterUInt8.write(len, into: &buf) + FfiConverterUInt32.write(len, into: &buf) case .SameAsOld: diff --git a/lib/src/error.rs b/lib/src/error.rs index c0aaaad..9c8369b 100644 --- a/lib/src/error.rs +++ b/lib/src/error.rs @@ -131,9 +131,9 @@ pub enum ChangeError { #[error(transparent)] CkTap(#[from] CkTapError), #[error("new cvc is too short, must be at least 6 bytes, was only {0} bytes")] - TooShort(u8), + TooShort(u32), #[error("new cvc is too long, must be at most 32 bytes, was {0} bytes")] - TooLong(u8), + TooLong(u32), #[error("new cvc is the same as the old one")] SameAsOld, } diff --git a/lib/src/tap_signer.rs b/lib/src/tap_signer.rs index a086c6e..2ad50d9 100644 --- a/lib/src/tap_signer.rs +++ b/lib/src/tap_signer.rs @@ -286,11 +286,11 @@ pub trait TapSignerShared: Authentication { /// Change the CVC used for card authentication to a new user provided one async fn change(&mut self, new_cvc: &str, cvc: &str) -> Result<(), ChangeError> { if new_cvc.len() < 6 { - return Err(ChangeError::TooShort(new_cvc.len() as u8)); + return Err(ChangeError::TooShort(new_cvc.len() as u32)); } if new_cvc.len() > 32 { - return Err(ChangeError::TooLong(new_cvc.len() as u8)); + return Err(ChangeError::TooLong(new_cvc.len() as u32)); } if new_cvc == cvc {