[tomcat] branch 8.5.x updated: Align with master & 9.0.x

2020-05-04 Thread markt
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 ec318b5  Align with master & 9.0.x
ec318b5 is described below

commit ec318b5bbb865296b2c77ac34142d9423be4a03d
Author: Mark Thomas 
AuthorDate: Mon May 4 14:11:40 2020 +0100

Align with master & 9.0.x

Review of classes impacted by PR #285
---
 .../apache/catalina/core/ApplicationContext.java   |   4 +-
 .../apache/catalina/ha/tcp/ReplicationValve.java   |   2 +-
 .../catalina/session/LocalStrings.properties   |   5 +
 .../catalina/session/PersistentManagerBase.java|  58 -
 .../valves/rewrite/QuotedStringTokenizer.java  | 135 +
 .../catalina/valves/rewrite/RewriteRule.java   |   2 +-
 .../catalina/valves/rewrite/RewriteValve.java  |   2 +-
 test/org/apache/catalina/valves/Benchmarks.java|   2 +-
 8 files changed, 172 insertions(+), 38 deletions(-)

diff --git a/java/org/apache/catalina/core/ApplicationContext.java 
b/java/org/apache/catalina/core/ApplicationContext.java
index fab9fac..70c783d 100644
--- a/java/org/apache/catalina/core/ApplicationContext.java
+++ b/java/org/apache/catalina/core/ApplicationContext.java
@@ -1010,7 +1010,7 @@ public class ApplicationContext implements ServletContext 
{
 Connector[] connectors = service.findConnectors();
 // Need at least one SSL enabled connector to use the SSL session ID.
 for (Connector connector : connectors) {
-if (Boolean.TRUE.equals(connector.getAttribute("SSLEnabled"))) {
+if (Boolean.TRUE.equals(connector.getProperty("SSLEnabled"))) {
 supportedSessionTrackingModes.add(SessionTrackingMode.SSL);
 break;
 }
@@ -1278,7 +1278,7 @@ public class ApplicationContext implements ServletContext 
{
 
 Container[] wrappers = context.findChildren();
 for (Container wrapper : wrappers) {
-result.put(((Wrapper) wrapper).getName(),
+result.put(wrapper.getName(),
 new ApplicationServletRegistration(
 (Wrapper) wrapper, context));
 }
diff --git a/java/org/apache/catalina/ha/tcp/ReplicationValve.java 
b/java/org/apache/catalina/ha/tcp/ReplicationValve.java
index 9e91cfb..6eed956 100644
--- a/java/org/apache/catalina/ha/tcp/ReplicationValve.java
+++ b/java/org/apache/catalina/ha/tcp/ReplicationValve.java
@@ -318,7 +318,7 @@ public class ReplicationValve
 Context context = request.getContext();
 boolean isCrossContext = context != null
 && context instanceof StandardContext
-&& ((StandardContext) context).getCrossContext();
+&& context.getCrossContext();
 try {
 if(isCrossContext) {
 if(log.isDebugEnabled()) {
diff --git a/java/org/apache/catalina/session/LocalStrings.properties 
b/java/org/apache/catalina/session/LocalStrings.properties
index 289b272..62a8b49 100644
--- a/java/org/apache/catalina/session/LocalStrings.properties
+++ b/java/org/apache/catalina/session/LocalStrings.properties
@@ -44,9 +44,14 @@ managerBase.setContextNotNew=It is illegal to call 
setContext() to change the Co
 
 persistentManager.backupMaxIdle=Backing up session [{0}] to Store, idle for 
[{1}] seconds
 persistentManager.deserializeError=Error deserializing Session [{0}]
+persistentManager.isLoadedError=Error checking if session [{0}] is loaded in 
memory
 persistentManager.loading=Loading [{0}] persisted sessions
+persistentManager.removeError=Error removing session [{0}] from the store
 persistentManager.serializeError=Error serializing Session [{0}]: [{1}]
+persistentManager.storeClearError=Error clearning all sessions from the store
 persistentManager.storeKeysException=Unable to determine the list of session 
IDs for sessions in the session store, assuming that the store is empty
+persistentManager.storeLoadError=Error swapping in sessions from the store
+persistentManager.storeLoadKeysError=Error loading sessions keys from the store
 persistentManager.storeSizeException=Unable to determine the number of 
sessions in the session store, assuming that the store is empty
 persistentManager.swapIn=Swapping session [{0}] in from Store
 persistentManager.swapInException=Exception in the Store during swapIn: [{0}]
diff --git a/java/org/apache/catalina/session/PersistentManagerBase.java 
b/java/org/apache/catalina/session/PersistentManagerBase.java
index 2b9b92d..9f52c44 100644
--- a/java/org/apache/catalina/session/PersistentManagerBase.java
+++ b/java/org/apache/catalina/session/PersistentManagerBase.java
@@ -310,12 +310,13 @@ public abstract class PersistentManagerBase extends 
ManagerBase
  * @return {@code true}, if the session id is loaded in memory
  * otherwise {@code false} is returned
  

[tomcat] branch 8.5.x updated: Align with master/9.0.x

2020-01-16 Thread markt
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 dcc2773  Align with master/9.0.x
dcc2773 is described below

commit dcc2773b8ab86d6d74eed17b58c018cabded21c6
Author: Mark Thomas 
AuthorDate: Thu Jan 16 18:21:13 2020 +

Align with master/9.0.x

Clean-up
Remove references to org.apache.juli.JdkLoggerConfig (Tomcat Lite era)
---
 java/org/apache/juli/AsyncFileHandler.java |  6 +-
 java/org/apache/juli/FileHandler.java  |  9 +
 java/org/apache/juli/logging/DirectJDKLog.java | 17 +
 3 files changed, 11 insertions(+), 21 deletions(-)

diff --git a/java/org/apache/juli/AsyncFileHandler.java 
b/java/org/apache/juli/AsyncFileHandler.java
index cfd685d..20a9e16 100644
--- a/java/org/apache/juli/AsyncFileHandler.java
+++ b/java/org/apache/juli/AsyncFileHandler.java
@@ -147,7 +147,6 @@ public class AsyncFileHandler extends FileHandler {
 }
 
 protected static class LoggerThread extends Thread {
-protected final boolean run = true;
 public LoggerThread() {
 this.setDaemon(true);
 this.setName("AsyncFileHandlerWriter-" + 
System.identityHashCode(this));
@@ -155,7 +154,7 @@ public class AsyncFileHandler extends FileHandler {
 
 @Override
 public void run() {
-while (run) {
+while (true) {
 try {
 LogEntry entry = queue.poll(LOGGER_SLEEP_TIME, 
TimeUnit.MILLISECONDS);
 if (entry != null) {
@@ -187,8 +186,5 @@ public class AsyncFileHandler extends FileHandler {
 return true;
 }
 }
-
 }
-
-
 }
diff --git a/java/org/apache/juli/FileHandler.java 
b/java/org/apache/juli/FileHandler.java
index 0d62c92..a437f6a 100644
--- a/java/org/apache/juli/FileHandler.java
+++ b/java/org/apache/juli/FileHandler.java
@@ -95,14 +95,15 @@ import java.util.regex.Pattern;
  * 
  */
 public class FileHandler extends Handler {
+
 public static final int DEFAULT_MAX_DAYS = -1;
 
 private static final ExecutorService DELETE_FILES_SERVICE =
 Executors.newSingleThreadExecutor(new ThreadFactory() {
+private static final String NAME_PREFIX = 
"FileHandlerLogFilesCleaner-";
 private final boolean isSecurityEnabled;
 private final ThreadGroup group;
 private final AtomicInteger threadNumber = new 
AtomicInteger(1);
-private final String namePrefix = 
"FileHandlerLogFilesCleaner-";
 
 {
 SecurityManager s = System.getSecurityManager();
@@ -135,7 +136,7 @@ public class FileHandler extends Handler {
 
.setContextClassLoader(getClass().getClassLoader());
 }
 Thread t = new Thread(group, r,
-namePrefix + threadNumber.getAndIncrement());
+NAME_PREFIX + threadNumber.getAndIncrement());
 t.setDaemon(true);
 return t;
 } finally {
@@ -370,8 +371,7 @@ public class FileHandler extends Handler {
 private void configure() {
 
 Timestamp ts = new Timestamp(System.currentTimeMillis());
-String tsString = ts.toString().substring(0, 19);
-date = tsString.substring(0, 10);
+date = ts.toString().substring(0, 10);
 
 String className = this.getClass().getName(); //allow classes to 
override
 
@@ -415,6 +415,7 @@ public class FileHandler extends Handler {
 } catch (NumberFormatException ignore) {
 //no op
 }
+
 // Get encoding for the logging file
 String encoding = getProperty(className + ".encoding", null);
 if (encoding != null && encoding.length() > 0) {
diff --git a/java/org/apache/juli/logging/DirectJDKLog.java 
b/java/org/apache/juli/logging/DirectJDKLog.java
index 2e38563..adf9177 100644
--- a/java/org/apache/juli/logging/DirectJDKLog.java
+++ b/java/org/apache/juli/logging/DirectJDKLog.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.juli.logging;
 
 import java.util.logging.ConsoleHandler;
@@ -24,28 +23,22 @@ import java.util.logging.Level;
 import java.util.logging.Logger;
 
 /**
- * Hardcoded java.util.logging commons-logging implementation.
+ * Hard-coded java.util.logging commons-logging implementation.
  */
 class DirectJDKLog implements Log {
 // no reason to hide this - but good reasons to not hide
 public final Logger logger;
 
-/** Alternate config reader and console format
- */
+// Alternate config reader and console format
 private static final String