From d5e65d79479fc73b0116091a682d6f67fdf360c6 Mon Sep 17 00:00:00 2001 From: gil Date: Jun 19 2016 11:48:40 +0000 Subject: update to 3.0.17.Final --- diff --git a/.gitignore b/.gitignore index 6d5eefa..6899c07 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /resteasy-2.3.2.Final.tgz /3.0.1.Final.tar.gz /3.0.6.Final.tar.gz +/3.0.17.Final.tar.gz diff --git a/0001-Mime4j-0.7.2-support.patch b/0001-Mime4j-0.7.2-support.patch deleted file mode 100644 index 6acf60d..0000000 --- a/0001-Mime4j-0.7.2-support.patch +++ /dev/null @@ -1,246 +0,0 @@ -From 0e66cb23968c8ec56e4c26566790a8f09f380bca Mon Sep 17 00:00:00 2001 -From: Marek Goldmann -Date: Tue, 16 Jul 2013 14:14:07 +0200 -Subject: [PATCH] Mime4j 0.7.2 support - ---- - jaxrs/pom.xml | 14 ++++- - jaxrs/providers/multipart/pom.xml | 12 ++++- - .../multipart/MultipartFormDataInputImpl.java | 6 +-- - .../providers/multipart/MultipartInputImpl.java | 61 ++++++++++------------ - .../multipart/MultipartRelatedInputImpl.java | 4 +- - jaxrs/security/resteasy-crypto/pom.xml | 10 +++- - 6 files changed, 64 insertions(+), 43 deletions(-) - mode change 100755 => 100644 jaxrs/pom.xml - -diff --git a/jaxrs/pom.xml b/jaxrs/pom.xml -old mode 100755 -new mode 100644 -index 062e8da..45e5e8d ---- a/jaxrs/pom.xml -+++ b/jaxrs/pom.xml -@@ -251,8 +251,18 @@ - - - org.apache.james -- apache-mime4j -- 0.6 -+ apache-mime4j-core -+ 0.7.2 -+ -+ -+ org.apache.james -+ apache-mime4j-storage -+ 0.7.2 -+ -+ -+ org.apache.james -+ apache-mime4j-dom -+ 0.7.2 - - - junit -diff --git a/jaxrs/providers/multipart/pom.xml b/jaxrs/providers/multipart/pom.xml -index 16bdbd2..a6b25f0 100755 ---- a/jaxrs/providers/multipart/pom.xml -+++ b/jaxrs/providers/multipart/pom.xml -@@ -34,7 +34,15 @@ - - - org.apache.james -- apache-mime4j -+ apache-mime4j-core -+ -+ -+ org.apache.james -+ apache-mime4j-dom -+ -+ -+ org.apache.james -+ apache-mime4j-storage - - - javax.servlet -@@ -81,4 +89,4 @@ - - - -- -\ No newline at end of file -+ -diff --git a/jaxrs/providers/multipart/src/main/java/org/jboss/resteasy/plugins/providers/multipart/MultipartFormDataInputImpl.java b/jaxrs/providers/multipart/src/main/java/org/jboss/resteasy/plugins/providers/multipart/MultipartFormDataInputImpl.java -index d9ed2ad..b7aab17 100644 ---- a/jaxrs/providers/multipart/src/main/java/org/jboss/resteasy/plugins/providers/multipart/MultipartFormDataInputImpl.java -+++ b/jaxrs/providers/multipart/src/main/java/org/jboss/resteasy/plugins/providers/multipart/MultipartFormDataInputImpl.java -@@ -1,9 +1,9 @@ - package org.jboss.resteasy.plugins.providers.multipart; - --import org.apache.james.mime4j.field.ContentDispositionField; --import org.apache.james.mime4j.field.FieldName; -+import org.apache.james.mime4j.dom.field.ContentDispositionField; -+import org.apache.james.mime4j.dom.field.FieldName; - import org.apache.james.mime4j.message.BodyPart; --import org.apache.james.mime4j.parser.Field; -+import org.apache.james.mime4j.stream.Field; - import org.jboss.resteasy.util.GenericType; - - import javax.ws.rs.core.MediaType; -diff --git a/jaxrs/providers/multipart/src/main/java/org/jboss/resteasy/plugins/providers/multipart/MultipartInputImpl.java b/jaxrs/providers/multipart/src/main/java/org/jboss/resteasy/plugins/providers/multipart/MultipartInputImpl.java -index 938c88e..01ddfa1 100644 ---- a/jaxrs/providers/multipart/src/main/java/org/jboss/resteasy/plugins/providers/multipart/MultipartInputImpl.java -+++ b/jaxrs/providers/multipart/src/main/java/org/jboss/resteasy/plugins/providers/multipart/MultipartInputImpl.java -@@ -4,22 +4,22 @@ import org.apache.james.mime4j.MimeException; - import org.apache.james.mime4j.MimeIOException; - import org.apache.james.mime4j.codec.Base64InputStream; - import org.apache.james.mime4j.codec.QuotedPrintableInputStream; --import org.apache.james.mime4j.descriptor.BodyDescriptor; --import org.apache.james.mime4j.field.ContentTypeField; --import org.apache.james.mime4j.message.BinaryBody; --import org.apache.james.mime4j.message.Body; -+import org.apache.james.mime4j.message.MessageImpl; -+import org.apache.james.mime4j.parser.AbstractContentHandler; -+import org.apache.james.mime4j.stream.BodyDescriptor; - import org.apache.james.mime4j.message.BodyFactory; -+import org.apache.james.mime4j.dom.MessageBuilder; -+import org.apache.james.mime4j.dom.MessageServiceFactory; -+import org.apache.james.mime4j.dom.field.ContentTypeField; -+import org.apache.james.mime4j.dom.BinaryBody; -+import org.apache.james.mime4j.dom.Body; -+import org.apache.james.mime4j.dom.Entity; - import org.apache.james.mime4j.message.BodyPart; --import org.apache.james.mime4j.message.Entity; --import org.apache.james.mime4j.message.Message; --import org.apache.james.mime4j.message.MessageBuilder; --import org.apache.james.mime4j.message.Multipart; --import org.apache.james.mime4j.message.TextBody; --import org.apache.james.mime4j.parser.Field; -+import org.apache.james.mime4j.dom.Message; -+import org.apache.james.mime4j.dom.Multipart; -+import org.apache.james.mime4j.dom.TextBody; -+import org.apache.james.mime4j.stream.Field; - import org.apache.james.mime4j.parser.MimeStreamParser; --import org.apache.james.mime4j.storage.DefaultStorageProvider; --import org.apache.james.mime4j.storage.StorageProvider; --import org.apache.james.mime4j.util.CharsetUtil; - import org.apache.james.mime4j.util.MimeUtil; - import org.jboss.resteasy.spi.HttpRequest; - import org.jboss.resteasy.spi.ResteasyProviderFactory; -@@ -43,6 +43,7 @@ import java.lang.annotation.Annotation; - import java.lang.reflect.InvocationTargetException; - import java.lang.reflect.Method; - import java.lang.reflect.Type; -+import java.nio.charset.Charset; - import java.util.ArrayList; - import java.util.HashMap; - import java.util.Iterator; -@@ -65,7 +66,7 @@ public class MultipartInputImpl implements MultipartInput - protected String defaultPartCharset = null; - - // We hack MIME4j so that it always returns a BinaryBody so we don't have to deal with Readers and their charset conversions -- private static class BinaryOnlyMessageBuilder extends MessageBuilder -+ private static class BinaryOnlyMessageBuilder extends AbstractContentHandler - { - private Method expectMethod; - private java.lang.reflect.Field bodyFactoryField; -@@ -88,18 +89,6 @@ public class MultipartInputImpl implements MultipartInput - } - } - -- private BinaryOnlyMessageBuilder(Entity entity) -- { -- super(entity); -- init(); -- } -- -- private BinaryOnlyMessageBuilder(Entity entity, StorageProvider storageProvider) -- { -- super(entity, storageProvider); -- init(); -- } -- - @Override - public void body(BodyDescriptor bd, InputStream is) throws MimeException, IOException - { -@@ -143,13 +132,13 @@ public class MultipartInputImpl implements MultipartInput - } - } - -- private static class BinaryMessage extends Message -+ private static class BinaryMessage extends MessageImpl - { - private BinaryMessage(InputStream is) throws IOException, MimeIOException - { - try { -- MimeStreamParser parser = new MimeStreamParser(null); -- parser.setContentHandler(new BinaryOnlyMessageBuilder(this, DefaultStorageProvider.getInstance())); -+ MimeStreamParser parser = new MimeStreamParser(); -+ parser.setContentHandler(new BinaryOnlyMessageBuilder()); - parser.parse(is); - } catch (MimeException e) { - throw new MimeIOException(e); -@@ -194,8 +183,14 @@ public class MultipartInputImpl implements MultipartInput - - public void parse(InputStream is) throws IOException - { -- mimeMessage = new BinaryMessage(addHeaderToHeadlessStream(is)); -- extractParts(); -+ try { -+ MessageServiceFactory factory = MessageServiceFactory.newInstance(); -+ MessageBuilder builder = factory.newMessageBuilder(); -+ mimeMessage = builder.parseMessage(addHeaderToHeadlessStream(is)); -+ extractParts(); -+ } catch (MimeException e) { -+ throw new IOException("Couldn't parse message", e); -+ } - } - - protected InputStream addHeaderToHeadlessStream(InputStream is) -@@ -225,8 +220,8 @@ public class MultipartInputImpl implements MultipartInput - protected void extractParts() throws IOException - { - Multipart multipart = (Multipart) mimeMessage.getBody(); -- for (BodyPart bodyPart : multipart.getBodyParts()) -- parts.add(extractPart(bodyPart)); -+ for (Entity bodyPart : multipart.getBodyParts()) -+ parts.add(extractPart((BodyPart) bodyPart)); - } - - protected InputPart extractPart(BodyPart bodyPart) throws IOException -diff --git a/jaxrs/providers/multipart/src/main/java/org/jboss/resteasy/plugins/providers/multipart/MultipartRelatedInputImpl.java b/jaxrs/providers/multipart/src/main/java/org/jboss/resteasy/plugins/providers/multipart/MultipartRelatedInputImpl.java -index 698f937..fa2d889 100644 ---- a/jaxrs/providers/multipart/src/main/java/org/jboss/resteasy/plugins/providers/multipart/MultipartRelatedInputImpl.java -+++ b/jaxrs/providers/multipart/src/main/java/org/jboss/resteasy/plugins/providers/multipart/MultipartRelatedInputImpl.java -@@ -1,7 +1,7 @@ - package org.jboss.resteasy.plugins.providers.multipart; - --import org.apache.james.mime4j.field.ContentTypeField; --import org.apache.james.mime4j.field.FieldName; -+import org.apache.james.mime4j.dom.field.ContentTypeField; -+import org.apache.james.mime4j.dom.field.FieldName; - import org.apache.james.mime4j.message.BodyPart; - - import javax.ws.rs.core.MediaType; -diff --git a/jaxrs/security/resteasy-crypto/pom.xml b/jaxrs/security/resteasy-crypto/pom.xml -index 855f791..bd23c9f 100755 ---- a/jaxrs/security/resteasy-crypto/pom.xml -+++ b/jaxrs/security/resteasy-crypto/pom.xml -@@ -70,7 +70,15 @@ - - - org.apache.james -- apache-mime4j -+ apache-mime4j-dom -+ -+ -+ org.apache.james -+ apache-mime4j-core -+ -+ -+ org.apache.james -+ apache-mime4j-storage - - - --- -1.8.3.1 - diff --git a/0002-bcmail-api-change.patch b/0002-bcmail-api-change.patch deleted file mode 100644 index 381b2e5..0000000 --- a/0002-bcmail-api-change.patch +++ /dev/null @@ -1,129 +0,0 @@ -diff -up ./jaxrs/security/resteasy-crypto/src/main/java/org/jboss/resteasy/security/smime/EnvelopedInputImpl.java.ade1 ./jaxrs/security/resteasy-crypto/src/main/java/org/jboss/resteasy/security/smime/EnvelopedInputImpl.java ---- ./jaxrs/security/resteasy-crypto/src/main/java/org/jboss/resteasy/security/smime/EnvelopedInputImpl.java.ade1 2014-06-26 16:24:28.166315424 +0800 -+++ ./jaxrs/security/resteasy-crypto/src/main/java/org/jboss/resteasy/security/smime/EnvelopedInputImpl.java 2014-06-26 17:32:29.632936971 +0800 -@@ -3,6 +3,7 @@ package org.jboss.resteasy.security.smim - import org.bouncycastle.cms.RecipientInformation; - import org.bouncycastle.cms.RecipientInformationStore; - import org.bouncycastle.cms.jcajce.JceKeyTransRecipientId; -+import org.bouncycastle.cms.jcajce.JceKeyTransEnvelopedRecipient; - import org.bouncycastle.mail.smime.SMIMEEnveloped; - import org.bouncycastle.mail.smime.SMIMEUtil; - import org.jboss.resteasy.core.Headers; -@@ -159,7 +160,8 @@ public class EnvelopedInputImpl implemen - RecipientInformationStore recipients = m.getRecipientInfos(); - RecipientInformation recipient = recipients.get(recId); - -- decrypted = SMIMEUtil.toMimeBodyPart(recipient.getContent(pKey, "BC")); -+ decrypted = SMIMEUtil.toMimeBodyPart(recipient.getContent( -+ new JceKeyTransEnvelopedRecipient(pKey).setProvider("BC"))); - } - catch (Exception e1) - { -diff -up ./jaxrs/security/resteasy-crypto/src/main/java/org/jboss/resteasy/security/smime/MultipartSignedInputImpl.java.ade1 ./jaxrs/security/resteasy-crypto/src/main/java/org/jboss/resteasy/security/smime/MultipartSignedInputImpl.java ---- ./jaxrs/security/resteasy-crypto/src/main/java/org/jboss/resteasy/security/smime/MultipartSignedInputImpl.java.ade1 2014-06-26 17:07:37.679401083 +0800 -+++ ./jaxrs/security/resteasy-crypto/src/main/java/org/jboss/resteasy/security/smime/MultipartSignedInputImpl.java 2014-06-26 17:11:10.734149755 +0800 -@@ -2,6 +2,7 @@ package org.jboss.resteasy.security.smim - - import org.bouncycastle.cms.SignerInformation; - import org.bouncycastle.cms.SignerInformationStore; -+import org.bouncycastle.cms.jcajce.JcaSimpleSignerInfoVerifierBuilder; - import org.bouncycastle.mail.smime.SMIMESigned; - import org.jboss.resteasy.util.GenericType; - -@@ -157,7 +158,8 @@ public class MultipartSignedInputImpl im - - SignerInformationStore signers = signed.getSignerInfos(); - SignerInformation signer = (SignerInformation) signers.getSigners().iterator().next(); -- return signer.verify(publicKey, "BC"); -+ return signer.verify(new JcaSimpleSignerInfoVerifierBuilder() -+ .setProvider("BC").build(publicKey)); - - } - -diff -up ./jaxrs/security/resteasy-crypto/src/main/java/org/jboss/resteasy/security/smime/PKCS7SignatureInput.java.ade1 ./jaxrs/security/resteasy-crypto/src/main/java/org/jboss/resteasy/security/smime/PKCS7SignatureInput.java ---- ./jaxrs/security/resteasy-crypto/src/main/java/org/jboss/resteasy/security/smime/PKCS7SignatureInput.java.ade1 2014-06-26 16:36:24.564853001 +0800 -+++ ./jaxrs/security/resteasy-crypto/src/main/java/org/jboss/resteasy/security/smime/PKCS7SignatureInput.java 2014-06-26 18:52:43.301108577 +0800 -@@ -3,6 +3,7 @@ package org.jboss.resteasy.security.smim - import org.bouncycastle.cms.CMSException; - import org.bouncycastle.cms.CMSSignedData; - import org.bouncycastle.cms.SignerInformation; -+import org.bouncycastle.cms.jcajce.JcaSimpleSignerInfoVerifierBuilder; - import org.jboss.resteasy.specimpl.MultivaluedMapImpl; - import org.jboss.resteasy.util.Base64; - import org.jboss.resteasy.util.GenericType; -@@ -206,7 +207,8 @@ public class PKCS7SignatureInput - for (Object info : data.getSignerInfos().getSigners()) - { - SignerInformation signer = (SignerInformation)info; -- if (signer.verify(certificate, "BC")) -+ if (signer.verify(new JcaSimpleSignerInfoVerifierBuilder() -+ .setProvider("BC").build(certificate))) - { - return true; - } -@@ -218,7 +220,8 @@ public class PKCS7SignatureInput - for (Object info : data.getSignerInfos().getSigners()) - { - SignerInformation signer = (SignerInformation)info; -- if (signer.verify(publicKey, "BC")) -+ if (signer.verify(new JcaSimpleSignerInfoVerifierBuilder() -+ .setProvider("BC").build(publicKey))) - { - return true; - } -diff -up ./jaxrs/security/resteasy-crypto/src/main/java/org/jboss/resteasy/security/smime/PKCS7SignatureWriter.java.ade1 ./jaxrs/security/resteasy-crypto/src/main/java/org/jboss/resteasy/security/smime/PKCS7SignatureWriter.java ---- ./jaxrs/security/resteasy-crypto/src/main/java/org/jboss/resteasy/security/smime/PKCS7SignatureWriter.java.ade1 2014-06-24 23:38:42.464516920 +0800 -+++ ./jaxrs/security/resteasy-crypto/src/main/java/org/jboss/resteasy/security/smime/PKCS7SignatureWriter.java 2014-06-26 18:05:06.601349666 +0800 -@@ -4,7 +4,13 @@ import org.bouncycastle.cms.CMSException - import org.bouncycastle.cms.CMSProcessable; - import org.bouncycastle.cms.CMSProcessableByteArray; - import org.bouncycastle.cms.CMSSignedData; -+import org.bouncycastle.cms.CMSTypedData; - import org.bouncycastle.cms.CMSSignedDataGenerator; -+import org.bouncycastle.operator.ContentSigner; -+import org.bouncycastle.operator.jcajce.JcaContentSignerBuilder; -+import org.bouncycastle.cms.jcajce.JcaSignerInfoGeneratorBuilder; -+import org.bouncycastle.operator.jcajce.JcaDigestCalculatorProviderBuilder; -+import org.bouncycastle.operator.OperatorCreationException; - import org.jboss.resteasy.security.BouncyIntegration; - import org.jboss.resteasy.specimpl.MultivaluedMapImpl; - import org.jboss.resteasy.spi.WriterException; -@@ -25,6 +31,7 @@ import java.lang.reflect.Type; - import java.security.NoSuchAlgorithmException; - import java.security.NoSuchProviderException; - import java.security.cert.X509Certificate; -+import java.security.cert.CertificateEncodingException; - - /** - * @author Bill Burke -@@ -70,7 +77,7 @@ public class PKCS7SignatureWriter implem - } - } - -- public static byte[] sign(Providers providers, SignedOutput out) throws IOException, NoSuchAlgorithmException, NoSuchProviderException, CMSException -+ public static byte[] sign(Providers providers, SignedOutput out) throws IOException, NoSuchAlgorithmException, NoSuchProviderException, CMSException, OperatorCreationException, CertificateEncodingException - { - ByteArrayOutputStream bodyOs = new ByteArrayOutputStream(); - MessageBodyWriter writer = providers.getMessageBodyWriter(out.getType(), out.getGenericType(), null, out.getMediaType()); -@@ -82,11 +89,18 @@ public class PKCS7SignatureWriter implem - bodyHeaders.add("Content-Type", out.getMediaType().toString()); - writer.writeTo(out.getEntity(), out.getType(), out.getGenericType(), null, out.getMediaType(), bodyHeaders, bodyOs); - CMSSignedDataGenerator signGen = new CMSSignedDataGenerator(); -- signGen.addSigner(out.getPrivateKey(), (X509Certificate)out.getCertificate(), CMSSignedDataGenerator.DIGEST_SHA1); -+ -+ ContentSigner sha1Signer = new JcaContentSignerBuilder("SHA1withRSA").setProvider("BC").build(out.getPrivateKey()); -+ signGen.addSignerInfoGenerator( -+ new JcaSignerInfoGeneratorBuilder( -+ new JcaDigestCalculatorProviderBuilder().setProvider("BC").build()) -+ .build(sha1Signer, (X509Certificate)out.getCertificate())); -+ -+ //signGen.addSigner(out.getPrivateKey(), (X509Certificate)out.getCertificate(), CMSSignedDataGenerator.DIGEST_SHA1); - //signGen.addCertificatesAndCRLs(certs); -- CMSProcessable content = new CMSProcessableByteArray(bodyOs.toByteArray()); -+ CMSTypedData content = new CMSProcessableByteArray(bodyOs.toByteArray()); - -- CMSSignedData signedData = signGen.generate(content, true, "BC"); -+ CMSSignedData signedData = signGen.generate(content, true); - return signedData.getEncoded(); - } - } diff --git a/0003-resteasy-cve-2014-3490.patch b/0003-resteasy-cve-2014-3490.patch deleted file mode 100644 index 14cc7a4..0000000 --- a/0003-resteasy-cve-2014-3490.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff -up Resteasy-3.0.6.Final/jaxrs/providers/jaxb/src/main/java/org/jboss/resteasy/plugins/providers/jaxb/ExternalEntityUnmarshaller.java.1073 Resteasy-3.0.6.Final/jaxrs/providers/jaxb/src/main/java/org/jboss/resteasy/plugins/providers/jaxb/ExternalEntityUnmarshaller.java ---- Resteasy-3.0.6.Final/jaxrs/providers/jaxb/src/main/java/org/jboss/resteasy/plugins/providers/jaxb/ExternalEntityUnmarshaller.java.1073 2014-09-29 17:44:28.776812688 -0400 -+++ Resteasy-3.0.6.Final/jaxrs/providers/jaxb/src/main/java/org/jboss/resteasy/plugins/providers/jaxb/ExternalEntityUnmarshaller.java 2014-09-29 17:47:52.202425895 -0400 -@@ -154,6 +154,7 @@ public class ExternalEntityUnmarshaller - XMLReader xmlReader = sp.getXMLReader(); - xmlReader.setFeature("http://xml.org/sax/features/validation", false); - xmlReader.setFeature("http://xml.org/sax/features/external-general-entities", false); -+ xmlReader.setFeature("http://xml.org/sax/features/external-parameter-entities", false); - SAXSource saxSource = new SAXSource(xmlReader, source); - return delegate.unmarshal(saxSource); - } -@@ -198,6 +199,7 @@ public class ExternalEntityUnmarshaller - XMLReader xmlReader = sp.getXMLReader(); - xmlReader.setFeature("http://xml.org/sax/features/validation", false); - xmlReader.setFeature("http://xml.org/sax/features/external-general-entities", false); -+ xmlReader.setFeature("http://xml.org/sax/features/external-parameter-entities", false); - ((SAXSource) source).setXMLReader(xmlReader); - return delegate.unmarshal(source, declaredType); - } diff --git a/0004-fix-deprecated-api-usage.patch b/0004-fix-deprecated-api-usage.patch deleted file mode 100644 index 485457e..0000000 --- a/0004-fix-deprecated-api-usage.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff --git a/jaxrs/providers/jackson2/src/main/java/org/jboss/resteasy/plugins/providers/jackson/ResteasyJackson2Provider.java b/jaxrs/providers/jackson2/src/main/java/org/jboss/resteasy/plugins/providers/jackson/ResteasyJackson2Provider.java -index bf9a5f5..21d0886 100644 ---- a/jaxrs/providers/jackson2/src/main/java/org/jboss/resteasy/plugins/providers/jackson/ResteasyJackson2Provider.java -+++ b/jaxrs/providers/jackson2/src/main/java/org/jboss/resteasy/plugins/providers/jackson/ResteasyJackson2Provider.java -@@ -64,7 +64,7 @@ public class ResteasyJackson2Provider extends JacksonJaxbJsonProvider - - private ClassAnnotationKey(Class clazz, Annotation[] annotations) - { -- this.annotations = new AnnotationBundleKey(annotations); -+ this.annotations = new AnnotationBundleKey(annotations, AnnotationBundleKey.class); - this.classKey = new ClassKey(clazz); - hash = this.annotations.hashCode(); - hash = 31 * hash + classKey.hashCode(); -@@ -104,7 +104,7 @@ public class ResteasyJackson2Provider extends JacksonJaxbJsonProvider - // not yet resolved (or not cached any more)? Resolve! - if (endpoint == null) { - ObjectMapper mapper = locateMapper(type, mediaType); -- endpoint = _configForReading(mapper, annotations); -+ endpoint = _configForReading(mapper, annotations, type); - _readers.put(key, endpoint); - } - ObjectReader reader = endpoint.getReader(); -@@ -134,7 +134,7 @@ public class ResteasyJackson2Provider extends JacksonJaxbJsonProvider - // not yet resolved (or not cached any more)? Resolve! - if (endpoint == null) { - ObjectMapper mapper = locateMapper(type, mediaType); -- endpoint = _configForWriting(mapper, annotations); -+ endpoint = _configForWriting(mapper, annotations, type); - // and cache for future reuse - _writers.put(key, endpoint); - } - diff --git a/resteasy-3.0.17-Mime4j-0.7.2-support.patch b/resteasy-3.0.17-Mime4j-0.7.2-support.patch new file mode 100644 index 0000000..943b723 --- /dev/null +++ b/resteasy-3.0.17-Mime4j-0.7.2-support.patch @@ -0,0 +1,241 @@ +diff -Nru Resteasy-3.0.17.Final/jaxrs/pom.xml Resteasy-3.0.17.Final.mime4j/jaxrs/pom.xml +--- Resteasy-3.0.17.Final/jaxrs/pom.xml 2016-05-17 04:37:44.000000000 +0200 ++++ Resteasy-3.0.17.Final.mime4j/jaxrs/pom.xml 2016-06-06 19:38:39.158725012 +0200 +@@ -448,8 +448,18 @@ + + + org.apache.james +- apache-mime4j +- 0.6 ++ apache-mime4j-core ++ 0.7.2 ++ ++ ++ org.apache.james ++ apache-mime4j-dom ++ 0.7.2 ++ ++ ++ org.apache.james ++ apache-mime4j-storage ++ 0.7.2 + + + junit +diff -Nru Resteasy-3.0.17.Final/jaxrs/providers/multipart/pom.xml Resteasy-3.0.17.Final.mime4j/jaxrs/providers/multipart/pom.xml +--- Resteasy-3.0.17.Final/jaxrs/providers/multipart/pom.xml 2016-05-17 04:37:44.000000000 +0200 ++++ Resteasy-3.0.17.Final.mime4j/jaxrs/providers/multipart/pom.xml 2016-06-06 19:57:35.105204124 +0200 +@@ -39,7 +39,15 @@ + + + org.apache.james +- apache-mime4j ++ apache-mime4j-core ++ ++ ++ org.apache.james ++ apache-mime4j-dom ++ ++ ++ org.apache.james ++ apache-mime4j-storage + + + org.jboss.spec.javax.servlet +@@ -180,4 +188,4 @@ + + + +- +\ Manca newline alla fine del file ++ +diff -Nru Resteasy-3.0.17.Final/jaxrs/providers/multipart/src/main/java/org/jboss/resteasy/plugins/providers/multipart/i18n/Messages.java Resteasy-3.0.17.Final.mime4j/jaxrs/providers/multipart/src/main/java/org/jboss/resteasy/plugins/providers/multipart/i18n/Messages.java +--- Resteasy-3.0.17.Final/jaxrs/providers/multipart/src/main/java/org/jboss/resteasy/plugins/providers/multipart/i18n/Messages.java 2016-05-17 04:37:44.000000000 +0200 ++++ Resteasy-3.0.17.Final.mime4j/jaxrs/providers/multipart/src/main/java/org/jboss/resteasy/plugins/providers/multipart/i18n/Messages.java 2016-06-06 20:00:30.708859878 +0200 +@@ -5,7 +5,7 @@ + import javax.ws.rs.core.MediaType; + import javax.ws.rs.ext.MessageBodyReader; + +-import org.apache.james.mime4j.parser.Field; ++import org.apache.james.mime4j.stream.Field; + import org.jboss.logging.annotations.Message; + import org.jboss.logging.annotations.Message.Format; + import org.jboss.logging.annotations.MessageBundle; +diff -Nru Resteasy-3.0.17.Final/jaxrs/providers/multipart/src/main/java/org/jboss/resteasy/plugins/providers/multipart/MultipartFormDataInputImpl.java Resteasy-3.0.17.Final.mime4j/jaxrs/providers/multipart/src/main/java/org/jboss/resteasy/plugins/providers/multipart/MultipartFormDataInputImpl.java +--- Resteasy-3.0.17.Final/jaxrs/providers/multipart/src/main/java/org/jboss/resteasy/plugins/providers/multipart/MultipartFormDataInputImpl.java 2016-05-17 04:37:44.000000000 +0200 ++++ Resteasy-3.0.17.Final.mime4j/jaxrs/providers/multipart/src/main/java/org/jboss/resteasy/plugins/providers/multipart/MultipartFormDataInputImpl.java 2016-06-06 19:41:43.414895524 +0200 +@@ -1,9 +1,9 @@ + package org.jboss.resteasy.plugins.providers.multipart; + +-import org.apache.james.mime4j.field.ContentDispositionField; +-import org.apache.james.mime4j.field.FieldName; ++import org.apache.james.mime4j.dom.field.ContentDispositionField; ++import org.apache.james.mime4j.dom.field.FieldName; + import org.apache.james.mime4j.message.BodyPart; +-import org.apache.james.mime4j.parser.Field; ++import org.apache.james.mime4j.stream.Field; + import org.jboss.resteasy.plugins.providers.multipart.i18n.Messages; + + import javax.ws.rs.core.GenericType; +diff -Nru Resteasy-3.0.17.Final/jaxrs/providers/multipart/src/main/java/org/jboss/resteasy/plugins/providers/multipart/MultipartInputImpl.java Resteasy-3.0.17.Final.mime4j/jaxrs/providers/multipart/src/main/java/org/jboss/resteasy/plugins/providers/multipart/MultipartInputImpl.java +--- Resteasy-3.0.17.Final/jaxrs/providers/multipart/src/main/java/org/jboss/resteasy/plugins/providers/multipart/MultipartInputImpl.java 2016-05-17 04:37:44.000000000 +0200 ++++ Resteasy-3.0.17.Final.mime4j/jaxrs/providers/multipart/src/main/java/org/jboss/resteasy/plugins/providers/multipart/MultipartInputImpl.java 2016-06-06 20:05:15.281720588 +0200 +@@ -4,22 +4,22 @@ + import org.apache.james.mime4j.MimeIOException; + import org.apache.james.mime4j.codec.Base64InputStream; + import org.apache.james.mime4j.codec.QuotedPrintableInputStream; +-import org.apache.james.mime4j.descriptor.BodyDescriptor; +-import org.apache.james.mime4j.field.ContentTypeField; +-import org.apache.james.mime4j.message.BinaryBody; +-import org.apache.james.mime4j.message.Body; ++import org.apache.james.mime4j.dom.BinaryBody; ++import org.apache.james.mime4j.dom.Body; ++import org.apache.james.mime4j.dom.Entity; ++import org.apache.james.mime4j.dom.Message; ++import org.apache.james.mime4j.dom.Multipart; ++import org.apache.james.mime4j.dom.TextBody; ++import org.apache.james.mime4j.dom.MessageBuilder; ++import org.apache.james.mime4j.dom.MessageServiceFactory; ++import org.apache.james.mime4j.dom.field.ContentTypeField; ++import org.apache.james.mime4j.message.MessageImpl; + import org.apache.james.mime4j.message.BodyFactory; + import org.apache.james.mime4j.message.BodyPart; +-import org.apache.james.mime4j.message.Entity; +-import org.apache.james.mime4j.message.Message; +-import org.apache.james.mime4j.message.MessageBuilder; +-import org.apache.james.mime4j.message.Multipart; +-import org.apache.james.mime4j.message.TextBody; +-import org.apache.james.mime4j.parser.Field; ++import org.apache.james.mime4j.parser.AbstractContentHandler; + import org.apache.james.mime4j.parser.MimeStreamParser; +-import org.apache.james.mime4j.storage.DefaultStorageProvider; +-import org.apache.james.mime4j.storage.StorageProvider; +-import org.apache.james.mime4j.util.CharsetUtil; ++import org.apache.james.mime4j.stream.BodyDescriptor; ++import org.apache.james.mime4j.stream.Field; + import org.apache.james.mime4j.util.MimeUtil; + import org.jboss.resteasy.core.ProvidersContextRetainer; + import org.jboss.resteasy.plugins.providers.multipart.i18n.Messages; +@@ -47,6 +47,7 @@ + import java.lang.reflect.Method; + import java.lang.reflect.Type; + import java.util.ArrayList; ++import java.nio.charset.Charset; + import java.util.HashMap; + import java.util.Iterator; + import java.util.List; +@@ -69,7 +70,7 @@ + protected Providers savedProviders; + + // We hack MIME4j so that it always returns a BinaryBody so we don't have to deal with Readers and their charset conversions +- private static class BinaryOnlyMessageBuilder extends MessageBuilder ++ private static class BinaryOnlyMessageBuilder extends AbstractContentHandler + { + private Method expectMethod; + private java.lang.reflect.Field bodyFactoryField; +@@ -92,18 +93,6 @@ + } + } + +- private BinaryOnlyMessageBuilder(Entity entity) +- { +- super(entity); +- init(); +- } +- +- private BinaryOnlyMessageBuilder(Entity entity, StorageProvider storageProvider) +- { +- super(entity, storageProvider); +- init(); +- } +- + @Override + public void body(BodyDescriptor bd, InputStream is) throws MimeException, IOException + { +@@ -147,13 +136,13 @@ + } + } + +- private static class BinaryMessage extends Message ++ private static class BinaryMessage extends MessageImpl + { + private BinaryMessage(InputStream is) throws IOException, MimeIOException + { + try { +- MimeStreamParser parser = new MimeStreamParser(null); +- parser.setContentHandler(new BinaryOnlyMessageBuilder(this, DefaultStorageProvider.getInstance())); ++ MimeStreamParser parser = new MimeStreamParser(); ++ parser.setContentHandler(new BinaryOnlyMessageBuilder()); + parser.parse(is); + } catch (MimeException e) { + throw new MimeIOException(e); +@@ -198,15 +187,21 @@ + + public MultipartInputImpl(Multipart multipart, Providers workers) throws IOException + { +- for (BodyPart bodyPart : multipart.getBodyParts()) +- parts.add(extractPart(bodyPart)); ++ for (Entity bodyPart : multipart.getBodyParts()) ++ parts.add(extractPart((BodyPart) bodyPart)); + this.workers = workers; + } + + public void parse(InputStream is) throws IOException + { +- mimeMessage = new BinaryMessage(addHeaderToHeadlessStream(is)); +- extractParts(); ++ try { ++ MessageServiceFactory factory = MessageServiceFactory.newInstance(); ++ MessageBuilder builder = factory.newMessageBuilder(); ++ mimeMessage = builder.parseMessage(addHeaderToHeadlessStream(is)); ++ extractParts(); ++ } catch (MimeException e) { ++ throw new IOException("Couldn't parse message", e); ++ } + } + + protected InputStream addHeaderToHeadlessStream(InputStream is) +@@ -236,8 +231,8 @@ + protected void extractParts() throws IOException + { + Multipart multipart = (Multipart) mimeMessage.getBody(); +- for (BodyPart bodyPart : multipart.getBodyParts()) +- parts.add(extractPart(bodyPart)); ++ for (Entity bodyPart : multipart.getBodyParts()) ++ parts.add(extractPart((BodyPart) bodyPart)); + } + + protected InputPart extractPart(BodyPart bodyPart) throws IOException +diff -Nru Resteasy-3.0.17.Final/jaxrs/providers/multipart/src/main/java/org/jboss/resteasy/plugins/providers/multipart/MultipartRelatedInputImpl.java Resteasy-3.0.17.Final.mime4j/jaxrs/providers/multipart/src/main/java/org/jboss/resteasy/plugins/providers/multipart/MultipartRelatedInputImpl.java +--- Resteasy-3.0.17.Final/jaxrs/providers/multipart/src/main/java/org/jboss/resteasy/plugins/providers/multipart/MultipartRelatedInputImpl.java 2016-05-17 04:37:44.000000000 +0200 ++++ Resteasy-3.0.17.Final.mime4j/jaxrs/providers/multipart/src/main/java/org/jboss/resteasy/plugins/providers/multipart/MultipartRelatedInputImpl.java 2016-06-06 19:52:58.333931717 +0200 +@@ -1,7 +1,7 @@ + package org.jboss.resteasy.plugins.providers.multipart; + +-import org.apache.james.mime4j.field.ContentTypeField; +-import org.apache.james.mime4j.field.FieldName; ++import org.apache.james.mime4j.dom.field.ContentTypeField; ++import org.apache.james.mime4j.dom.field.FieldName; + import org.apache.james.mime4j.message.BodyPart; + + import javax.ws.rs.core.MediaType; +diff -Nru Resteasy-3.0.17.Final/jaxrs/security/resteasy-crypto/pom.xml Resteasy-3.0.17.Final.mime4j/jaxrs/security/resteasy-crypto/pom.xml +--- Resteasy-3.0.17.Final/jaxrs/security/resteasy-crypto/pom.xml 2016-05-17 04:37:44.000000000 +0200 ++++ Resteasy-3.0.17.Final.mime4j/jaxrs/security/resteasy-crypto/pom.xml 2016-06-06 19:53:46.324378042 +0200 +@@ -70,7 +70,15 @@ + + + org.apache.james +- apache-mime4j ++ apache-mime4j-core ++ ++ ++ org.apache.james ++ apache-mime4j-dom ++ ++ ++ org.apache.james ++ apache-mime4j-storage + + + org.jboss.spec.javax.annotation diff --git a/resteasy.spec b/resteasy.spec index 1092d15..0630822 100644 --- a/resteasy.spec +++ b/resteasy.spec @@ -1,24 +1,20 @@ %global namedreltag .Final %global namedversion %{version}%{namedreltag} -Name: resteasy -Version: 3.0.6 -Release: 11%{?dist} -Summary: Framework for RESTful Web services and Java applications -License: ASL 2.0 and CDDL -URL: http://www.jboss.org/resteasy -Source0: https://github.com/resteasy/Resteasy/archive/%{namedversion}.tar.gz +Name: resteasy +Version: 3.0.17 +Release: 1%{?dist} +Summary: Framework for RESTful Web services and Java applications +License: ASL 2.0 and CDDL +URL: http://resteasy.jboss.org/ +Source0: https://github.com/resteasy/Resteasy/archive/%{namedversion}.tar.gz # Support for mime4j 0.7.2 -Patch0: 0001-Mime4j-0.7.2-support.patch -Patch1: 0002-bcmail-api-change.patch -Patch2: 0003-resteasy-cve-2014-3490.patch -Patch3: 0004-fix-deprecated-api-usage.patch +Patch0: resteasy-3.0.17-Mime4j-0.7.2-support.patch -BuildArch: noarch +BuildArch: noarch BuildRequires: maven-local -BuildRequires: mvn(asm:asm) BuildRequires: mvn(com.beust:jcommander) BuildRequires: mvn(com.fasterxml:classmate) BuildRequires: mvn(com.fasterxml.jackson.core:jackson-annotations) @@ -26,62 +22,59 @@ BuildRequires: mvn(com.fasterxml.jackson.core:jackson-core) BuildRequires: mvn(com.fasterxml.jackson.core:jackson-databind) BuildRequires: mvn(com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider) BuildRequires: mvn(com.google.inject:guice) -BuildRequires: mvn(commons-httpclient:commons-httpclient) -BuildRequires: mvn(commons-io:commons-io) +BuildRequires: mvn(com.sun.mail:javax.mail) BuildRequires: mvn(com.sun.xml.bind:jaxb-impl) BuildRequires: mvn(com.sun.xml.fastinfoset:FastInfoset) -BuildRequires: mvn(httpunit:httpunit) +BuildRequires: mvn(commons-io:commons-io) +BuildRequires: mvn(io.netty:netty:3) +BuildRequires: mvn(io.netty:netty-all) BuildRequires: mvn(io.undertow:undertow-core) BuildRequires: mvn(io.undertow:undertow-servlet) -BuildRequires: mvn(javax.annotation:jsr250-api) -BuildRequires: mvn(javax.el:javax.el-api) BuildRequires: mvn(javax.enterprise:cdi-api) BuildRequires: mvn(javax.json:javax.json-api) -BuildRequires: mvn(javax.mail:mail) -BuildRequires: mvn(javax.servlet:servlet-api) +BuildRequires: mvn(javax.validation:validation-api) BuildRequires: mvn(junit:junit) -BuildRequires: mvn(log4j:log4j) +BuildRequires: mvn(log4j:log4j:12) BuildRequires: mvn(net.jcip:jcip-annotations) +BuildRequires: mvn(net.oauth.core:oauth-provider) BuildRequires: mvn(org.apache.httpcomponents:httpclient) BuildRequires: mvn(org.apache.james:apache-mime4j-core) BuildRequires: mvn(org.apache.james:apache-mime4j-dom) BuildRequires: mvn(org.apache.james:apache-mime4j-storage) -BuildRequires: mvn(org.apache.maven.plugins:maven-deploy-plugin) BuildRequires: mvn(org.apache.maven.plugins:maven-source-plugin) -BuildRequires: mvn(org.bouncycastle:bcmail-jdk16) -BuildRequires: mvn(org.bouncycastle:bcprov-jdk16) +BuildRequires: mvn(org.bouncycastle:bcmail-jdk15on) +BuildRequires: mvn(org.bouncycastle:bcprov-jdk15on) BuildRequires: mvn(org.codehaus.jackson:jackson-core-asl) BuildRequires: mvn(org.codehaus.jackson:jackson-jaxrs) BuildRequires: mvn(org.codehaus.jackson:jackson-mapper-asl) BuildRequires: mvn(org.codehaus.jackson:jackson-xc) BuildRequires: mvn(org.codehaus.jettison:jettison) BuildRequires: mvn(org.eclipse.jetty:jetty-server) +BuildRequires: mvn(org.glassfish:javax.el) BuildRequires: mvn(org.glassfish:javax.json) -BuildRequires: mvn(org.glassfish.web:javax.el) BuildRequires: mvn(org.hibernate:hibernate-validator) BuildRequires: mvn(org.hibernate.javax.persistence:hibernate-jpa-2.0-api) BuildRequires: mvn(org.infinispan:infinispan-core) -BuildRequires: mvn(org.jboss.spec.javax.annotation:jboss-annotations-api_1.1_spec) +BuildRequires: mvn(org.jboss:jboss-parent:pom:) +BuildRequires: mvn(org.jboss.jandex:jandex-maven-plugin) +BuildRequires: mvn(org.jboss.logging:jboss-logging) +BuildRequires: mvn(org.jboss.logging:jboss-logging-annotations) +BuildRequires: mvn(org.jboss.logging:jboss-logging-processor) +BuildRequires: mvn(org.jboss.spec.javax.annotation:jboss-annotations-api_1.2_spec) BuildRequires: mvn(org.jboss.spec.javax.ejb:jboss-ejb-api_3.1_spec) +BuildRequires: mvn(org.jboss.spec.javax.el:jboss-el-api_3.0_spec) BuildRequires: mvn(org.jboss.spec.javax.servlet:jboss-servlet-api_2.5_spec) -BuildRequires: mvn(org.jboss.spec.javax.servlet:jboss-servlet-api_3.0_spec) -BuildRequires: mvn(org.jboss.weld.se:weld-se) -BuildRequires: mvn(org.jboss.weld:weld-core) +BuildRequires: mvn(org.jboss.spec.javax.servlet:jboss-servlet-api_3.1_spec) +BuildRequires: mvn(org.jboss.spec.javax.ws.rs:jboss-jaxrs-api_2.0_spec) +BuildRequires: mvn(org.jboss.weld:weld-api) BuildRequires: mvn(org.picketbox:picketbox) -BuildRequires: mvn(org.scannotation:scannotation) BuildRequires: mvn(org.slf4j:slf4j-api) -BuildRequires: mvn(org.slf4j:slf4j-simple) BuildRequires: mvn(org.springframework:spring-core) +BuildRequires: mvn(org.springframework:spring-test) BuildRequires: mvn(org.springframework:spring-webmvc) BuildRequires: mvn(org.yaml:snakeyaml) -%if 0%{?fedora} > 20 -BuildRequires: mvn(io.netty:netty-all) -%else -BuildRequires: mvn(io.netty:netty) -%endif - -Requires: resteasy-jaxrs-api = %{version}-%{release} +Obsoletes: resteasy-jaxrs-api < %{version}-%{release} Requires: resteasy-core = %{version}-%{release} Requires: resteasy-atom-provider = %{version}-%{release} Requires: resteasy-fastinfoset-provider = %{version}-%{release} @@ -108,17 +101,11 @@ certified and portable implementation of the JAX-RS specification. This package contains %package javadoc -Summary: Javadocs for %{name} +Summary: Javadoc for %{name} -%description javadoc +%description javadoc This package contains the API documentation for %{name}. -%package jaxrs-api -Summary: Module jaxrs-api for %{name} - -%description jaxrs-api -%{extdesc} %{summary}. - %package core Summary: Core modules for %{name} @@ -185,7 +172,6 @@ Summary: Module yaml-provider for %{name} %description yaml-provider %{extdesc} %{summary}. - %package client Summary: Client for %{name} @@ -193,6 +179,9 @@ Summary: Client for %{name} %{extdesc} %{summary}. %package optional +# BSD: ./jaxrs/tjws/src/main/java/Acme/* +# LGPLv2: ./jaxrs/resteasy-cdi/src/main/java/org/jboss/resteasy/cdi/CdiPropertyInjector.java +License: ASL 2.0 and BSD and LGPLv2+ Summary: Optional modules for %{name} %description optional @@ -206,7 +195,6 @@ Summary: Test modules for %{name} %prep %setup -q -n Resteasy-%{namedversion} -%mvn_package ":jaxrs-api" jaxrs-api %mvn_package ":resteasy-jaxrs" core %mvn_package ":providers-pom" core %mvn_package ":resteasy-jaxrs-all" core @@ -240,153 +228,138 @@ Summary: Test modules for %{name} %mvn_package ":resteasy-jdk-http" optional %mvn_package ":resteasy-jsapi" optional %mvn_package ":resteasy-keystone-core" optional +%mvn_package ":resteasy-links" optional +%mvn_package ":resteasy-netty" optional +%mvn_package ":resteasy-netty4" optional +%mvn_package ":resteasy-netty4-cdi" optional +%mvn_package ":resteasy-oauth" optional %mvn_package ":resteasy-servlet-initializer" optional %mvn_package ":resteasy-spring" optional %mvn_package ":resteasy-undertow" optional +%mvn_package ":resteasy-wadl" optional %mvn_package ":security-pom" optional %mvn_package ":tjws" optional -%if 0%{?fedora} > 20 -%mvn_package ":resteasy-netty4" optional -%else -%mvn_package ":resteasy-netty" optional -%endif +find -name '*.jar' -print -delete + +%patch0 -p1 # Disable unnecesary modules -%pom_disable_module examples jaxrs/pom.xml -%pom_disable_module profiling-tests jaxrs/pom.xml -%pom_disable_module resteasy-test-data jaxrs/pom.xml -%pom_disable_module war-tests jaxrs/pom.xml -%pom_disable_module resteasy-links jaxrs/pom.xml -%pom_disable_module jboss-modules jaxrs/pom.xml - -%pom_disable_module resteasy-oauth jaxrs/security/pom.xml -%pom_disable_module login-module-authenticator jaxrs/security/pom.xml -%pom_disable_module skeleton-key-idm jaxrs/security/pom.xml -%pom_disable_module keystone/keystone-as7 jaxrs/security/pom.xml -%pom_disable_module keystone/keystone-as7-modules jaxrs/security/pom.xml - -%pom_disable_module async-http-servlet-3.0-test jaxrs/async-http-servlet-3.0/pom.xml -%pom_disable_module callback-test jaxrs/async-http-servlet-3.0/pom.xml +%pom_disable_module examples jaxrs +%pom_disable_module profiling-tests jaxrs +%pom_disable_module resteasy-test-data jaxrs +%pom_disable_module war-tests jaxrs + +%pom_disable_module jboss-modules jaxrs +%pom_disable_module login-module-authenticator jaxrs/security +%pom_disable_module skeleton-key-idm jaxrs/security +#skeleton-key-as7 +#skeleton-key-idp-war +%pom_disable_module keystone/keystone-as7 jaxrs/security +%pom_disable_module keystone/keystone-as7-modules jaxrs/security + +%pom_disable_module test-jackson-jaxb-coexistence jaxrs/providers +%pom_disable_module test-resteasy-html jaxrs/providers + +%pom_disable_module arquillian jaxrs + +%pom_disable_module async-http-servlet-3.0-test jaxrs/async-http-servlet-3.0 +%pom_disable_module callback-test jaxrs/async-http-servlet-3.0 # HV 4.3 -%pom_disable_module resteasy-hibernatevalidator-provider jaxrs/providers/pom.xml +%pom_disable_module resteasy-hibernatevalidator-provider jaxrs/providers -%if 0%{?fedora} > 20 -# Leave Netty 4, disable Netty 3 -%pom_disable_module resteasy-netty jaxrs/server-adapters/pom.xml -%else -# Leave Netty 3, disable Netty 4 -%pom_disable_module resteasy-netty4 jaxrs/server-adapters/pom.xml -%endif +%pom_change_dep "org.mortbay.jetty:jetty" "org.eclipse.jetty:jetty-server" jaxrs/resteasy-spring +sed -i "s|org.mortbay.jetty.Server|org.eclipse.jetty.server.Server|" \ + jaxrs/resteasy-spring/src/main/java/org/jboss/resteasy/springmvc/JettyLifecycleManager.java -# Replace 2.5 servlet with the jboss-servlet-2.5-api provides -for m in jaxrs/tjws; do -%pom_remove_dep "javax.servlet:servlet-api" ${m}/pom.xml -%pom_add_dep "org.jboss.spec.javax.servlet:jboss-servlet-api_2.5_spec" ${m}/pom.xml -done - -# Need to be patched to work with Jetty 9 -rm jaxrs/resteasy-spring/src/main/java/org/jboss/resteasy/springmvc/JettyLifecycleManager.java +%pom_remove_plugin com.atlassian.maven.plugins:maven-clover2-plugin jaxrs +%pom_remove_plugin com.atlassian.maven.plugins:maven-clover2-plugin jaxrs/resteasy-jaxrs -%pom_remove_dep "org.springframework:spring-test" jaxrs/resteasy-spring/pom.xml -%pom_remove_dep "org.mortbay.jetty:jetty" jaxrs/resteasy-spring/pom.xml -%pom_add_dep "org.eclipse.jetty:jetty-server" jaxrs/resteasy-spring/pom.xml +# Replace 2.5 servlet with the jboss-servlet-2.5-api provides +%pom_change_dep "javax.servlet:servlet-api" "org.jboss.spec.javax.servlet:jboss-servlet-api_2.5_spec" jaxrs/tjws -%pom_remove_plugin com.atlassian.maven.plugins:maven-clover2-plugin jaxrs/pom.xml -%pom_remove_plugin com.atlassian.maven.plugins:maven-clover2-plugin jaxrs/resteasy-jaxrs/pom.xml +%pom_xpath_set pom:properties/pom:dep.netty.version 3 jaxrs # remove activation.jar dependencies -%pom_remove_dep "javax.activation:activation" jaxrs/resteasy-jaxrs/pom.xml -%pom_remove_dep "javax.activation:activation" jaxrs/pom.xml -%pom_remove_dep "javax.activation:activation" jaxrs/resteasy-spring/pom.xml +%pom_remove_dep -r javax.activation:activation jaxrs jaxrs/resteasy-jaxrs jaxrs/resteasy-spring jaxrs/resteasy-test-data + +# Remove duplicate entry +%pom_remove_dep :tjws::test jaxrs/resteasy-jaxrs-testsuite # Fixing JDK7 ASCII issues files=' +jaxrs/resteasy-jaxrs/src/main/java/org/jboss/resteasy/annotations/Query.java +jaxrs/resteasy-jaxrs/src/main/java/org/jboss/resteasy/core/QueryInjector.java jaxrs/resteasy-jsapi/src/main/java/org/jboss/resteasy/jsapi/JSAPIWriter.java jaxrs/resteasy-jsapi/src/main/java/org/jboss/resteasy/jsapi/JSAPIServlet.java jaxrs/resteasy-jsapi/src/main/java/org/jboss/resteasy/jsapi/ServiceRegistry.java +jaxrs/resteasy-links/src/main/java/org/jboss/resteasy/links/AddLinks.java +jaxrs/resteasy-links/src/main/java/org/jboss/resteasy/links/ELProvider.java +jaxrs/resteasy-links/src/main/java/org/jboss/resteasy/links/LinkELProvider.java +jaxrs/resteasy-links/src/main/java/org/jboss/resteasy/links/LinkResource.java +jaxrs/resteasy-links/src/main/java/org/jboss/resteasy/links/LinkResources.java +jaxrs/resteasy-links/src/main/java/org/jboss/resteasy/links/ParentResource.java +jaxrs/resteasy-links/src/main/java/org/jboss/resteasy/links/RESTServiceDiscovery.java +jaxrs/resteasy-links/src/main/java/org/jboss/resteasy/links/ResourceFacade.java +jaxrs/resteasy-links/src/main/java/org/jboss/resteasy/links/ResourceID.java +jaxrs/resteasy-links/src/main/java/org/jboss/resteasy/links/ResourceIDs.java +jaxrs/security/resteasy-oauth/src/main/java/org/jboss/resteasy/auth/oauth/OAuthConsumer.java +jaxrs/security/resteasy-oauth/src/main/java/org/jboss/resteasy/auth/oauth/OAuthException.java +jaxrs/security/resteasy-oauth/src/main/java/org/jboss/resteasy/auth/oauth/OAuthFilter.java +jaxrs/security/resteasy-oauth/src/main/java/org/jboss/resteasy/auth/oauth/OAuthMemoryProvider.java +jaxrs/security/resteasy-oauth/src/main/java/org/jboss/resteasy/auth/oauth/OAuthProvider.java +jaxrs/security/resteasy-oauth/src/main/java/org/jboss/resteasy/auth/oauth/OAuthProviderChecker.java +jaxrs/security/resteasy-oauth/src/main/java/org/jboss/resteasy/auth/oauth/OAuthRequestToken.java +jaxrs/security/resteasy-oauth/src/main/java/org/jboss/resteasy/auth/oauth/OAuthServlet.java +jaxrs/security/resteasy-oauth/src/main/java/org/jboss/resteasy/auth/oauth/OAuthToken.java +jaxrs/security/resteasy-oauth/src/main/java/org/jboss/resteasy/auth/oauth/OAuthValidator.java ' for f in ${files}; do native2ascii -encoding UTF8 ${f} ${f} done -%patch0 -p1 -%patch1 -p0 -%patch2 -p1 -%patch3 -p1 - -# additional gId:aId for jaxrs-api -%mvn_alias ":jaxrs-api" "org.jboss.spec.javax.ws.rs:jboss-jaxrs-api_1.1_spec" +# Disable useless artifacts generation, package __noinstall do not work +%pom_add_plugin org.apache.maven.plugins:maven-source-plugin jaxrs ' + + true +' %build -%mvn_build -f -# Create Jandex index file(s) -# Not all files are required by WildFly, but let's create indexes for all of them -find -name 'resteasy-*-%{namedversion}.jar' | while read f; do - java -cp $(build-classpath jandex) org.jboss.jandex.Main -j ${f} -done +%mvn_build -f %install %mvn_install -find -name "resteasy-*-jandex.jar" | while read f; do - install -pm 644 ${f} %{buildroot}%{_javadir}/%{name}/$(basename -s "-%{namedversion}-jandex.jar" $f)-jandex.jar -done - %files -%doc jaxrs/License.html jaxrs/README.html -%files jaxrs-api -f .mfiles-jaxrs-api +%doc README.md jaxrs/README.html +%license jaxrs/License.html + %files core -f .mfiles-core -%dir %{_javadir}/%{name} -%{_javadir}/%{name}/resteasy-jaxrs-jandex.jar %files atom-provider -f .mfiles-atom-provider -%{_javadir}/%{name}/resteasy-atom-provider-jandex.jar %files fastinfoset-provider -f .mfiles-fastinfoset-provider -%{_javadir}/%{name}/resteasy-fastinfoset-provider-jandex.jar %files jackson-provider -f .mfiles-jackson-provider -%{_javadir}/%{name}/resteasy-jackson-provider-jandex.jar %files jackson2-provider -f .mfiles-jackson2-provider -%{_javadir}/%{name}/resteasy-jackson2-provider-jandex.jar %files jaxb-provider -f .mfiles-jaxb-provider -%{_javadir}/%{name}/resteasy-jaxb-provider-jandex.jar %files jettison-provider -f .mfiles-jettison-provider -%{_javadir}/%{name}/resteasy-jettison-provider-jandex.jar %files json-p-provider -f .mfiles-json-p-provider -%{_javadir}/%{name}/resteasy-json-p-provider-jandex.jar %files multipart-provider -f .mfiles-multipart-provider -%{_javadir}/%{name}/resteasy-multipart-provider-jandex.jar %files validator-provider-11 -f .mfiles-validator-provider-11 -%{_javadir}/%{name}/resteasy-validator-provider-11-jandex.jar %files yaml-provider -f .mfiles-yaml-provider -%{_javadir}/%{name}/resteasy-yaml-provider-jandex.jar %files client -f .mfiles-client -%{_javadir}/%{name}/resteasy-client-jandex.jar %files optional -f .mfiles-optional -%{_javadir}/%{name}/resteasy-cache-core-jandex.jar -%{_javadir}/%{name}/resteasy-cdi-jandex.jar -%{_javadir}/%{name}/resteasy-crypto-jandex.jar -%{_javadir}/%{name}/resteasy-guice-jandex.jar -%{_javadir}/%{name}/resteasy-html-jandex.jar -%{_javadir}/%{name}/resteasy-jdk-http-jandex.jar -%{_javadir}/%{name}/resteasy-jsapi-jandex.jar -%{_javadir}/%{name}/resteasy-keystone-core-jandex.jar -%{_javadir}/%{name}/resteasy-servlet-initializer-jandex.jar -%{_javadir}/%{name}/resteasy-undertow-jandex.jar -%if 0%{?fedora} > 20 -%{_javadir}/%{name}/resteasy-netty4-jandex.jar -%else -%{_javadir}/%{name}/resteasy-netty-jandex.jar -%endif %files test -f .mfiles-test -%{_javadir}/%{name}/resteasy-jaxrs-testsuite-jandex.jar %files javadoc -f .mfiles-javadoc -%doc jaxrs/License.html - - +%license jaxrs/License.html %changelog +* Mon Jun 06 2016 gil cattaneo 3.0.17-1 +- update to 3.0.17.Final +- introduce license macro +- enable resteasy-links, resteasy-oauth, resteasy-wadl modules +- build resteasy-netty{3,4} + * Mon Feb 22 2016 Mat Booth - 3.0.6-11 - Fix failure to build from source diff --git a/sources b/sources index ce5bbd3..ef3614d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -fc7854740dd4f93ecc334ab43961ad87 3.0.6.Final.tar.gz +5664f750288694bd827fb5e752f489fe 3.0.17.Final.tar.gz