Compare commits

..

3 Commits

Author SHA1 Message Date
Leendert de Borst
511ec31d17 Bump version to 0.17.3 (#854) 2025-05-20 15:31:22 +02:00
Leendert de Borst
080e505991 Merge branch '850-prepare-0172-release' into 854-prepare-0173-release
* 850-prepare-0172-release:
  Bump version to 0.17.2 (#850)
2025-05-20 15:29:11 +02:00
Leendert de Borst
461c1a042d Silently fail incorrect 2FA codes during import instead of throwing exception (#852) 2025-05-20 15:22:09 +02:00
9 changed files with 37 additions and 22 deletions

View File

@@ -530,7 +530,7 @@
"@executable_path/../Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 10.14;
MARKETING_VERSION = 0.17.2;
MARKETING_VERSION = 0.17.3;
OTHER_LDFLAGS = (
"-framework",
SafariServices,
@@ -569,7 +569,7 @@
"@executable_path/../Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 10.14;
MARKETING_VERSION = 0.17.2;
MARKETING_VERSION = 0.17.3;
OTHER_LDFLAGS = (
"-framework",
SafariServices,

View File

@@ -6,7 +6,7 @@ export class AppInfo {
/**
* The current extension version. This should be updated with each release of the extension.
*/
public static readonly VERSION = '0.17.2';
public static readonly VERSION = '0.17.3';
/**
* The minimum supported AliasVault server (API) version. If the server version is below this, the

View File

@@ -6,7 +6,7 @@ export default defineConfig({
manifest: {
name: "AliasVault",
description: "AliasVault Browser AutoFill Extension. Keeping your personal information private.",
version: "0.17.2",
version: "0.17.3",
content_security_policy: {
extension_pages: "script-src 'self' 'wasm-unsafe-eval'; object-src 'self';"
},

View File

@@ -1050,7 +1050,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 0.17.2;
MARKETING_VERSION = 0.17.3;
OTHER_LDFLAGS = (
"$(inherited)",
"-ObjC",
@@ -1084,7 +1084,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 0.17.2;
MARKETING_VERSION = 0.17.3;
OTHER_LDFLAGS = (
"$(inherited)",
"-ObjC",
@@ -1621,7 +1621,7 @@
"@executable_path/../../Frameworks",
);
LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
MARKETING_VERSION = 0.17.2;
MARKETING_VERSION = 0.17.3;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_DEBUG";
@@ -1666,7 +1666,7 @@
"@executable_path/../../Frameworks",
);
LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
MARKETING_VERSION = 0.17.2;
MARKETING_VERSION = 0.17.3;
MTL_FAST_MATH = YES;
OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_RELEASE";
PRODUCT_BUNDLE_IDENTIFIER = net.aliasvault.app.autofill;

View File

@@ -8,7 +8,7 @@ export class AppInfo {
/**
* The current extension version. This should be updated with each release of the extension.
*/
public static readonly VERSION = '0.17.2';
public static readonly VERSION = '0.17.3';
/**
* The minimum supported AliasVault server (API) version. If the server version is below this, the

View File

@@ -30,7 +30,7 @@ public static class AppInfo
/// <summary>
/// Gets the patch version number.
/// </summary>
public const int VersionPatch = 2;
public const int VersionPatch = 3;
/// <summary>
/// Gets the minimum supported AliasVault client version. Normally the minimum client version is the same

View File

@@ -4,3 +4,6 @@ Business,,login,Item for business folder,,,0,,crisply,4CSp43uhSZri8A,
,,login,Test,,,0,,test2,asdasd,
Business,,login,TutaNota,,,0,,avtest2@tutamail.com,blabla,otpauth://totp/Strongbox?secret=PLW4SB3PQ7MKVXY2MXF4NEXS6Y&algorithm=SHA1&digits=6&period=30
Business,,login,Aliasvault.net,,,0,https://www.aliasvault.net,root,toor,
Business,,login,TutaNota3,,,0,,avtest3@tutamail.com,blabla,otpauth://totp/Test%20name%3Atest%40test.org?secret=PLW4SB3PQ7MKVXY2MXF4NEXS6Y&issuer=Alias%20Vault
Business,,login,TutaNota4,,,0,,avtest4@tutamail.com,blabla,otpauth://totp/my.email@gmail.com?secret=TEST!INVALID&issuer=Alias%20Vault&algorithm=SHA1&digits=6&period=30
Business,,login,TutaNota5,,,0,,avtest5@tutamail.com,blabla,incorrectstring
1 folder favorite type name notes fields reprompt login_uri login_username login_password login_totp
4 login Test 0 test2 asdasd
5 Business login TutaNota 0 avtest2@tutamail.com blabla otpauth://totp/Strongbox?secret=PLW4SB3PQ7MKVXY2MXF4NEXS6Y&algorithm=SHA1&digits=6&period=30
6 Business login Aliasvault.net 0 https://www.aliasvault.net root toor
7 Business login TutaNota3 0 avtest3@tutamail.com blabla otpauth://totp/Test%20name%3Atest%40test.org?secret=PLW4SB3PQ7MKVXY2MXF4NEXS6Y&issuer=Alias%20Vault
8 Business login TutaNota4 0 avtest4@tutamail.com blabla otpauth://totp/my.email@gmail.com?secret=TEST!INVALID&issuer=Alias%20Vault&algorithm=SHA1&digits=6&period=30
9 Business login TutaNota5 0 avtest5@tutamail.com blabla incorrectstring

View File

@@ -107,7 +107,10 @@ public class ImportExportTests
var importedCredentials = await BitwardenImporter.ImportFromCsvAsync(fileContent);
// Assert
Assert.That(importedCredentials, Has.Count.EqualTo(5));
Assert.That(importedCredentials, Has.Count.EqualTo(8));
// There is one entry which has an invalid TOTP code ("! in the secret), we ensure this logic does not throw a fatal error.
var convertedCredentials = BaseImporter.ConvertToCredential(importedCredentials);
// Test specific entries
var tutaNotaCredential = importedCredentials.First(c => c.ServiceName == "TutaNota");

View File

@@ -53,18 +53,27 @@ public static class BaseImporter
if (!string.IsNullOrEmpty(importedCredential.TwoFactorSecret))
{
// Sanitize the secret key by converting from potential URI to secret key and name.
var (secretKey, name) = TotpHelper.SanitizeSecretKey(importedCredential.TwoFactorSecret);
credential.TotpCodes = new List<TotpCode>
try
{
new()
var (secretKey, name) = TotpHelper.SanitizeSecretKey(importedCredential.TwoFactorSecret);
credential.TotpCodes = new List<TotpCode>
{
Name = name ?? "Authenticator",
SecretKey = secretKey,
CreatedAt = importedCredential.CreatedAt ?? DateTime.UtcNow,
UpdatedAt = importedCredential.UpdatedAt ?? DateTime.UtcNow,
}
};
new()
{
Name = name ?? "Authenticator",
SecretKey = secretKey,
CreatedAt = importedCredential.CreatedAt ?? DateTime.UtcNow,
UpdatedAt = importedCredential.UpdatedAt ?? DateTime.UtcNow,
}
};
}
catch (Exception ex)
{
// 2FA extraction failed, log the error and continue with the next credential
// so the import doesn't fail due to failed 2FA extraction.
Console.WriteLine($"Error importing TOTP code: {ex.Message}");
}
}
credentials.Add(credential);
@@ -72,4 +81,4 @@ public static class BaseImporter
return credentials;
}
}
}