!7 update to 2.29.1

From: @angela7
Reviewed-by: @wangchong1995924
Signed-off-by: @wangchong1995924
This commit is contained in:
openeuler-ci-bot 2021-05-19 15:00:17 +08:00 committed by Gitee
commit 054c9769a8
6 changed files with 123 additions and 423 deletions

View File

@ -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

View File

@ -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

View File

@ -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

Binary file not shown.

View File

@ -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