You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2020/02/04 19:18:24 UTC
[tomcat] branch 8.5.x updated: Fix broken back-port
This is an automated email from the ASF dual-hosted git repository.
markt pushed a commit to branch 8.5.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/8.5.x by this push:
new 9be5760 Fix broken back-port
9be5760 is described below
commit 9be57601efb8a81e3832feb0dd60b1eb9d2b61d5
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Tue Feb 4 19:18:08 2020 +0000
Fix broken back-port
---
java/org/apache/coyote/ajp/AbstractAjpProtocol.java | 1 +
java/org/apache/coyote/ajp/AjpProcessor.java | 11 ++++++++---
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/java/org/apache/coyote/ajp/AbstractAjpProtocol.java b/java/org/apache/coyote/ajp/AbstractAjpProtocol.java
index 1d42c36..bba4d6a 100644
--- a/java/org/apache/coyote/ajp/AbstractAjpProtocol.java
+++ b/java/org/apache/coyote/ajp/AbstractAjpProtocol.java
@@ -253,6 +253,7 @@ public abstract class AbstractAjpProtocol<S> extends AbstractProtocol<S> {
processor.setKeepAliveTimeout(getKeepAliveTimeout());
processor.setClientCertProvider(getClientCertProvider());
processor.setSendReasonPhrase(getSendReasonPhrase());
+ processor.setAllowedArbitraryRequestAttributesPattern(getAllowedArbitraryRequestAttributesPattern());
return processor;
}
diff --git a/java/org/apache/coyote/ajp/AjpProcessor.java b/java/org/apache/coyote/ajp/AjpProcessor.java
index a14a960..06c25b7 100644
--- a/java/org/apache/coyote/ajp/AjpProcessor.java
+++ b/java/org/apache/coyote/ajp/AjpProcessor.java
@@ -360,6 +360,7 @@ public class AjpProcessor extends AbstractProcessor {
this.clientCertProvider = clientCertProvider;
}
+
@Deprecated
private boolean sendReasonPhrase = false;
@Deprecated
@@ -368,6 +369,11 @@ public class AjpProcessor extends AbstractProcessor {
}
+ private Pattern allowedArbitraryRequestAttributesPattern;
+ public void setAllowedArbitraryRequestAttributesPattern(Pattern allowedArbitraryRequestAttributesPattern) {
+ this.allowedArbitraryRequestAttributesPattern = allowedArbitraryRequestAttributesPattern;
+ }
+
// --------------------------------------------------------- Public Methods
@Override
@@ -838,12 +844,11 @@ public class AjpProcessor extends AbstractProcessor {
} else {
// All 'known' attributes will be processed by the previous
// blocks. Any remaining attribute is an 'arbitrary' one.
- Pattern pattern = protocol.getAllowedArbitraryRequestAttributesPattern();
- if (pattern == null) {
+ if (allowedArbitraryRequestAttributesPattern == null) {
response.setStatus(403);
setErrorState(ErrorState.CLOSE_CLEAN, null);
} else {
- Matcher m = pattern.matcher(n);
+ Matcher m = allowedArbitraryRequestAttributesPattern.matcher(n);
if (m.matches()) {
request.setAttribute(n, v);
} else {
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org