diff --git a/sources b/sources index e7eccf8..5df8bdb 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ -e45f034c5477b9310043b31d1a310b98 v3.2.0.tar.gz +SHA512 (voms-api-java-3.3.7.tar.gz) = b623480b972742625e0c7cd95bfefee36a580f743240434d5591a9f35a19977a4d7d3abc90b598666e86f8e6d3a40a6c6ca66e19309a1ea8d2be979af57aaa58 +SHA512 (helper-scripts-master.tar.gz) = 8704b5bdbee360c0db70e6ece2781a385c62c802c9000754f62efbd23bd22542ace77f68b8064661201f441b40234475a005d9f67b50f0aea435636a0a851225 diff --git a/voms-api-java-canl-2.5.patch b/voms-api-java-canl-2.5.patch deleted file mode 100644 index d170c0f..0000000 --- a/voms-api-java-canl-2.5.patch +++ /dev/null @@ -1,197 +0,0 @@ -diff -ur voms-api-java-3.2.0.orig/src/main/java/org/italiangrid/voms/credential/impl/AbstractLoadCredentialsStrategy.java voms-api-java-3.2.0/src/main/java/org/italiangrid/voms/credential/impl/AbstractLoadCredentialsStrategy.java ---- voms-api-java-3.2.0.orig/src/main/java/org/italiangrid/voms/credential/impl/AbstractLoadCredentialsStrategy.java 2016-02-11 16:57:01.000000000 +0100 -+++ voms-api-java-3.2.0/src/main/java/org/italiangrid/voms/credential/impl/AbstractLoadCredentialsStrategy.java 2018-01-05 12:30:30.853119209 +0100 -@@ -19,7 +19,7 @@ - import java.io.FileInputStream; - import java.io.FileNotFoundException; - --import org.bouncycastle.openssl.PasswordFinder; -+import eu.emi.security.authn.x509.helpers.PasswordSupplier; - import org.italiangrid.voms.credential.LoadCredentialsEventListener; - import org.italiangrid.voms.credential.LoadCredentialsStrategy; - import org.italiangrid.voms.credential.VOMSEnvironmentVariables; -@@ -83,13 +83,13 @@ - * @param certificatePath - * the path to the certificate - * @param pf -- * a {@link PasswordFinder} used to resolve the private key password -+ * a {@link PasswordSupplier} used to resolve the private key password - * when needed - * @return the loaded {@link X509Credential}, or null if the - * credential couldn't be loaded - */ - protected X509Credential loadPEMCredential(String privateKeyPath, -- String certificatePath, PasswordFinder pf) { -+ String certificatePath, PasswordSupplier pf) { - - PEMCredential cred = null; - -@@ -120,12 +120,12 @@ - * @param pkcs12FilePath - * the path to the pkcs12 credential - * @param pf -- * a {@link PasswordFinder} used to resolve the private key password -+ * a {@link PasswordSupplier} used to resolve the private key password - * @return the loaded {@link X509Credential}, or null if the - * credential couldn't be loaded - */ - protected X509Credential loadPKCS12Credential(String pkcs12FilePath, -- PasswordFinder pf) { -+ PasswordSupplier pf) { - - KeystoreCredential cred = null; - -diff -ur voms-api-java-3.2.0.orig/src/main/java/org/italiangrid/voms/credential/impl/DefaultLoadCredentialsStrategy.java voms-api-java-3.2.0/src/main/java/org/italiangrid/voms/credential/impl/DefaultLoadCredentialsStrategy.java ---- voms-api-java-3.2.0.orig/src/main/java/org/italiangrid/voms/credential/impl/DefaultLoadCredentialsStrategy.java 2016-02-11 16:57:01.000000000 +0100 -+++ voms-api-java-3.2.0/src/main/java/org/italiangrid/voms/credential/impl/DefaultLoadCredentialsStrategy.java 2018-01-05 12:30:30.854119198 +0100 -@@ -15,7 +15,7 @@ - */ - package org.italiangrid.voms.credential.impl; - --import org.bouncycastle.openssl.PasswordFinder; -+import eu.emi.security.authn.x509.helpers.PasswordSupplier; - import org.italiangrid.voms.VOMSError; - import org.italiangrid.voms.credential.LoadCredentialsEventListener; - import org.italiangrid.voms.credential.ProxyNamingPolicy; -@@ -115,7 +115,7 @@ - return val; - } - -- public X509Credential loadCredentials(PasswordFinder pf) { -+ public X509Credential loadCredentials(PasswordSupplier pf) { - - if (pf == null) - throw new IllegalArgumentException( -@@ -163,7 +163,7 @@ - return null; - } - -- protected X509Credential loadPEMCredentialFromEnv(PasswordFinder pf) { -+ protected X509Credential loadPEMCredentialFromEnv(PasswordSupplier pf) { - - String certPath = getFromEnvOrSystemProperty(X509_USER_CERT); - String keyPath = getFromEnvOrSystemProperty(X509_USER_KEY); -@@ -175,7 +175,7 @@ - return null; - } - -- protected X509Credential loadPKCS12CredentialFromEnv(PasswordFinder pf) { -+ protected X509Credential loadPKCS12CredentialFromEnv(PasswordSupplier pf) { - - String pkcs12Path = getFromEnvOrSystemProperty(PKCS12_USER_CERT); - -@@ -185,7 +185,7 @@ - return null; - } - -- protected X509Credential loadPKCS12CredentialsFromGlobusDir(PasswordFinder pf) { -+ protected X509Credential loadPKCS12CredentialsFromGlobusDir(PasswordSupplier pf) { - - String credPath = String.format("%s/%s", home, - GLOBUS_PKCS12_CRED_PATH_SUFFIX); -@@ -193,7 +193,7 @@ - - } - -- protected X509Credential loadPEMCredentialsFromGlobusDir(PasswordFinder pf) { -+ protected X509Credential loadPEMCredentialsFromGlobusDir(PasswordSupplier pf) { - - String certPath = String.format("%s/%s", home, GLOBUS_PEM_CERT_PATH_SUFFIX); - String keyPath = String.format("%s/%s", home, GLOBUS_PEM_KEY_PATH_SUFFIX); -diff -ur voms-api-java-3.2.0.orig/src/main/java/org/italiangrid/voms/credential/LoadCredentialsStrategy.java voms-api-java-3.2.0/src/main/java/org/italiangrid/voms/credential/LoadCredentialsStrategy.java ---- voms-api-java-3.2.0.orig/src/main/java/org/italiangrid/voms/credential/LoadCredentialsStrategy.java 2016-02-11 16:57:01.000000000 +0100 -+++ voms-api-java-3.2.0/src/main/java/org/italiangrid/voms/credential/LoadCredentialsStrategy.java 2018-01-05 12:30:30.852119219 +0100 -@@ -15,7 +15,7 @@ - */ - package org.italiangrid.voms.credential; - --import org.bouncycastle.openssl.PasswordFinder; -+import eu.emi.security.authn.x509.helpers.PasswordSupplier; - - import eu.emi.security.authn.x509.X509Credential; - -@@ -37,5 +37,5 @@ - * @return an {@link X509Credential}, or null if no credential - * was found - */ -- public X509Credential loadCredentials(PasswordFinder passwordFinder); -+ public X509Credential loadCredentials(PasswordSupplier passwordFinder); - } -diff -ur voms-api-java-3.2.0.orig/src/main/java/org/italiangrid/voms/credential/UserCredentials.java voms-api-java-3.2.0/src/main/java/org/italiangrid/voms/credential/UserCredentials.java ---- voms-api-java-3.2.0.orig/src/main/java/org/italiangrid/voms/credential/UserCredentials.java 2016-02-11 16:57:01.000000000 +0100 -+++ voms-api-java-3.2.0/src/main/java/org/italiangrid/voms/credential/UserCredentials.java 2018-01-05 12:30:30.852119219 +0100 -@@ -15,7 +15,7 @@ - */ - package org.italiangrid.voms.credential; - --import org.bouncycastle.openssl.PasswordFinder; -+import eu.emi.security.authn.x509.helpers.PasswordSupplier; - import org.italiangrid.voms.credential.impl.DefaultLoadCredentialsStrategy; - - import eu.emi.security.authn.x509.X509Credential; -@@ -43,7 +43,7 @@ - - public static X509Credential loadCredentials(final char[] keyPassword) { - -- PasswordFinder pf = new PasswordFinder() { -+ PasswordSupplier pf = new PasswordSupplier() { - - public char[] getPassword() { - -@@ -54,7 +54,7 @@ - return loadCredentialsStrategy.loadCredentials(pf); - } - -- public static X509Credential loadCredentials(PasswordFinder passwordFinder) { -+ public static X509Credential loadCredentials(PasswordSupplier passwordFinder) { - - return loadCredentialsStrategy.loadCredentials(passwordFinder); - } -diff -ur voms-api-java-3.2.0.orig/src/test/java/org/italiangrid/voms/test/cred/TestLoadCredential.java voms-api-java-3.2.0/src/test/java/org/italiangrid/voms/test/cred/TestLoadCredential.java ---- voms-api-java-3.2.0.orig/src/test/java/org/italiangrid/voms/test/cred/TestLoadCredential.java 2016-02-11 16:57:01.000000000 +0100 -+++ voms-api-java-3.2.0/src/test/java/org/italiangrid/voms/test/cred/TestLoadCredential.java 2018-01-05 12:30:30.852119219 +0100 -@@ -15,7 +15,7 @@ - */ - package org.italiangrid.voms.test.cred; - --import org.bouncycastle.openssl.PasswordFinder; -+import eu.emi.security.authn.x509.helpers.PasswordSupplier; - import org.italiangrid.voms.credential.impl.AbstractLoadCredentialsStrategy; - import org.italiangrid.voms.credential.impl.DefaultLoadCredentialsStrategy; - import org.italiangrid.voms.util.FilePermissionHelper; -@@ -51,7 +51,7 @@ - + "/.globus/usercred.p12"); - } - -- static class TestPasswordFinder implements PasswordFinder { -+ static class TestPasswordFinder implements PasswordSupplier { - - public char[] getPassword() { - -@@ -59,7 +59,7 @@ - } - } - -- static class NullPasswordFinder implements PasswordFinder { -+ static class NullPasswordSupplier implements PasswordSupplier { - - public char[] getPassword() { - -@@ -72,7 +72,7 @@ - - AbstractLoadCredentialsStrategy strategy = new DefaultLoadCredentialsStrategy( - emptyHome); -- X509Credential cred = strategy.loadCredentials(new NullPasswordFinder()); -+ X509Credential cred = strategy.loadCredentials(new NullPasswordSupplier()); - Assert.assertNull(cred); - } - -@@ -81,7 +81,7 @@ - - AbstractLoadCredentialsStrategy strategy = new DefaultLoadCredentialsStrategy( - emptyGlobusHome); -- X509Credential cred = strategy.loadCredentials(new NullPasswordFinder()); -+ X509Credential cred = strategy.loadCredentials(new NullPasswordSupplier()); - Assert.assertNull(cred); - } - diff --git a/voms-api-java-no-local.patch b/voms-api-java-no-local.patch deleted file mode 100644 index e63d618..0000000 --- a/voms-api-java-no-local.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -ur voms-api-java-3.0.5.orig/src/test/java/org/italiangrid/voms/test/ac/TestACValidator.java voms-api-java-3.0.5/src/test/java/org/italiangrid/voms/test/ac/TestACValidator.java ---- voms-api-java-3.0.5.orig/src/test/java/org/italiangrid/voms/test/ac/TestACValidator.java 2014-12-09 10:55:31.000000000 +0100 -+++ voms-api-java-3.0.5/src/test/java/org/italiangrid/voms/test/ac/TestACValidator.java 2014-12-16 14:00:01.144948880 +0100 -@@ -351,7 +351,7 @@ - .getValidationErrors().get(0).getMessage()); - } - -- @Test -+ // @Test - public void testTargetValidationSuccess() throws Exception { - - VOMSAA aa = Utils.getVOMSAA(); -@@ -379,7 +379,7 @@ - Assert.assertTrue(r.isValid()); - } - -- @Test -+ // @Test - public void testTargetValidationFailure() throws Exception { - - VOMSAA aa = Utils.getVOMSAA(); diff --git a/voms-api-java-test.patch b/voms-api-java-test.patch new file mode 100644 index 0000000..b32fafc --- /dev/null +++ b/voms-api-java-test.patch @@ -0,0 +1,28 @@ +diff --git a/src/test/java/org/italiangrid/voms/test/ac/TestACValidator.java b/src/test/java/org/italiangrid/voms/test/ac/TestACValidator.java +index a0f7a87..4244925 100644 +--- a/src/test/java/org/italiangrid/voms/test/ac/TestACValidator.java ++++ b/src/test/java/org/italiangrid/voms/test/ac/TestACValidator.java +@@ -31,6 +31,7 @@ import org.italiangrid.voms.test.utils.Utils; + import org.italiangrid.voms.test.utils.VOMSAA; + import org.junit.Assert; + import org.junit.BeforeClass; ++import org.junit.Ignore; + import org.junit.Test; + + import eu.emi.security.authn.x509.X509CertChainValidatorExt; +@@ -316,6 +317,7 @@ public class TestACValidator implements Fixture { + } + + @Test ++ @Ignore + public void testTargetValidationSuccess() throws Exception { + + VOMSAA aa = Utils.getVOMSAA(); +@@ -342,6 +344,7 @@ public class TestACValidator implements Fixture { + } + + @Test ++ @Ignore + public void testTargetValidationFailure() throws Exception { + + VOMSAA aa = Utils.getVOMSAA(); diff --git a/voms-api-java.spec b/voms-api-java.spec index 84b8fdf..2b354af 100644 --- a/voms-api-java.spec +++ b/voms-api-java.spec @@ -1,23 +1,31 @@ Name: voms-api-java -Version: 3.2.0 -Release: 5%{?dist} +Version: 3.3.7 +Release: 4%{?dist} Summary: Virtual Organization Membership Service Java API -License: ASL 2.0 -URL: https://wiki.italiangrid.it/VOMS -Source0: https://github.com/italiangrid/%{name}/archive/v%{version}.tar.gz -# Disable tests using non-local network interface -Patch0: %{name}-no-local.patch -# Adapt to canl-java version 2.5 -Patch1: %{name}-canl-2.5.patch -BuildArch: noarch +License: Apache-2.0 +URL: https://github.com/italiangrid/%{name} +Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz +# Helper scripts for generating test certificates +Source1: https://baltig.infn.it/mw-devel/helper-scripts/-/archive/master/helper-scripts-master.tar.gz +# Disable tests requiring non-local network +Patch0: %{name}-test.patch +BuildArch: noarch +ExclusiveArch: %{java_arches} noarch + +%if %{?fedora}%{!?fedora:0} >= 43 +BuildRequires: maven-local-openjdk25 +%else BuildRequires: maven-local -BuildRequires: mvn(eu.eu-emi.security:canl) >= 2.5 +%endif +BuildRequires: mvn(eu.eu-emi.security:canl) >= 2.8.3 BuildRequires: mvn(junit:junit) +BuildRequires: mvn(org.hamcrest:hamcrest-library) BuildRequires: mvn(org.mockito:mockito-core) -BuildRequires: mvn(net.jcip:jcip-annotations) -Requires: mvn(eu.eu-emi.security:canl) >= 2.5 +BuildRequires: faketime +BuildRequires: openssl +Requires: mvn(eu.eu-emi.security:canl) >= 2.8.3 %description The Virtual Organization Membership Service (VOMS) is an attribute authority @@ -36,27 +44,38 @@ Summary: Virtual Organization Membership Service Java API Documentation Virtual Organization Membership Service (VOMS) Java API Documentation. %prep -%setup -q -%patch0 -p1 -%patch1 -p1 +%setup -q -a 1 +%patch -P0 -p1 + +# Remove unused dependency +%pom_remove_dep net.jcip:jcip-annotations + +# F33+ and EPEL8+ doesn't use the maven-javadoc-plugin to generate javadoc +# Remove maven-javadoc-plugin configuration to avoid build failure +%pom_remove_plugin org.apache.maven.plugins:maven-javadoc-plugin # Do not create source jars %pom_remove_plugin org.apache.maven.plugins:maven-source-plugin -# Cobertura no longer in Fedora due to licensing issues -%pom_remove_plugin org.codehaus.mojo:cobertura-maven-plugin +%if %{?rhel}%{!?rhel:0} == 9 +# Modify bouncycastle dependencies for RHEL 9 +%pom_change_dep org.bouncycastle:bcprov-jdk18on org.bouncycastle:bcprov-jdk15on +%pom_change_dep org.bouncycastle:bcpkix-jdk18on org.bouncycastle:bcpkix-jdk15on +%endif -# Remove license plugin -%pom_remove_plugin com.mycila.maven-license-plugin:maven-license-plugin +# Generate test certificates +export PATH=$PWD/helper-scripts-master/x509-scripts/scripts:$PATH +pushd src/test/resources +./setup.sh +popd %build %mvn_build %install -%mvn_install -J target/site/javadoc/apidocs +%mvn_install %files -f .mfiles -%dir %{_javadir}/%{name} %doc AUTHORS README.md %license LICENSE @@ -64,6 +83,140 @@ Virtual Organization Membership Service (VOMS) Java API Documentation. %license LICENSE %changelog +* Fri Jul 17 2026 Fedora Release Engineering - 3.3.7-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild + +* Sat Jun 13 2026 Yaakov Selkowitz - 3.3.7-3 +- Rebuilt for openssl 4.0 + +* Sat Jan 17 2026 Fedora Release Engineering - 3.3.7-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + +* Sat Dec 20 2025 Mattias Ellert - 3.3.7-1 +- Update to version 3.3.7 + +* Mon Sep 08 2025 Mattias Ellert - 3.3.6-2 +- Include upstream's scripts for generating test certificates +- Enable tests again + +* Tue Aug 05 2025 Mattias Ellert - 3.3.6-1 +- Update to version 3.3.6 + +* Tue Jul 29 2025 jiri vanek - 3.3.5-4 +- Rebuilt for java-25-openjdk as preffered jdk + +* Fri Jul 25 2025 Fedora Release Engineering - 3.3.5-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Tue Apr 22 2025 Mattias Ellert - 3.3.5-2 +- Update URL tag + +* Thu Apr 17 2025 Mattias Ellert - 3.3.5-1 +- Update to version 3.3.5 +- Do not run tests + - some scripts needed for generating the test certificates are missing + +* Sun Jan 19 2025 Fedora Release Engineering - 3.3.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Thu Nov 28 2024 Mattias Ellert - 3.3.3-2 +- Update bouncycastle dependencies for EPEL 10 + +* Sat Aug 03 2024 Mattias Ellert - 3.3.3-1 +- Update to version 3.3.3 + +* Sat Jul 20 2024 Fedora Release Engineering - 3.3.2-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Thu Mar 14 2024 Mattias Ellert - 3.3.2-17 +- Update bouncycastle dependencies + +* Tue Feb 27 2024 Jiri Vanek - 3.3.2-16 +- Rebuilt for java-21-openjdk as system jdk + +* Sat Jan 27 2024 Fedora Release Engineering - 3.3.2-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sat Dec 16 2023 Mattias Ellert - 3.3.2-14 +- Adjust to removed deprecaded API in Mockito + +* Sat Jul 22 2023 Fedora Release Engineering - 3.3.2-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Sat Jan 21 2023 Fedora Release Engineering - 3.3.2-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Tue Dec 13 2022 Mattias Ellert - 3.3.2-11 +- Disable tests that fail due to more expired certificates + +* Mon Oct 17 2022 Mattias Ellert - 3.3.2-10 +- Disable tests that fail due to expired certificates + +* Wed Sep 28 2022 Mattias Ellert - 3.3.2-9 +- Disable failing multi-thread test +- Disable tests using obsolete hashes (md5/sha1) + +* Sat Jul 23 2022 Fedora Release Engineering - 3.3.2-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Fri Jul 08 2022 Jiri Vanek - 3.3.2-7 +- Rebuilt for Drop i686 JDKs + +* Sat Feb 05 2022 Jiri Vanek - 3.3.2-6 +- Rebuilt for java-17-openjdk as system jdk + +* Sat Jan 22 2022 Fedora Release Engineering - 3.3.2-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Fri Jan 14 2022 Mattias Ellert - 3.3.2-4 +- Disable failing tests due to changes in bouncycastle + +* Fri Jul 23 2021 Fedora Release Engineering - 3.3.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Wed Jan 27 2021 Fedora Release Engineering - 3.3.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Oct 13 2020 Mattias Ellert - 3.3.2-1 +- Update to version 3.3.2 - matches canl-java 2.6.x +- Drop patches voms-api-java-javadoc-source.patch and -no-local.patch + +* Wed Jul 29 2020 Fedora Release Engineering - 3.3.0-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Jul 15 2020 Mattias Ellert - 3.3.0-10 +- Fedora 33 builds javadoc the same way EPEL 8 does + +* Sat Jul 11 2020 Jiri Vanek - 3.3.0-9 +- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11 + +* Tue May 05 2020 Mattias Ellert - 3.3.0-8 +- Only remove the maven-javadoc-plugin configuration on EPEL 8 +- Add source version to javadoc configuration (backported from git) + +* Fri Jan 31 2020 Fedora Release Engineering - 3.3.0-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Tue Aug 20 2019 Mattias Ellert - 3.3.0-6 +- Remove maven-javadoc-plugin configuration +- Remove unused dependency net.jcip:jcip-annotations + +* Sat Jul 27 2019 Fedora Release Engineering - 3.3.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sun Feb 03 2019 Fedora Release Engineering - 3.3.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Dec 07 2018 Mattias Ellert - 3.3.0-3 +- Add BuildRequires on hamcrest-library (no longer pulled in by mockito) + +* Sat Jul 14 2018 Fedora Release Engineering - 3.3.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Thu Feb 08 2018 Mattias Ellert - 3.3.0-1 +- Update to version 3.3.0 - matches canl-java 2.5.x +- Drop patch voms-api-java-canl-2.5.patch + * Fri Jan 05 2018 Mattias Ellert - 3.2.0-5 - Adapt to canl-java 2.5 - Use jcip-annotations for EPEL 7 build