diff --git a/voms-api-java-bc147.patch b/voms-api-java-bc147.patch
index a99ccb9..93af308 100644
--- a/voms-api-java-bc147.patch
+++ b/voms-api-java-bc147.patch
@@ -1,27 +1,29 @@
-diff -ur voms-api-java-3_0_2.orig/pom.xml voms-api-java-3_0_2/pom.xml
---- voms-api-java-3_0_2.orig/pom.xml 2013-10-17 16:29:07.000000000 +0200
-+++ voms-api-java-3_0_2/pom.xml 2014-03-08 09:57:54.689276148 +0100
-@@ -37,7 +37,7 @@
- /usr/share/javadoc/${project.name}
- 4.10
- 1.3.2
-- 1.46
-+ 1.47
- 1.9.0
- 2.2.2
- 2.5.2
-@@ -189,7 +189,7 @@
+diff -ur voms-api-java-3.0.4.orig/pom.xml voms-api-java-3.0.4/pom.xml
+--- voms-api-java-3.0.4.orig/pom.xml 2014-10-14 14:19:12.000000000 +0200
++++ voms-api-java-3.0.4/pom.xml 2014-11-17 17:52:47.126546807 +0100
+@@ -43,7 +43,7 @@
+ 4.11
+ 1.3
+ 1.3.2
+- 1.46
++ 1.47
+ 1.9.5
+ 1.0
+
+@@ -235,8 +235,8 @@
org.bouncycastle
- bcmail-jdk16
+- ${bcmail.version}
+ bcpkix-jdk15on
- ${bcVersion}
++ ${bcpkix.version}
-diff -ur voms-api-java-3_0_2.orig/src/main/java/org/italiangrid/voms/ac/impl/DefaultVOMSValidationStrategy.java voms-api-java-3_0_2/src/main/java/org/italiangrid/voms/ac/impl/DefaultVOMSValidationStrategy.java
---- voms-api-java-3_0_2.orig/src/main/java/org/italiangrid/voms/ac/impl/DefaultVOMSValidationStrategy.java 2013-10-17 16:29:07.000000000 +0200
-+++ voms-api-java-3_0_2/src/main/java/org/italiangrid/voms/ac/impl/DefaultVOMSValidationStrategy.java 2014-03-08 09:57:16.678003546 +0100
+
+diff -ur voms-api-java-3.0.4.orig/src/main/java/org/italiangrid/voms/ac/impl/DefaultVOMSValidationStrategy.java voms-api-java-3.0.4/src/main/java/org/italiangrid/voms/ac/impl/DefaultVOMSValidationStrategy.java
+--- voms-api-java-3.0.4.orig/src/main/java/org/italiangrid/voms/ac/impl/DefaultVOMSValidationStrategy.java 2014-10-14 14:19:12.000000000 +0200
++++ voms-api-java-3.0.4/src/main/java/org/italiangrid/voms/ac/impl/DefaultVOMSValidationStrategy.java 2014-11-17 17:50:20.346253852 +0100
@@ -39,7 +39,7 @@
import javax.security.auth.x500.X500Principal;
@@ -49,9 +51,9 @@ diff -ur voms-api-java-3_0_2.orig/src/main/java/org/italiangrid/voms/ac/impl/Def
if (authKeyId != null && authKeyId.isCritical()){
validationErrors.add(newErrorMessage(other, "AuthorityKeyIdentifier AC extension cannot be critical!"));
return false;
-diff -ur voms-api-java-3_0_2.orig/src/main/java/org/italiangrid/voms/asn1/VOMSACGenerator.java voms-api-java-3_0_2/src/main/java/org/italiangrid/voms/asn1/VOMSACGenerator.java
---- voms-api-java-3_0_2.orig/src/main/java/org/italiangrid/voms/asn1/VOMSACGenerator.java 2013-10-17 16:29:07.000000000 +0200
-+++ voms-api-java-3_0_2/src/main/java/org/italiangrid/voms/asn1/VOMSACGenerator.java 2014-03-08 09:57:16.678003546 +0100
+diff -ur voms-api-java-3.0.4.orig/src/main/java/org/italiangrid/voms/asn1/VOMSACGenerator.java voms-api-java-3.0.4/src/main/java/org/italiangrid/voms/asn1/VOMSACGenerator.java
+--- voms-api-java-3.0.4.orig/src/main/java/org/italiangrid/voms/asn1/VOMSACGenerator.java 2014-10-14 14:19:12.000000000 +0200
++++ voms-api-java-3.0.4/src/main/java/org/italiangrid/voms/asn1/VOMSACGenerator.java 2014-11-17 17:50:20.346253852 +0100
@@ -30,20 +30,21 @@
import org.bouncycastle.asn1.ASN1Encodable;
import org.bouncycastle.asn1.ASN1EncodableVector;
@@ -189,9 +191,9 @@ diff -ur voms-api-java-3_0_2.orig/src/main/java/org/italiangrid/voms/asn1/VOMSAC
is.close();
return derCert;
-diff -ur voms-api-java-3_0_2.orig/src/main/java/org/italiangrid/voms/asn1/VOMSACUtils.java voms-api-java-3_0_2/src/main/java/org/italiangrid/voms/asn1/VOMSACUtils.java
---- voms-api-java-3_0_2.orig/src/main/java/org/italiangrid/voms/asn1/VOMSACUtils.java 2013-10-17 16:29:07.000000000 +0200
-+++ voms-api-java-3_0_2/src/main/java/org/italiangrid/voms/asn1/VOMSACUtils.java 2014-03-08 11:07:33.203630648 +0100
+diff -ur voms-api-java-3.0.4.orig/src/main/java/org/italiangrid/voms/asn1/VOMSACUtils.java voms-api-java-3.0.4/src/main/java/org/italiangrid/voms/asn1/VOMSACUtils.java
+--- voms-api-java-3.0.4.orig/src/main/java/org/italiangrid/voms/asn1/VOMSACUtils.java 2014-10-14 14:19:12.000000000 +0200
++++ voms-api-java-3.0.4/src/main/java/org/italiangrid/voms/asn1/VOMSACUtils.java 2014-11-17 17:50:20.347253840 +0100
@@ -31,21 +31,21 @@
import org.bouncycastle.asn1.ASN1InputStream;
@@ -218,8 +220,8 @@ diff -ur voms-api-java-3_0_2.orig/src/main/java/org/italiangrid/voms/asn1/VOMSAC
import org.bouncycastle.cert.X509AttributeCertificateHolder;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
import org.bouncycastle.jce.provider.X509CertificateObject;
-@@ -159,7 +159,7 @@
- private static List deserializeACTargets(X509AttributeCertificateHolder ac){
+@@ -160,7 +160,7 @@
+ private static List deserializeACTargets(X509AttributeCertificateHolder ac){
List targets = new ArrayList();
- X509Extension targetExtension = ac.getExtension(X509Extension.targetInformation);
@@ -227,7 +229,7 @@ diff -ur voms-api-java-3_0_2.orig/src/main/java/org/italiangrid/voms/asn1/VOMSAC
if (targetExtension == null)
return targets;
-@@ -171,7 +171,7 @@
+@@ -172,7 +172,7 @@
// The deserialization has to be done by hand since it seems VOMS
// does not correctly encode the ACTargets extension...
@@ -236,7 +238,7 @@ diff -ur voms-api-java-3_0_2.orig/src/main/java/org/italiangrid/voms/asn1/VOMSAC
Target[] asn1Targets = new Target[targetSequence.size()];
int count = 0;
-@@ -256,8 +256,8 @@
+@@ -257,8 +257,8 @@
Attribute[] asn1Attrs = acHolder.getAttributes(VOMS_FQANS_OID);
for (Attribute a: asn1Attrs){
@@ -247,7 +249,7 @@ diff -ur voms-api-java-3_0_2.orig/src/main/java/org/italiangrid/voms/asn1/VOMSAC
String policyAuthority = policyAuthoritySanityChecks(attrSyntax);
-@@ -306,7 +306,7 @@
+@@ -307,7 +307,7 @@
List gas = new ArrayList();
@@ -256,7 +258,7 @@ diff -ur voms-api-java-3_0_2.orig/src/main/java/org/italiangrid/voms/asn1/VOMSAC
if (gasExtension == null)
return gas;
-@@ -364,7 +364,7 @@
+@@ -365,7 +365,7 @@
private static X509Certificate[] deserializeACCerts(X509AttributeCertificateHolder ac){
List certs = new ArrayList();
@@ -265,7 +267,7 @@ diff -ur voms-api-java-3_0_2.orig/src/main/java/org/italiangrid/voms/asn1/VOMSAC
if (e == null)
return null;
-@@ -377,7 +377,7 @@
+@@ -378,7 +378,7 @@
certSeq = (ASN1Sequence)certSeq.getObjectAt(0);
@SuppressWarnings("unchecked")
@@ -274,7 +276,7 @@ diff -ur voms-api-java-3_0_2.orig/src/main/java/org/italiangrid/voms/asn1/VOMSAC
CertificateFactory cf = null;
-@@ -389,14 +389,14 @@
+@@ -390,14 +390,14 @@
while (encodedCerts.hasMoreElements()){
@@ -291,9 +293,9 @@ diff -ur voms-api-java-3_0_2.orig/src/main/java/org/italiangrid/voms/asn1/VOMSAC
certData = certObj.getEncoded();
theCert = (X509Certificate)cf.generateCertificate(new ByteArrayInputStream(certData));
-diff -ur voms-api-java-3_0_2.orig/src/main/java/org/italiangrid/voms/asn1/VOMSConstants.java voms-api-java-3_0_2/src/main/java/org/italiangrid/voms/asn1/VOMSConstants.java
---- voms-api-java-3_0_2.orig/src/main/java/org/italiangrid/voms/asn1/VOMSConstants.java 2013-10-17 16:29:07.000000000 +0200
-+++ voms-api-java-3_0_2/src/main/java/org/italiangrid/voms/asn1/VOMSConstants.java 2014-03-08 09:57:16.678003546 +0100
+diff -ur voms-api-java-3.0.4.orig/src/main/java/org/italiangrid/voms/asn1/VOMSConstants.java voms-api-java-3.0.4/src/main/java/org/italiangrid/voms/asn1/VOMSConstants.java
+--- voms-api-java-3.0.4.orig/src/main/java/org/italiangrid/voms/asn1/VOMSConstants.java 2014-10-14 14:19:12.000000000 +0200
++++ voms-api-java-3.0.4/src/main/java/org/italiangrid/voms/asn1/VOMSConstants.java 2014-11-17 17:50:20.347253840 +0100
@@ -20,7 +20,7 @@
import java.util.Set;
@@ -315,9 +317,9 @@ diff -ur voms-api-java-3_0_2.orig/src/main/java/org/italiangrid/voms/asn1/VOMSCo
+ Extension.authorityKeyIdentifier));
}
-diff -ur voms-api-java-3_0_2.orig/src/test/java/org/italiangrid/voms/test/ac/TestNoExtensionValidation.java voms-api-java-3_0_2/src/test/java/org/italiangrid/voms/test/ac/TestNoExtensionValidation.java
---- voms-api-java-3_0_2.orig/src/test/java/org/italiangrid/voms/test/ac/TestNoExtensionValidation.java 2013-10-17 16:29:07.000000000 +0200
-+++ voms-api-java-3_0_2/src/test/java/org/italiangrid/voms/test/ac/TestNoExtensionValidation.java 2014-03-08 09:57:16.679003553 +0100
+diff -ur voms-api-java-3.0.4.orig/src/test/java/org/italiangrid/voms/test/ac/TestNoExtensionValidation.java voms-api-java-3.0.4/src/test/java/org/italiangrid/voms/test/ac/TestNoExtensionValidation.java
+--- voms-api-java-3.0.4.orig/src/test/java/org/italiangrid/voms/test/ac/TestNoExtensionValidation.java 2014-10-14 14:19:12.000000000 +0200
++++ voms-api-java-3.0.4/src/test/java/org/italiangrid/voms/test/ac/TestNoExtensionValidation.java 2014-11-17 17:50:20.348253829 +0100
@@ -15,6 +15,7 @@
*/
package org.italiangrid.voms.test.ac;
diff --git a/voms-api-java-no-local.patch b/voms-api-java-no-local.patch
new file mode 100644
index 0000000..d088970
--- /dev/null
+++ b/voms-api-java-no-local.patch
@@ -0,0 +1,21 @@
+diff -ur voms-api-java-3.0.4.orig/src/test/java/org/italiangrid/voms/test/ac/TestACValidator.java voms-api-java-3.0.4/src/test/java/org/italiangrid/voms/test/ac/TestACValidator.java
+--- voms-api-java-3.0.4.orig/src/test/java/org/italiangrid/voms/test/ac/TestACValidator.java 2014-10-14 14:19:12.000000000 +0200
++++ voms-api-java-3.0.4/src/test/java/org/italiangrid/voms/test/ac/TestACValidator.java 2014-11-18 17:42:40.727483267 +0100
+@@ -330,7 +330,7 @@
+ r.getValidationErrors().get(0).getMessage());
+ }
+
+- @Test
++ // @Test
+ public void testTargetValidationSuccess() throws Exception {
+ VOMSAA aa = Utils.getVOMSAA();
+
+@@ -357,7 +357,7 @@
+ Assert.assertTrue(r.isValid());
+ }
+
+- @Test
++ // @Test
+ public void testTargetValidationFailure() throws Exception {
+ VOMSAA aa = Utils.getVOMSAA();
+
diff --git a/voms-api-java-timezone-dep-test.patch b/voms-api-java-timezone-dep-test.patch
deleted file mode 100644
index c37f303..0000000
--- a/voms-api-java-timezone-dep-test.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-diff -ur voms-api-java-3_0_2.orig/src/test/java/org/italiangrid/voms/test/ac/TestACGeneration.java voms-api-java-3_0_2/src/test/java/org/italiangrid/voms/test/ac/TestACGeneration.java
---- voms-api-java-3_0_2.orig/src/test/java/org/italiangrid/voms/test/ac/TestACGeneration.java 2013-10-17 16:29:07.000000000 +0200
-+++ voms-api-java-3_0_2/src/test/java/org/italiangrid/voms/test/ac/TestACGeneration.java 2014-03-10 18:40:57.972237793 +0100
-@@ -259,43 +259,43 @@
- assertEquals(validatedAttrs.size(),0);
- }
-
-- @Test
-- public void testExpiredAACertValidationFailure() throws OperatorCreationException{
--
-- ValidationResultChecker c = new ValidationResultChecker(false,
-- expiredCertErrorMessage,
-- expiredCertCRLErrorMessage,
-- newErrorMessage(invalidAcCert),
-- newErrorMessage(aaCertNotFound));
--
--
-- VOMSACValidator validator = VOMSValidators.newValidator(trustStore, certValidator, c);
-- AttributeCertificate ac = createAC(expiredCredential,
-- Arrays.asList("/test.vo.1"),
-- defaultGAs,
-- defaultVO,
-- "test-expired.cnaf.infn.it");
--
-- List validatedAttrs = validator.validateACs(Arrays.asList(ac));
-- assertEquals(validatedAttrs.size(),0);
-- }
--
-- @Test
-- public void testRevokedAACertValidationFailure(){
-- ValidationResultChecker c = new ValidationResultChecker(false,
-- revokedCertErrorMessage,
-- newErrorMessage(invalidAcCert),
-- newErrorMessage(aaCertNotFound));
--
-- VOMSACValidator validator = VOMSValidators.newValidator(trustStore, certValidator, c);
-- AttributeCertificate ac = createAC(revokedCredential,
-- Arrays.asList("/test.vo.1"),
-- defaultGAs,
-- defaultVO,
-- "test-revoked.cnaf.infn.it");
-- List validatedAttrs = validator.validateACs(Arrays.asList(ac));
-- assertEquals(validatedAttrs.size(),0);
-- }
-+ // @Test
-+ // public void testExpiredAACertValidationFailure() throws OperatorCreationException{
-+ //
-+ // ValidationResultChecker c = new ValidationResultChecker(false,
-+ // expiredCertErrorMessage,
-+ // expiredCertCRLErrorMessage,
-+ // newErrorMessage(invalidAcCert),
-+ // newErrorMessage(aaCertNotFound));
-+ //
-+ //
-+ // VOMSACValidator validator = VOMSValidators.newValidator(trustStore, certValidator, c);
-+ // AttributeCertificate ac = createAC(expiredCredential,
-+ // Arrays.asList("/test.vo.1"),
-+ // defaultGAs,
-+ // defaultVO,
-+ // "test-expired.cnaf.infn.it");
-+ //
-+ // List validatedAttrs = validator.validateACs(Arrays.asList(ac));
-+ // assertEquals(validatedAttrs.size(),0);
-+ // }
-+
-+ // @Test
-+ // public void testRevokedAACertValidationFailure(){
-+ // ValidationResultChecker c = new ValidationResultChecker(false,
-+ // revokedCertErrorMessage,
-+ // newErrorMessage(invalidAcCert),
-+ // newErrorMessage(aaCertNotFound));
-+ //
-+ // VOMSACValidator validator = VOMSValidators.newValidator(trustStore, certValidator, c);
-+ // AttributeCertificate ac = createAC(revokedCredential,
-+ // Arrays.asList("/test.vo.1"),
-+ // defaultGAs,
-+ // defaultVO,
-+ // "test-revoked.cnaf.infn.it");
-+ // List validatedAttrs = validator.validateACs(Arrays.asList(ac));
-+ // assertEquals(validatedAttrs.size(),0);
-+ // }
-
- @Test
- public void testSuccesfullACExtractionFromProxy(){
diff --git a/voms-api-java.spec b/voms-api-java.spec
index 21acbad..a2248ab 100644
--- a/voms-api-java.spec
+++ b/voms-api-java.spec
@@ -1,17 +1,16 @@
Name: voms-api-java
-Version: 3.0.3
+Version: 3.0.4
Release: 1%{?dist}
Summary: Virtual Organization Membership Service Java API
Group: Development/Libraries
License: ASL 2.0
URL: https://wiki.italiangrid.it/VOMS
-Source0: https://github.com/italiangrid/%{name}/archive/%{version}.tar.gz
+Source0: https://github.com/italiangrid/%{name}/archive/v%{version}.tar.gz
# Patch for bouncycastle 1.47+ (Fedora 21+, EPEL 7+)
Patch0: %{name}-bc147.patch
-# Disable tests that fail outside the Central European time zone
-# https://github.com/italiangrid/voms-api-java/issues/8
-Patch1: %{name}-timezone-dep-test.patch
+# Disable tests using non-local network interface
+Patch1: %{name}-no-local.patch
BuildArch: noarch
BuildRequires: maven-local
@@ -49,8 +48,6 @@ This package provides a java client API for VOMS.
%package javadoc
Summary: Virtual Organization Membership Service Java API Documentation
Group: Documentation
-Provides: vomsjapi-javadoc = %{version}-%{release}
-Obsoletes: vomsjapi-javadoc < 2.0.7
%description javadoc
Virtual Organization Membership Service (VOMS) Java API Documentation.
@@ -65,6 +62,7 @@ Virtual Organization Membership Service (VOMS) Java API Documentation.
%if %{?fedora}%{!?fedora:0}
%pom_xpath_inject "pom:project/pom:build/pom:plugins/pom:plugin[pom:groupId='com.mycila.maven-license-plugin']/pom:configuration/pom:excludes" ".xmvn/**"
+%pom_xpath_remove "pom:project/pom:build/pom:plugins/pom:plugin[pom:groupId='com.mycila.maven-license-plugin']/pom:configuration/pom:strictCheck"
%else
# Missing stuff in EPEL (mostly test frameworks)
%pom_remove_plugin com.mycila.maven-license-plugin:maven-license-plugin
@@ -92,6 +90,10 @@ Virtual Organization Membership Service (VOMS) Java API Documentation.
%doc LICENSE
%changelog
+* Mon Nov 17 2014 Mattias Ellert - 3.0.4-1
+- Update to version 3.0.4
+- Drop patch voms-api-java-timezone-dep-test.patch (fixed upstream)
+
* Thu Jun 26 2014 Mattias Ellert - 3.0.3-1
- Update to version 3.0.3