update to 2.29.1
This commit is contained in:
parent
51abbb89a7
commit
0d0976cc8e
@ -1,111 +1,102 @@
|
||||
From ebc396ca0b7257ff9fc3844cce118a6ea38a9004 Mon Sep 17 00:00:00 2001
|
||||
From: Mat Booth <mat.booth@redhat.com>
|
||||
Date: Mon, 11 Mar 2019 10:30:32 +0000
|
||||
Subject: [PATCH 1/3] Patch out dependency on JMockit
|
||||
From 620e6de1e6054559998605626314ab20b5f090f7 Mon Sep 17 00:00:00 2001
|
||||
From: guoxiaoqi <guoxiaoqi2@huawei.com>
|
||||
Date: Thu, 13 May 2021 17:26:55 +0800
|
||||
Subject: [PATCH] Patch out dependency on JMockit
|
||||
|
||||
Signed-off-by: guoxiaoqi <guoxiaoqi2@huawei.com>
|
||||
---
|
||||
.../jersey/server/ResourceConfigTest.java | 50 -----------
|
||||
.../scanning/PackageNamesScannerTest.java | 81 -----------------
|
||||
.../ext/cdi1x/internal/CdiUtilTest.java | 45 ----------
|
||||
.../FormDataMultiPartReaderWriterTest.java | 86 -------------------
|
||||
4 files changed, 262 deletions(-)
|
||||
.../jersey/ext/cdi1x/internal/CdiUtilTest.java | 45 ------------
|
||||
.../internal/scanning/PackageNamesScannerTest.java | 80 ----------------------
|
||||
2 files changed, 125 deletions(-)
|
||||
|
||||
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/ResourceConfigTest.java b/core-server/src/test/java/org/glassfish/jersey/server/ResourceConfigTest.java
|
||||
index 4f4ee99..b0f3bb3 100644
|
||||
--- a/core-server/src/test/java/org/glassfish/jersey/server/ResourceConfigTest.java
|
||||
+++ b/core-server/src/test/java/org/glassfish/jersey/server/ResourceConfigTest.java
|
||||
@@ -45,9 +45,6 @@ import static org.junit.Assert.assertSame;
|
||||
diff --git a/ext/cdi/jersey-cdi1x/src/test/java/org/glassfish/jersey/ext/cdi1x/internal/CdiUtilTest.java b/ext/cdi/jersey-cdi1x/src/test/java/org/glassfish/jersey/ext/cdi1x/internal/CdiUtilTest.java
|
||||
index 0cdafe1..bcc2a66 100644
|
||||
--- a/ext/cdi/jersey-cdi1x/src/test/java/org/glassfish/jersey/ext/cdi1x/internal/CdiUtilTest.java
|
||||
+++ b/ext/cdi/jersey-cdi1x/src/test/java/org/glassfish/jersey/ext/cdi1x/internal/CdiUtilTest.java
|
||||
@@ -28,11 +28,6 @@ import static org.hamcrest.CoreMatchers.instanceOf;
|
||||
import static org.hamcrest.CoreMatchers.nullValue;
|
||||
import static org.junit.Assert.assertThat;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
-import mockit.Mock;
|
||||
-import mockit.MockUp;
|
||||
-import mockit.Mocked;
|
||||
-import mockit.Verifications;
|
||||
-
|
||||
/**
|
||||
* @author Pavel Bucek (pavel.bucek at oracle.com)
|
||||
*/
|
||||
@@ -350,53 +347,6 @@ public class ResourceConfigTest {
|
||||
assertThat(classes, hasItem(InnerStaticClass.PublicClass.class));
|
||||
* Unit tests for {@link org.glassfish.jersey.ext.cdi1x.internal.CdiUtil}.
|
||||
*
|
||||
@@ -48,34 +43,6 @@ public class CdiUtilTest {
|
||||
}
|
||||
}
|
||||
|
||||
- /**
|
||||
- * Reproducer for OWLS-19790: Invalidate resource finders in resource config only when needed.
|
||||
- */
|
||||
- @Test
|
||||
- public void testInvalidateResourceFinders(@Mocked final PackageNamesScanner scanner) throws Exception {
|
||||
- final ResourceConfig resourceConfig = new ResourceConfig()
|
||||
- .packages(false, PublicRootResourceClass.class.getPackage().getName());
|
||||
- public void getBeanManagerCustom(@Mocked final TestBeanManagerProvider custom,
|
||||
- @Mocked final DefaultBeanManagerProvider fallback) throws Exception {
|
||||
- CdiUtil.getBeanManager();
|
||||
-
|
||||
- // Scan packages.
|
||||
- resourceConfig.getClasses();
|
||||
-
|
||||
- // No reset.
|
||||
- new Verifications() {{
|
||||
- scanner.reset();
|
||||
- times = 0;
|
||||
- }};
|
||||
-
|
||||
- resourceConfig.register(InnerStaticClass.PublicClass.class);
|
||||
-
|
||||
- // Reset - we called getClasses() on ResourceConfig.
|
||||
- new Verifications() {{
|
||||
- scanner.reset();
|
||||
- times = 1;
|
||||
- }};
|
||||
-
|
||||
- // No reset.
|
||||
- resourceConfig.register(PublicRootResourceClass.class);
|
||||
- resourceConfig.register(PublicRootResourceInnerStaticClass.PublicClass.class);
|
||||
-
|
||||
- // No reset - simple registering does not invoke cache invalidation and reset of resource finders.
|
||||
- new Verifications() {{
|
||||
- scanner.reset();
|
||||
- times = 1;
|
||||
- }};
|
||||
-
|
||||
- // Scan packages.
|
||||
- resourceConfig.getClasses();
|
||||
-
|
||||
- resourceConfig.registerFinder(new PackageNamesScanner(new String[] {"javax.ws.rs"}, false));
|
||||
-
|
||||
- // Reset - we called getClasses() on ResourceConfig.
|
||||
- new Verifications() {{
|
||||
- scanner.reset();
|
||||
- times = 2;
|
||||
- custom.getBeanManager(); times = 1;
|
||||
- fallback.getBeanManager(); times = 0;
|
||||
- }};
|
||||
- }
|
||||
-
|
||||
@Test
|
||||
public void testResourceFinderStreamsClosed() throws IOException {
|
||||
System.out.println(new ResourceConfig().packages("javax.ws.rs").getClasses());
|
||||
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/internal/scanning/PackageNamesScannerTest.java b/core-server/src/test/java/org/glassfish/jersey/server/internal/scanning/PackageNamesScannerTest.java
|
||||
index 29b18c0..563b998 100644
|
||||
--- a/core-server/src/test/java/org/glassfish/jersey/server/internal/scanning/PackageNamesScannerTest.java
|
||||
+++ b/core-server/src/test/java/org/glassfish/jersey/server/internal/scanning/PackageNamesScannerTest.java
|
||||
@@ -16,11 +16,6 @@
|
||||
- @Test
|
||||
- public void getDefaultBeanManagerDefault(@Mocked final DefaultBeanManagerProvider fallback) throws Exception {
|
||||
- new MockUp<CdiUtil>() {
|
||||
- @Mock
|
||||
- @SuppressWarnings("UnusedDeclaration")
|
||||
- <T> T lookupService(final Class<T> clazz) {
|
||||
- return null;
|
||||
- }
|
||||
- };
|
||||
-
|
||||
- CdiUtil.getBeanManager();
|
||||
-
|
||||
- new Verifications() {{
|
||||
- fallback.getBeanManager(); times = 1;
|
||||
- }};
|
||||
- }
|
||||
-
|
||||
@Priority(500)
|
||||
public static class MyServiceOne implements MyService {
|
||||
}
|
||||
@@ -115,16 +82,4 @@ public class CdiUtilTest {
|
||||
assertThat(CdiUtil.createHk2InjectionManagerStore(), instanceOf(TestInjectionManagerStore.class));
|
||||
}
|
||||
|
||||
package org.glassfish.jersey.server.internal.scanning;
|
||||
- @Test
|
||||
- public void createHk2LocatorManagerDefault() throws Exception {
|
||||
- new MockUp<CdiUtil>() {
|
||||
- @Mock
|
||||
- @SuppressWarnings("UnusedDeclaration")
|
||||
- <T> T lookupService(final Class<T> clazz) {
|
||||
- return null;
|
||||
- }
|
||||
- };
|
||||
-
|
||||
- assertThat(CdiUtil.createHk2InjectionManagerStore(), instanceOf(SingleInjectionManagerStore.class));
|
||||
- }
|
||||
}
|
||||
diff --git a/tests/jmockit/src/test/java/org/glassfish/jersey/tests/jmockit/server/internal/scanning/PackageNamesScannerTest.java b/tests/jmockit/src/test/java/org/glassfish/jersey/tests/jmockit/server/internal/scanning/PackageNamesScannerTest.java
|
||||
index f8f5668..abc8c49 100644
|
||||
--- a/tests/jmockit/src/test/java/org/glassfish/jersey/tests/jmockit/server/internal/scanning/PackageNamesScannerTest.java
|
||||
+++ b/tests/jmockit/src/test/java/org/glassfish/jersey/tests/jmockit/server/internal/scanning/PackageNamesScannerTest.java
|
||||
@@ -16,10 +16,6 @@
|
||||
|
||||
package org.glassfish.jersey.tests.jmockit.server.internal.scanning;
|
||||
|
||||
-import mockit.Expectations;
|
||||
-import mockit.Injectable;
|
||||
-import mockit.Tested;
|
||||
-import mockit.Verifications;
|
||||
-import mockit.integration.junit4.JMockit;
|
||||
import org.glassfish.jersey.server.internal.scanning.PackageNamesScanner;
|
||||
import org.glassfish.jersey.server.internal.scanning.ResourceFinderException;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
@@ -46,7 +41,6 @@ import static org.junit.Assert.fail;
|
||||
* @author Eric Navarro
|
||||
* @author Michal Gajdos
|
||||
*/
|
||||
-@RunWith(JMockit.class)
|
||||
public class PackageNamesScannerTest {
|
||||
|
||||
private static final String[] packages = {"javax.ws.rs"};
|
||||
@@ -96,81 +90,6 @@ public class PackageNamesScannerTest {
|
||||
@@ -94,82 +90,6 @@ public class PackageNamesScannerTest {
|
||||
new PackageNamesScanner(createTestClassLoader("bad", createTestURLStreamHandler("bad"), jaxRsApiPath), packages, false);
|
||||
}
|
||||
|
||||
|
||||
-
|
||||
- @Tested
|
||||
- PackageNamesScanner scanner1 = new PackageNamesScanner(new String[]{"javax.ws.rs"}, false);
|
||||
- @Tested
|
||||
@ -184,185 +175,6 @@ index 29b18c0..563b998 100644
|
||||
private ClassLoader createTestClassLoader(final String scheme,
|
||||
final URLStreamHandler urlStreamHandler,
|
||||
final String resourceFilePath) {
|
||||
diff --git a/ext/cdi/jersey-cdi1x/src/test/java/org/glassfish/jersey/ext/cdi1x/internal/CdiUtilTest.java b/ext/cdi/jersey-cdi1x/src/test/java/org/glassfish/jersey/ext/cdi1x/internal/CdiUtilTest.java
|
||||
index 0cdafe1..bcc2a66 100644
|
||||
--- a/ext/cdi/jersey-cdi1x/src/test/java/org/glassfish/jersey/ext/cdi1x/internal/CdiUtilTest.java
|
||||
+++ b/ext/cdi/jersey-cdi1x/src/test/java/org/glassfish/jersey/ext/cdi1x/internal/CdiUtilTest.java
|
||||
@@ -28,11 +28,6 @@ import static org.hamcrest.CoreMatchers.instanceOf;
|
||||
import static org.hamcrest.CoreMatchers.nullValue;
|
||||
import static org.junit.Assert.assertThat;
|
||||
|
||||
-import mockit.Mock;
|
||||
-import mockit.MockUp;
|
||||
-import mockit.Mocked;
|
||||
-import mockit.Verifications;
|
||||
-
|
||||
/**
|
||||
* Unit tests for {@link org.glassfish.jersey.ext.cdi1x.internal.CdiUtil}.
|
||||
*
|
||||
@@ -48,34 +43,6 @@ public class CdiUtilTest {
|
||||
}
|
||||
}
|
||||
|
||||
- @Test
|
||||
- public void getBeanManagerCustom(@Mocked final TestBeanManagerProvider custom,
|
||||
- @Mocked final DefaultBeanManagerProvider fallback) throws Exception {
|
||||
- CdiUtil.getBeanManager();
|
||||
-
|
||||
- new Verifications() {{
|
||||
- custom.getBeanManager(); times = 1;
|
||||
- fallback.getBeanManager(); times = 0;
|
||||
- }};
|
||||
- }
|
||||
-
|
||||
- @Test
|
||||
- public void getDefaultBeanManagerDefault(@Mocked final DefaultBeanManagerProvider fallback) throws Exception {
|
||||
- new MockUp<CdiUtil>() {
|
||||
- @Mock
|
||||
- @SuppressWarnings("UnusedDeclaration")
|
||||
- <T> T lookupService(final Class<T> clazz) {
|
||||
- return null;
|
||||
- }
|
||||
- };
|
||||
-
|
||||
- CdiUtil.getBeanManager();
|
||||
-
|
||||
- new Verifications() {{
|
||||
- fallback.getBeanManager(); times = 1;
|
||||
- }};
|
||||
- }
|
||||
-
|
||||
@Priority(500)
|
||||
public static class MyServiceOne implements MyService {
|
||||
}
|
||||
@@ -115,16 +82,4 @@ public class CdiUtilTest {
|
||||
assertThat(CdiUtil.createHk2InjectionManagerStore(), instanceOf(TestInjectionManagerStore.class));
|
||||
}
|
||||
|
||||
- @Test
|
||||
- public void createHk2LocatorManagerDefault() throws Exception {
|
||||
- new MockUp<CdiUtil>() {
|
||||
- @Mock
|
||||
- @SuppressWarnings("UnusedDeclaration")
|
||||
- <T> T lookupService(final Class<T> clazz) {
|
||||
- return null;
|
||||
- }
|
||||
- };
|
||||
-
|
||||
- assertThat(CdiUtil.createHk2InjectionManagerStore(), instanceOf(SingleInjectionManagerStore.class));
|
||||
- }
|
||||
}
|
||||
diff --git a/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/internal/FormDataMultiPartReaderWriterTest.java b/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/internal/FormDataMultiPartReaderWriterTest.java
|
||||
index b0a851c..f57d4e7 100644
|
||||
--- a/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/internal/FormDataMultiPartReaderWriterTest.java
|
||||
+++ b/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/internal/FormDataMultiPartReaderWriterTest.java
|
||||
@@ -69,10 +69,6 @@ import static org.junit.Assert.assertThat;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.junit.Assert.fail;
|
||||
|
||||
-import mockit.Expectations;
|
||||
-import mockit.Mocked;
|
||||
-import mockit.Verifications;
|
||||
-
|
||||
/**
|
||||
* Tests for multipart {@code MessageBodyReader} and {@code MessageBodyWriter} as well as {@code FormDataMultiPart} and {@code
|
||||
* FormDataParam} injections.
|
||||
@@ -666,35 +662,6 @@ public class FormDataMultiPartReaderWriterTest extends MultiPartJerseyTest {
|
||||
}
|
||||
}
|
||||
|
||||
- /**
|
||||
- * JERSEY-2663 reproducer. Make sure that temporary file created by MIMEPull is not copied into new temporary file created
|
||||
- * by Jersey.
|
||||
- */
|
||||
- @Test
|
||||
- public void testInjectedFileNotCopied(@Mocked final BodyPartEntity entity) throws Exception {
|
||||
- final FormDataMultiPart multipart = new FormDataMultiPart();
|
||||
- final FormDataBodyPart bodypart = new FormDataBodyPart(FormDataContentDisposition.name("file").fileName("file").build(),
|
||||
- "CONTENT");
|
||||
- multipart.bodyPart(bodypart);
|
||||
-
|
||||
- final Response response = target().path("FileResource").path("InjectedFileNotCopied")
|
||||
- .request()
|
||||
- .post(Entity.entity(multipart, MediaType.MULTIPART_FORM_DATA));
|
||||
-
|
||||
- // Make sure that the Mimepull temp file has been moved to specific file.
|
||||
- new Verifications() {{
|
||||
- entity.moveTo(withInstanceOf(File.class));
|
||||
- times = 1;
|
||||
- }};
|
||||
-
|
||||
- // Make sure that the temp file has been removed.
|
||||
- final String pathname = response.readEntity(String.class);
|
||||
- // Wait a second to make sure the file doesn't exist.
|
||||
- Thread.sleep(1000);
|
||||
-
|
||||
- assertThat("Temporary file, " + pathname + ", on the server has not been removed",
|
||||
- new File(pathname).exists(), is(false));
|
||||
- }
|
||||
|
||||
/**
|
||||
* JERSEY-2846 reproducer. Make sure that temporary file created by MIMEPull deleted after a successful request.
|
||||
@@ -772,59 +739,6 @@ public class FormDataMultiPartReaderWriterTest extends MultiPartJerseyTest {
|
||||
}
|
||||
}
|
||||
|
||||
- /**
|
||||
- * Mocked JERSEY-2794 reproducer. Real test is under integration tests.
|
||||
- */
|
||||
- @Test
|
||||
- public void mimeTempFileRemovedAfterAbortedUpload(@Mocked final MIMEMessage message) throws Exception {
|
||||
- new Expectations() {{
|
||||
- message.getAttachments();
|
||||
- result = new MIMEParsingException();
|
||||
- }};
|
||||
-
|
||||
- final URL url = new URL(getBaseUri().toString() + "MediaTypeWithBoundaryResource");
|
||||
- final HttpURLConnection connection = (HttpURLConnection) url.openConnection();
|
||||
-
|
||||
- connection.setRequestMethod("PUT");
|
||||
- connection.setRequestProperty("Accept", "text/plain");
|
||||
- connection.setRequestProperty("Content-Type", "multipart/form-data; boundary=XXXX_YYYY");
|
||||
-
|
||||
- connection.setDoOutput(true);
|
||||
- connection.connect();
|
||||
-
|
||||
- final OutputStream outputStream = connection.getOutputStream();
|
||||
- outputStream.write("--XXXX_YYYY".getBytes());
|
||||
- outputStream.write('\n');
|
||||
- outputStream.write("Content-Type: text/plain".getBytes());
|
||||
- outputStream.write('\n');
|
||||
- outputStream.write("Content-Disposition: form-data; name=\"big-part\"".getBytes());
|
||||
- outputStream.write('\n');
|
||||
- outputStream.write('\n');
|
||||
-
|
||||
- // Send big chunk of data.
|
||||
- for (int i = 0; i < 16 * 4096; i++) {
|
||||
- outputStream.write('E');
|
||||
- if (i % 1024 == 0) {
|
||||
- outputStream.flush();
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- // Do NOT send end of the MultiPart message to simulate the issue.
|
||||
-
|
||||
- // Get Response ...
|
||||
- final int response = connection.getResponseCode();
|
||||
- // ... Disconnect.
|
||||
- connection.disconnect();
|
||||
-
|
||||
- assertThat("Bad Request expected", response, is(400));
|
||||
-
|
||||
- // Make sure that the Mimepull message and it's parts have been closed and temporary files deleted.
|
||||
- new Verifications() {{
|
||||
- message.close();
|
||||
- times = 1;
|
||||
- }};
|
||||
- }
|
||||
-
|
||||
private void checkEntity(final String expected, final BodyPartEntity entity) throws IOException {
|
||||
// Convert the raw bytes into a String
|
||||
final InputStreamReader sr = new InputStreamReader(entity.getInputStream());
|
||||
--
|
||||
2.20.1
|
||||
1.8.3.1
|
||||
|
||||
|
||||
@ -1,22 +1,23 @@
|
||||
From 4aa4d572fc5aa6c76213940c1d1cf0792d8dc2ac Mon Sep 17 00:00:00 2001
|
||||
From: Mat Booth <mat.booth@redhat.com>
|
||||
Date: Mon, 11 Mar 2019 13:55:53 +0000
|
||||
Subject: [PATCH 3/3] Port to hibernate validation 5.x
|
||||
From 227cdb9bce8e2b5f20983e8c0a600b56233fdbcb Mon Sep 17 00:00:00 2001
|
||||
From: guoxiaoqi <guoxiaoqi2@huawei.com>
|
||||
Date: Thu, 13 May 2021 17:10:06 +0800
|
||||
Subject: [PATCH] Port to hibernate validation 5.x
|
||||
|
||||
Signed-off-by: guoxiaoqi <guoxiaoqi2@huawei.com>
|
||||
---
|
||||
ext/bean-validation/pom.xml | 2 +-
|
||||
ext/cdi/jersey-cdi1x-validation/pom.xml | 2 +-
|
||||
.../cdi1x/validation/internal/CdiInterceptorWrapper.java | 4 ++--
|
||||
.../validation/internal/CdiInterceptorWrapperExtension.java | 2 +-
|
||||
pom.xml | 6 +++---
|
||||
ext/bean-validation/pom.xml | 2 +-
|
||||
ext/cdi/jersey-cdi1x-validation/pom.xml | 2 +-
|
||||
.../jersey/ext/cdi1x/validation/internal/CdiInterceptorWrapper.java | 4 ++--
|
||||
.../cdi1x/validation/internal/CdiInterceptorWrapperExtension.java | 2 +-
|
||||
pom.xml | 6 +++---
|
||||
5 files changed, 8 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/ext/bean-validation/pom.xml b/ext/bean-validation/pom.xml
|
||||
index 7012856..ea3334b 100644
|
||||
index d490857..6fe0bc3 100644
|
||||
--- a/ext/bean-validation/pom.xml
|
||||
+++ b/ext/bean-validation/pom.xml
|
||||
@@ -87,7 +87,7 @@
|
||||
<artifactId>validation-api</artifactId>
|
||||
<artifactId>jakarta.validation-api</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
- <groupId>org.hibernate.validator</groupId>
|
||||
@ -25,7 +26,7 @@ index 7012856..ea3334b 100644
|
||||
</dependency>
|
||||
|
||||
diff --git a/ext/cdi/jersey-cdi1x-validation/pom.xml b/ext/cdi/jersey-cdi1x-validation/pom.xml
|
||||
index 1b25a2e..6b7ac98 100644
|
||||
index 7991cef..a4436a8 100644
|
||||
--- a/ext/cdi/jersey-cdi1x-validation/pom.xml
|
||||
+++ b/ext/cdi/jersey-cdi1x-validation/pom.xml
|
||||
@@ -41,7 +41,7 @@
|
||||
@ -38,7 +39,7 @@ index 1b25a2e..6b7ac98 100644
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
diff --git a/ext/cdi/jersey-cdi1x-validation/src/main/java/org/glassfish/jersey/ext/cdi1x/validation/internal/CdiInterceptorWrapper.java b/ext/cdi/jersey-cdi1x-validation/src/main/java/org/glassfish/jersey/ext/cdi1x/validation/internal/CdiInterceptorWrapper.java
|
||||
index 5b808ce..16a098d 100644
|
||||
index 1d3d9d9..5175ae9 100644
|
||||
--- a/ext/cdi/jersey-cdi1x-validation/src/main/java/org/glassfish/jersey/ext/cdi1x/validation/internal/CdiInterceptorWrapper.java
|
||||
+++ b/ext/cdi/jersey-cdi1x-validation/src/main/java/org/glassfish/jersey/ext/cdi1x/validation/internal/CdiInterceptorWrapper.java
|
||||
@@ -27,8 +27,8 @@ import javax.interceptor.AroundInvoke;
|
||||
@ -53,7 +54,7 @@ index 5b808ce..16a098d 100644
|
||||
/**
|
||||
* JAX-RS wrapper for Hibernate CDI bean validation interceptor.
|
||||
diff --git a/ext/cdi/jersey-cdi1x-validation/src/main/java/org/glassfish/jersey/ext/cdi1x/validation/internal/CdiInterceptorWrapperExtension.java b/ext/cdi/jersey-cdi1x-validation/src/main/java/org/glassfish/jersey/ext/cdi1x/validation/internal/CdiInterceptorWrapperExtension.java
|
||||
index 3b43ee7..1379866 100644
|
||||
index acd1b5c..0561d0e 100644
|
||||
--- a/ext/cdi/jersey-cdi1x-validation/src/main/java/org/glassfish/jersey/ext/cdi1x/validation/internal/CdiInterceptorWrapperExtension.java
|
||||
+++ b/ext/cdi/jersey-cdi1x-validation/src/main/java/org/glassfish/jersey/ext/cdi1x/validation/internal/CdiInterceptorWrapperExtension.java
|
||||
@@ -43,7 +43,7 @@ import javax.interceptor.Interceptor;
|
||||
@ -66,10 +67,10 @@ index 3b43ee7..1379866 100644
|
||||
/**
|
||||
* CDI extension to register {@link CdiInterceptorWrapper}.
|
||||
diff --git a/pom.xml b/pom.xml
|
||||
index 7246f71..81d1a50 100644
|
||||
index d07459d..38eda41 100644
|
||||
--- a/pom.xml
|
||||
+++ b/pom.xml
|
||||
@@ -1765,13 +1765,13 @@
|
||||
@@ -1810,13 +1810,13 @@
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
@ -85,15 +86,15 @@ index 7246f71..81d1a50 100644
|
||||
<artifactId>hibernate-validator-cdi</artifactId>
|
||||
<version>${validation.impl.version}</version>
|
||||
</dependency>
|
||||
@@ -2080,7 +2080,7 @@
|
||||
<simple.version>6.0.1</simple.version>
|
||||
<slf4j.version>1.7.21</slf4j.version>
|
||||
<spring4.version>4.3.8.RELEASE</spring4.version>
|
||||
- <validation.impl.version>6.0.11.Final</validation.impl.version>
|
||||
+ <validation.impl.version>5.1.3.Final</validation.impl.version>
|
||||
@@ -2136,7 +2136,7 @@
|
||||
<spring4.version>4.3.20.RELEASE</spring4.version>
|
||||
<spring5.version>5.1.5.RELEASE</spring5.version>
|
||||
<surefire.version>3.0.0-M3</surefire.version>
|
||||
- <validation.impl.version>6.0.17.Final</validation.impl.version>
|
||||
+ <validation.impl.version>5.2.4.Final</validation.impl.version>
|
||||
<weld.version>2.2.14.Final</weld.version> <!-- 2.4.1 doesn't work - bv tests -->
|
||||
<weld3.version>3.0.0.Final</weld3.version>
|
||||
<xerces.version>2.11.0</xerces.version>
|
||||
--
|
||||
2.20.1
|
||||
1.8.3.1
|
||||
|
||||
@ -1,126 +0,0 @@
|
||||
From f3cadb38dcc5b20e515706fae68dce533ad6c737 Mon Sep 17 00:00:00 2001
|
||||
From: Maxim Nesen <24524084+senivam@users.noreply.github.com>
|
||||
Date: Thu, 4 Mar 2021 11:36:50 +0100
|
||||
Subject: [PATCH] switching to NIO tmp file creation approach (#4712)
|
||||
|
||||
Signed-off-by: Maxim Nesen <maxim.nesen@oracle.com>
|
||||
---
|
||||
.../jersey/message/internal/Utils.java | 26 +++++++++--
|
||||
.../jersey/message/internal/UtilsTest.java | 45 +++++++++++++++++++
|
||||
.../src/test/resources/surefire.policy | 4 +-
|
||||
3 files changed, 70 insertions(+), 5 deletions(-)
|
||||
create mode 100644 core-common/src/test/java/org/glassfish/jersey/message/internal/UtilsTest.java
|
||||
|
||||
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/internal/Utils.java b/core-common/src/main/java/org/glassfish/jersey/message/internal/Utils.java
|
||||
index c4f035ee10..dcae919502 100644
|
||||
--- a/core-common/src/main/java/org/glassfish/jersey/message/internal/Utils.java
|
||||
+++ b/core-common/src/main/java/org/glassfish/jersey/message/internal/Utils.java
|
||||
@@ -18,6 +18,10 @@
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
+import java.nio.file.Files;
|
||||
+import java.security.AccessController;
|
||||
+import java.security.PrivilegedAction;
|
||||
+import java.util.concurrent.atomic.AtomicReference;
|
||||
|
||||
/**
|
||||
* Utility class.
|
||||
@@ -46,9 +50,23 @@ static void throwIllegalArgumentExceptionIfNull(final Object toCheck, final Stri
|
||||
* @throws IOException if a file could not be created.
|
||||
*/
|
||||
public static File createTempFile() throws IOException {
|
||||
- final File file = File.createTempFile("rep", "tmp");
|
||||
- // Make sure the file is deleted when JVM is shutdown at last.
|
||||
- file.deleteOnExit();
|
||||
+ final AtomicReference<IOException> exceptionReference = new AtomicReference<>();
|
||||
+ final File file = AccessController.doPrivileged(new PrivilegedAction<File>() {
|
||||
+ public File run() {
|
||||
+ File tempFile = null;
|
||||
+ try {
|
||||
+ tempFile = Files.createTempFile("rep", "tmp").toFile();
|
||||
+ // Make sure the file is deleted when JVM is shutdown at last.
|
||||
+ tempFile.deleteOnExit();
|
||||
+ } catch (IOException e) {
|
||||
+ exceptionReference.set(e);
|
||||
+ }
|
||||
+ return tempFile;
|
||||
+ }
|
||||
+ });
|
||||
+ if (exceptionReference.get() != null) {
|
||||
+ throw exceptionReference.get();
|
||||
+ }
|
||||
return file;
|
||||
}
|
||||
|
||||
diff --git a/core-common/src/test/java/org/glassfish/jersey/message/internal/UtilsTest.java b/core-common/src/test/java/org/glassfish/jersey/message/internal/UtilsTest.java
|
||||
new file mode 100644
|
||||
index 0000000000..e6baf4c404
|
||||
--- /dev/null
|
||||
+++ b/core-common/src/test/java/org/glassfish/jersey/message/internal/UtilsTest.java
|
||||
@@ -0,0 +1,45 @@
|
||||
+/*
|
||||
+ * Copyright (c) 2021 Oracle and/or its affiliates. All rights reserved.
|
||||
+ *
|
||||
+ * This program and the accompanying materials are made available under the
|
||||
+ * terms of the Eclipse Public License v. 2.0, which is available at
|
||||
+ * http://www.eclipse.org/legal/epl-2.0.
|
||||
+ *
|
||||
+ * This Source Code may also be made available under the following Secondary
|
||||
+ * Licenses when the conditions for such availability set forth in the
|
||||
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
|
||||
+ * version 2 with the GNU Classpath Exception, which is available at
|
||||
+ * https://www.gnu.org/software/classpath/license.html.
|
||||
+ *
|
||||
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
||||
+ */
|
||||
+
|
||||
+package org.glassfish.jersey.message.internal;
|
||||
+
|
||||
+import org.junit.Assert;
|
||||
+import org.junit.Test;
|
||||
+
|
||||
+import java.io.BufferedOutputStream;
|
||||
+import java.io.ByteArrayInputStream;
|
||||
+import java.io.File;
|
||||
+import java.io.FileOutputStream;
|
||||
+import java.io.IOException;
|
||||
+import java.io.OutputStream;
|
||||
+
|
||||
+public class UtilsTest {
|
||||
+
|
||||
+ @Test
|
||||
+ public void createTempFile() throws IOException {
|
||||
+ final File file = Utils.createTempFile();
|
||||
+ final OutputStream stream = new BufferedOutputStream(new FileOutputStream(file));
|
||||
+
|
||||
+ try {
|
||||
+ final ByteArrayInputStream entityStream = new ByteArrayInputStream("Test stream byte input".getBytes());
|
||||
+ ReaderWriter.writeTo(entityStream, stream);
|
||||
+ } finally {
|
||||
+ stream.close();
|
||||
+ }
|
||||
+ Assert.assertTrue(file.exists());
|
||||
+ }
|
||||
+
|
||||
+}
|
||||
diff --git a/core-common/src/test/resources/surefire.policy b/core-common/src/test/resources/surefire.policy
|
||||
index 77fa02af3b..27602ae4c0 100644
|
||||
--- a/core-common/src/test/resources/surefire.policy
|
||||
+++ b/core-common/src/test/resources/surefire.policy
|
||||
@@ -30,6 +30,7 @@ grant codebase "file:${project.build.directory}/test-classes/-" {
|
||||
permission java.lang.reflect.ReflectPermission "suppressAccessChecks";
|
||||
permission java.lang.RuntimePermission "modifyThread";
|
||||
permission java.util.PropertyPermission "*", "write";
|
||||
+ permission java.io.FilePermission "${java.io.tmpdir}/-", "read,write,delete";
|
||||
permission java.lang.RuntimePermission "getClassLoader";
|
||||
permission java.lang.RuntimePermission "accessClassInPackage.sun.misc";
|
||||
permission java.lang.RuntimePermission "accessClassInPackage.sun.misc.*";
|
||||
@@ -43,6 +44,7 @@ grant codebase "file:${project.build.directory}/classes/-" {
|
||||
permission java.lang.RuntimePermission "modifyThread";
|
||||
permission java.util.PropertyPermission "*", "read";
|
||||
permission java.io.FilePermission "<<ALL FILES>>", "read";
|
||||
+ permission java.io.FilePermission "${java.io.tmpdir}/-", "read,write,delete";
|
||||
permission java.lang.RuntimePermission "accessClassInPackage.sun.misc";
|
||||
permission java.lang.RuntimePermission "accessClassInPackage.sun.misc.*";
|
||||
permission java.lang.reflect.ReflectPermission "suppressAccessChecks";
|
||||
Binary file not shown.
BIN
jersey-2.29.1.tar.gz
Normal file
BIN
jersey-2.29.1.tar.gz
Normal file
Binary file not shown.
37
jersey.spec
37
jersey.spec
@ -1,7 +1,7 @@
|
||||
%bcond_with jp_minimal
|
||||
Name: jersey
|
||||
Version: 2.28
|
||||
Release: 2
|
||||
Version: 2.29.1
|
||||
Release: 1
|
||||
Summary: JAX-RS (JSR 311) production quality Reference Implementation
|
||||
License: (EPL-2.0 or GPLv2 with exceptions) and ASL 2.0
|
||||
URL: https://github.com/eclipse-ee4j/jersey
|
||||
@ -10,8 +10,7 @@ Source1: http://www.apache.org/licenses/LICENSE-2.0.txt
|
||||
Patch0: jersey-2.17-mvc-jsp-servlet31.patch
|
||||
Patch1: 0001-Patch-out-dependency-on-JMockit.patch
|
||||
Patch2: 0002-Port-to-glassfish-jsonp-1.0.patch
|
||||
Patch3: 0003-Port-to-hibernate-validation-5.x.patch
|
||||
Patch4: CVE-2021-28168.patch
|
||||
Patch3: 0001-Port-to-hibernate-validation-5.x.patch
|
||||
BuildRequires: maven-local mvn(com.fasterxml.jackson.core:jackson-annotations)
|
||||
BuildRequires: mvn(com.fasterxml.jackson.core:jackson-databind)
|
||||
BuildRequires: mvn(com.fasterxml.jackson.module:jackson-module-jaxb-annotations)
|
||||
@ -45,7 +44,11 @@ BuildRequires: mvn(org.jboss.spec.javax.transaction:jboss-transaction-api_
|
||||
BuildRequires: mvn(org.jboss.weld.se:weld-se-core) mvn(org.jvnet.mimepull:mimepull)
|
||||
BuildRequires: mvn(org.mockito:mockito-all) mvn(org.simpleframework:simple-common)
|
||||
BuildRequires: mvn(org.simpleframework:simple-http) mvn(org.simpleframework:simple-transport)
|
||||
BuildRequires: mvn(org.testng:testng)
|
||||
BuildRequires: mvn(org.testng:testng) mvn(org.apache.maven.plugins:maven-antrun-plugin)
|
||||
BuildRequires: mvn(org.glassfish.hk2:hk2) mvn(org.glassfish.hk2:spring-bridge) mvn(org.aspectj:aspectjrt) mvn(org.aspectj:aspectjweaver) mvn(org.springframework:spring-aop)
|
||||
BuildRequires: mvn(org.springframework:spring-beans) mvn(org.springframework:spring-beans) mvn(org.springframework:spring-core) mvn(org.springframework:spring-web) mvn(org.springframework:spring-aop)
|
||||
#BuildRequires: mvn(org.eclipse.microprofile.config:microprofile-config-api) mvn(org.eclipse.microprofile.rest.client:microprofile-rest-client-api) mvn(javax.json:javax.json-api)
|
||||
#BuildRequires: mvn(org.eclipse.microprofile.config:microprofile-config-api) mvn(io.helidon.microprofile.config:helidon-microprofile-config)
|
||||
%endif
|
||||
BuildArch: noarch
|
||||
%description
|
||||
@ -66,15 +69,19 @@ Summary: Javadoc for %{name}
|
||||
This package contains javadoc for %{name}.
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n %{name}-%{version}
|
||||
%setup -q -n %{name}-%{version}
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
find . -name "*.jar" -print -delete
|
||||
find . -name "*.class" -print -delete
|
||||
cp -p %{SOURCE1} .
|
||||
sed -i 's/\r//' LICENSE-2.0.txt
|
||||
rm -r core-server/src/main/java/jersey
|
||||
find core-server -name "*.java" -exec sed -i "s|jersey.repackaged.||" {} +
|
||||
rm -r core-common/src/main/java/org/glassfish/jersey/internal/guava
|
||||
grep -rl --include=*.java org.glassfish.jersey.internal.guava | xargs sed -i "s|org\.glassfish\.jersey\.internal\.guava|com.google.common.base|"
|
||||
#rm -r core-server/src/main/java/jersey
|
||||
#find core-server -name "*.java" -exec sed -i "s|jersey.repackaged.||" {} +
|
||||
#rm -r core-common/src/main/java/org/glassfish/jersey/internal/guava
|
||||
#grep -rl --include=*.java org.glassfish.jersey.internal.guava | xargs sed -i "s|org\.glassfish\.jersey\.internal\.guava|com.google.common.base|"
|
||||
find core-* containers/{grizzly2,jdk,jetty}-http media/sse ext/{entity-filtering,bean-validation,rx} -name "*.java" -exec sed -i \
|
||||
-e "/base\.Cache/s/common\.base/common.cache/" \
|
||||
-e "/base\.LoadingCache/s/common\.base/common.cache/" \
|
||||
@ -98,6 +105,8 @@ find core-* containers/{grizzly2,jdk,jetty}-http media/sse ext/{entity-filtering
|
||||
%pom_change_dep -r jakarta.el:jakarta.el-api javax.el:javax.el-api
|
||||
%pom_change_dep -r org.glassfish:jakarta.el org.glassfish:javax.el
|
||||
%pom_change_dep -r org.glassfish:jakarta.json org.glassfish:javax.json
|
||||
%pom_change_dep -r jakarta.validation:jakarta.validation-api javax.validation:validation-api
|
||||
%pom_change_dep -r jakarta.json:jakarta.json-api javax.json:javax.json-api
|
||||
%pom_add_dep javax.json:javax.json-api:1.0 media/json-processing
|
||||
%pom_change_dep javax:javaee-api javax.enterprise:cdi-api:'${cdi.api.version}':provided ext/cdi/jersey-cdi1x-transaction
|
||||
%pom_add_dep org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec:1.0.0.Alpha3:provided ext/cdi/jersey-cdi1x-transaction
|
||||
@ -136,6 +145,8 @@ find core-* containers/{grizzly2,jdk,jetty}-http media/sse ext/{entity-filtering
|
||||
%pom_disable_module grizzly-connector connectors
|
||||
%pom_remove_dep :jersey-grizzly-connector bom
|
||||
%pom_remove_dep org.glassfish.jersey.connectors:jersey-grizzly-connector media/multipart
|
||||
%pom_disable_module mp-rest-client ext/microprofile
|
||||
%pom_disable_module mp-config ext/microprofile
|
||||
rm media/multipart/src/test/java/org/glassfish/jersey/media/multipart/internal/MultiPartHeaderModificationTest.java
|
||||
%pom_disable_module glassfish containers
|
||||
%pom_remove_dep :jersey-gf-ejb bom
|
||||
@ -163,6 +174,7 @@ rm media/multipart/src/test/java/org/glassfish/jersey/media/multipart/internal/M
|
||||
%pom_disable_module mvc-mustache ext
|
||||
%pom_disable_module proxy-client ext
|
||||
%pom_disable_module rx ext
|
||||
%pom_disable_module microprofile ext
|
||||
%endif
|
||||
%pom_xpath_inject "pom:plugin/pom:configuration/pom:instructions" \
|
||||
'<Require-Bundle>org.glassfish.jersey.inject.jersey-hk2;bundle-version="%{version}"</Require-Bundle>' core-common
|
||||
@ -180,6 +192,7 @@ sed -i -e 's/javax\.activation\.\*;/javax.activation.*;resolution:=optional;/' c
|
||||
%mvn_file "org.glassfish.jersey.security:project" %{name}/security-project
|
||||
%mvn_file "org.glassfish.jersey.test-framework:project" %{name}/test-framework-project
|
||||
%mvn_file "org.glassfish.jersey.test-framework.providers:project" %{name}/test-framework-providers-project
|
||||
%mvn_file "org.glassfish.jersey.ext.microprofile:project" %{name}/ext-microprofile-project
|
||||
%mvn_package "org.glassfish.jersey.test-framework*:" test-framework
|
||||
|
||||
%build
|
||||
@ -207,8 +220,8 @@ sed -i -e 's/javax\.activation\.\*;/javax.activation.*;resolution:=optional;/' c
|
||||
%license LICENSE.md NOTICE.md LICENSE-2.0.txt
|
||||
|
||||
%changelog
|
||||
* Fri May 7 2021 wangxiao <wangxiao65@huawei.com> - 2.28-2
|
||||
- Fix CVE-2021-28168
|
||||
* Tue May 18 2021 guoxiaoqi2 <guoxiaoqi2@huawei.com> - 2.29.1-1
|
||||
- update to 2.29.1
|
||||
|
||||
* Tue Aug 25 2020 Shaoqiang Kang <kangshaoqiang1@huawei.com> - 2.28-1
|
||||
- Package init
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user