Skip to content

Commit d5b3261

Browse files
committed
1 parent d820e2f commit d5b3261

File tree

9 files changed

+30
-9
lines changed

9 files changed

+30
-9
lines changed

src/main/java/com/ning/http/client/multipart/MultipartUtils.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
/*
2+
* Copyright (c) 2025 Contributors to the Eclipse Foundation.
23
* Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
34
* Copyright 2010 Ning, Inc.
45
*
@@ -35,6 +36,7 @@
3536
import java.nio.channels.Selector;
3637
import java.nio.channels.SocketChannel;
3738
import java.nio.channels.WritableByteChannel;
39+
import java.security.SecureRandom;
3840
import java.util.List;
3941
import java.util.Random;
4042
import java.util.Set;
@@ -95,7 +97,7 @@ public static MultipartBody newMultipartBody(List<Part> parts, FluentCaseInsensi
9597
}
9698

9799
private static byte[] generateMultipartBoundary() {
98-
Random rand = new Random();
100+
Random rand = new SecureRandom();
99101
byte[] bytes = new byte[rand.nextInt(11) + 30]; // a random size from 30 to 40
100102
for (int i = 0; i < bytes.length; i++) {
101103
bytes[i] = MULTIPART_CHARS[rand.nextInt(MULTIPART_CHARS.length)];

src/main/java/com/ning/http/client/webdav/WebDavCompletionHandlerBase.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
/*
2+
* Copyright (c) 2025 Contributors to the Eclipse Foundation.
23
* Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
34
* Copyright (c) 2010-2012 Sonatype, Inc. All rights reserved.
45
*
@@ -252,6 +253,13 @@ public String getProtocolText() {
252253

253254
private Document readXMLResponse(InputStream stream) {
254255
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
256+
final String FEATURE = "http://apache.org/xml/features/disallow-doctype-decl";
257+
try {
258+
factory.setFeature(FEATURE, true);
259+
} catch (ParserConfigurationException e) {
260+
throw new IllegalStateException("ParserConfigurationException was thrown. The feature '" + FEATURE +
261+
"' is not supported by your XML processor.", e);
262+
}
255263
Document document = null;
256264
try {
257265
document = factory.newDocumentBuilder().parse(stream);

src/test/java/com/ning/http/client/async/ByteBufferCapacityTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import java.io.IOException;
2525
import java.io.InputStream;
2626
import java.io.OutputStream;
27+
import java.nio.file.Files;
2728
import java.util.UUID;
2829
import java.util.concurrent.atomic.AtomicInteger;
2930

@@ -119,7 +120,7 @@ public String getTargetUrl() {
119120
public static File createTempFile(byte[] pattern, int repeat) throws IOException {
120121
TMP.mkdirs();
121122
TMP.deleteOnExit();
122-
File tmpFile = File.createTempFile("tmpfile-", ".data", TMP);
123+
final File tmpFile = Files.createTempFile(TMP.toPath(), "tmpfile-", ".data").toFile();
123124
write(pattern, repeat, tmpFile);
124125

125126
return tmpFile;

src/test/java/com/ning/http/client/async/FilePartLargeFileTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
import java.io.IOException;
3939
import java.io.InputStream;
4040
import java.net.URL;
41+
import java.nio.file.Files;
4142
import java.util.UUID;
4243

4344
public abstract class FilePartLargeFileTest extends AbstractBasicTest {
@@ -126,7 +127,7 @@ public boolean handle(Request request, org.eclipse.jetty.server.Response respons
126127
public static File createTempFile(byte[] pattern, int repeat) throws IOException {
127128
TMP.mkdirs();
128129
TMP.deleteOnExit();
129-
File tmpFile = File.createTempFile("tmpfile-", ".data", TMP);
130+
final File tmpFile = Files.createTempFile(TMP.toPath(), "tmpfile-", ".data").toFile();
130131
tmpFile.deleteOnExit();
131132
write(pattern, repeat, tmpFile);
132133

src/test/java/com/ning/http/client/async/MultipartUploadTest.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@
6060
import java.net.URISyntaxException;
6161
import java.net.URL;
6262
import java.nio.charset.StandardCharsets;
63+
import java.nio.file.Files;
6364
import java.util.ArrayList;
6465
import java.util.Arrays;
6566
import java.util.List;
@@ -185,7 +186,7 @@ public void testSendingSmallFilesAndByteArray() throws IOException, InterruptedE
185186
gzipped.add(false);
186187

187188
boolean tmpFileCreated = false;
188-
File tmpFile = File.createTempFile("textbytearray", ".txt");
189+
final File tmpFile = Files.createTempFile("textbytearray", ".txt").toFile();
189190
try (FileOutputStream os = new FileOutputStream(tmpFile)) {
190191
IOUtils.write(expectedContents.getBytes("UTF-8"), os);
191192
tmpFileCreated = true;
@@ -417,7 +418,9 @@ public void service(HttpServletRequest request, HttpServletResponse response) th
417418
// Process the input stream
418419
OutputStream os = null;
419420
try {
420-
File tmpFile = File.createTempFile(UUID.randomUUID().toString() + "_MockUploadServlet", ".tmp");
421+
final File tmpFile =
422+
Files.createTempFile(UUID.randomUUID().toString() + "_MockUploadServlet",
423+
".tmp").toFile();
421424
tmpFile.deleteOnExit();
422425
os = new FileOutputStream(tmpFile);
423426
byte[] buffer = new byte[4096];

src/test/java/com/ning/http/client/async/PutLargeFileTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
import java.io.FileOutputStream;
3333
import java.io.IOException;
3434
import java.io.InputStream;
35+
import java.nio.file.Files;
3536
import java.util.UUID;
3637

3738
/**
@@ -115,7 +116,7 @@ public boolean handle(Request request, org.eclipse.jetty.server.Response respons
115116
public static File createTempFile(byte[] pattern, int repeat) throws IOException {
116117
TMP.mkdirs();
117118
TMP.deleteOnExit();
118-
File tmpFile = File.createTempFile("tmpfile-", ".data", TMP);
119+
final File tmpFile = Files.createTempFile(TMP.toPath(), "tmpfile-", ".data").toFile();
119120
tmpFile.deleteOnExit();
120121
write(pattern, repeat, tmpFile);
121122

src/test/java/com/ning/http/client/async/SimpleAsyncHttpClientTest.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
/*
2+
* Copyright (c) 2025 Contributors to the Eclipse Foundation.
23
* Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
34
* Copyright (c) 2010-2012 Sonatype, Inc. All rights reserved.
45
*
@@ -34,6 +35,7 @@
3435
import java.io.ByteArrayOutputStream;
3536
import java.io.File;
3637
import java.io.IOException;
38+
import java.nio.file.Files;
3739
import java.util.concurrent.ExecutionException;
3840
import java.util.concurrent.Future;
3941

@@ -118,7 +120,7 @@ public void testPutZeroBytesFileTest() throws Throwable {
118120
SimpleAsyncHttpClient client = new SimpleAsyncHttpClient.Builder().setProviderClass(getProviderClass()).setPooledConnectionIdleTimeout(100).setMaximumConnectionsTotal(50).setRequestTimeout(5 * 1000).setUrl(getTargetUrl() + "/testPutZeroBytesFileTest.txt").setHeader("Content-Type", "text/plain")
119121
.build();
120122
try {
121-
File tmpfile = File.createTempFile("testPutZeroBytesFile", ".tmp");
123+
final File tmpfile = Files.createTempFile("testPutZeroBytesFile", ".tmp").toFile();
122124
tmpfile.deleteOnExit();
123125

124126
Future<Response> future = client.put(new FileBodyGenerator(tmpfile));

src/test/java/com/ning/http/client/async/TransferListenerTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
import java.io.FileOutputStream;
4141
import java.io.IOException;
4242
import java.io.InputStream;
43+
import java.nio.file.Files;
4344
import java.util.UUID;
4445
import java.util.concurrent.atomic.AtomicBoolean;
4546
import java.util.concurrent.atomic.AtomicLong;
@@ -253,7 +254,7 @@ public String getTargetUrl() {
253254
public static File createTempFile(byte[] pattern, int repeat) throws IOException {
254255
TMP.mkdirs();
255256
TMP.deleteOnExit();
256-
File tmpFile = File.createTempFile("tmpfile-", ".data", TMP);
257+
final File tmpFile = Files.createTempFile(TMP.toPath(), "tmpfile-", ".data").toFile();
257258
write(pattern, repeat, tmpFile);
258259

259260
return tmpFile;

src/test/java/com/ning/http/client/async/grizzly/GrizzlyFeedableBodyGeneratorTest.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
/*
2+
* Copyright (c) 2025 Contributors to the Eclipse Foundation.
23
* Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
34
* Copyright (c) 2013-2014 Sonatype, Inc. All rights reserved.
45
*
@@ -27,6 +28,7 @@
2728
import java.io.IOException;
2829
import java.io.InputStream;
2930
import java.net.URL;
31+
import java.nio.file.Files;
3032
import java.util.Random;
3133
import java.util.concurrent.CountDownLatch;
3234
import java.util.concurrent.ExecutorService;
@@ -356,7 +358,7 @@ private static SSLEngineConfigurator createSSLConfig()
356358

357359

358360
private void generateTempFile() throws IOException {
359-
tempFile = File.createTempFile("feedable", null);
361+
tempFile = Files.createTempFile("feedable", null).toFile();
360362
int total = 0;
361363
byte[] chunk = new byte[1024];
362364
Random r = new Random(System.currentTimeMillis());

0 commit comments

Comments
 (0)