From 1f999accc12cd93255eb01ae1a2ff5f160b04916 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roberto=20Abdelkader=20Mart=C3=ADnez=20P=C3=A9rez?= Date: Fri, 31 Jan 2025 01:15:31 +0100 Subject: [PATCH] fix: allow autofirma to load aarch64 NSS --- nix/autofirma/default.nix | 1 + .../patches/clienteafirma/aarch64_elf.patch | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) create mode 100644 nix/autofirma/patches/clienteafirma/aarch64_elf.patch diff --git a/nix/autofirma/default.nix b/nix/autofirma/default.nix index 9639799..5df397a 100644 --- a/nix/autofirma/default.nix +++ b/nix/autofirma/default.nix @@ -34,6 +34,7 @@ ./patches/clienteafirma/pr-367.patch ./patches/clienteafirma/certutilpath.patch ./patches/clienteafirma/etc_config.patch + ./patches/clienteafirma/aarch64_elf.patch ] ++ (lib.optional disableJavaVersionCheck [ ./patches/clienteafirma/dont_check_java_version.patch diff --git a/nix/autofirma/patches/clienteafirma/aarch64_elf.patch b/nix/autofirma/patches/clienteafirma/aarch64_elf.patch new file mode 100644 index 0000000..ef5097b --- /dev/null +++ b/nix/autofirma/patches/clienteafirma/aarch64_elf.patch @@ -0,0 +1,16 @@ +diff --git a/afirma-keystores-mozilla/src/main/java/es/gob/afirma/keystores/mozilla/bintutil/ElfParser.java b/afirma-keystores-mozilla/src/main/java/es/gob/afirma/keystores/mozilla/bintutil/ElfParser.java +index ae1f04d97..897b662d9 100644 +--- a/afirma-keystores-mozilla/src/main/java/es/gob/afirma/keystores/mozilla/bintutil/ElfParser.java ++++ b/afirma-keystores-mozilla/src/main/java/es/gob/afirma/keystores/mozilla/bintutil/ElfParser.java +@@ -139,8 +139,10 @@ public final class ElfParser { + return false; + } + return "64".equals(Platform.getJavaArch()) && //$NON-NLS-1$ +- Platform.MACHINE.AMD64.equals(Platform.getMachineType()) && ++ (Platform.MACHINE.AMD64.equals(Platform.getMachineType()) && + ElfMachineType.AMD64.equals(a) || ++ Platform.MACHINE.ARM64.equals(Platform.getMachineType()) && ++ ElfMachineType.ARM64.equals(a)) || + "32".equals(Platform.getJavaArch()) && //$NON-NLS-1$ + (Platform.MACHINE.X86.equals(Platform.getMachineType()) || Platform.MACHINE.AMD64.equals(Platform.getMachineType())) && // 32 puede estar en maquina de 32 o de 64 bits + ElfMachineType.X86.equals(a);