This is an automated email from the ASF dual-hosted git repository.
markt pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/main by this push:
new f650ea788d Simplify code. Based on PR #651 by wonyongChoi05
f650ea788d is described below
commit f650ea788df8067baa4267ac4df806ba1bff1853
Author: Mark Thomas <[email protected]>
AuthorDate: Tue Sep 5 11:22:49 2023 +0100
Simplify code. Based on PR #651 by wonyongChoi05
---
java/org/apache/coyote/ajp/AjpProcessor.java | 20 +++++++-------------
1 file changed, 7 insertions(+), 13 deletions(-)
diff --git a/java/org/apache/coyote/ajp/AjpProcessor.java
b/java/org/apache/coyote/ajp/AjpProcessor.java
index ccf2e78ba1..9b6063ef33 100644
--- a/java/org/apache/coyote/ajp/AjpProcessor.java
+++ b/java/org/apache/coyote/ajp/AjpProcessor.java
@@ -26,9 +26,11 @@ import java.security.NoSuchProviderException;
import java.security.cert.CertificateException;
import java.security.cert.CertificateFactory;
import java.security.cert.X509Certificate;
+import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
+import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.regex.Pattern;
@@ -1131,10 +1133,10 @@ public class AjpProcessor extends AbstractProcessor {
@Override
protected final void populateSslRequestAttributes() {
if (!certificates.isNull()) {
+ List<X509Certificate> jsseCerts = new ArrayList<>();
ByteChunk certData = certificates.getByteChunk();
- X509Certificate jsseCerts[] = null;
- ByteArrayInputStream bais = new
ByteArrayInputStream(certData.getBytes(), certData.getStart(),
- certData.getLength());
+ ByteArrayInputStream bais =
+ new ByteArrayInputStream(certData.getBytes(),
certData.getStart(), certData.getLength());
// Fill the elements.
try {
CertificateFactory cf;
@@ -1146,21 +1148,13 @@ public class AjpProcessor extends AbstractProcessor {
}
while (bais.available() > 0) {
X509Certificate cert = (X509Certificate)
cf.generateCertificate(bais);
- if (jsseCerts == null) {
- jsseCerts = new X509Certificate[1];
- jsseCerts[0] = cert;
- } else {
- X509Certificate[] temp = new
X509Certificate[jsseCerts.length + 1];
- System.arraycopy(jsseCerts, 0, temp, 0,
jsseCerts.length);
- temp[jsseCerts.length] = cert;
- jsseCerts = temp;
- }
+ jsseCerts.add(cert);
}
} catch (CertificateException | NoSuchProviderException e) {
getLog().error(sm.getString("ajpprocessor.certs.fail"), e);
return;
}
- request.setAttribute(SSLSupport.CERTIFICATE_KEY, jsseCerts);
+ request.setAttribute(SSLSupport.CERTIFICATE_KEY,
jsseCerts.toArray(new X509Certificate[0]));
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]