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 2022/09/09 08:46:14 UTC
[tomcat] 02/06: Refactor and use i18n for exception messages
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
commit dcf48fb74276bde9828faa310be4d4ec3fce916f
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Fri Sep 9 08:56:40 2022 +0100
Refactor and use i18n for exception messages
---
java/org/apache/tomcat/websocket/Authenticator.java | 18 ++++++++++++++++++
.../apache/tomcat/websocket/BasicAuthenticator.java | 6 ++----
.../apache/tomcat/websocket/DigestAuthenticator.java | 6 ++----
.../apache/tomcat/websocket/LocalStrings.properties | 3 +++
4 files changed, 25 insertions(+), 8 deletions(-)
diff --git a/java/org/apache/tomcat/websocket/Authenticator.java b/java/org/apache/tomcat/websocket/Authenticator.java
index 4ff78281d1..30787205cb 100644
--- a/java/org/apache/tomcat/websocket/Authenticator.java
+++ b/java/org/apache/tomcat/websocket/Authenticator.java
@@ -21,11 +21,15 @@ import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
+import org.apache.tomcat.util.res.StringManager;
+
/**
* Base class for the authentication methods used by the WebSocket client.
*/
public abstract class Authenticator {
+ private static final StringManager sm = StringManager.getManager(Authenticator.class);
+
private static final Pattern pattern = Pattern.compile("(\\w+)\\s*=\\s*(\"([^\"]+)\"|([^,=\"]+))\\s*,?");
@@ -91,4 +95,18 @@ public abstract class Authenticator {
return parameterMap;
}
+
+
+ protected void validateUsername(String userName) throws AuthenticationException {
+ if (userName == null) {
+ throw new AuthenticationException(sm.getString("authenticator.nullUserName"));
+ }
+ }
+
+
+ protected void validatePassword(String password) throws AuthenticationException {
+ if (password == null) {
+ throw new AuthenticationException(sm.getString("authenticator.nullPassword"));
+ }
+ }
}
diff --git a/java/org/apache/tomcat/websocket/BasicAuthenticator.java b/java/org/apache/tomcat/websocket/BasicAuthenticator.java
index 68dcccdd5f..63b0a3d0e5 100644
--- a/java/org/apache/tomcat/websocket/BasicAuthenticator.java
+++ b/java/org/apache/tomcat/websocket/BasicAuthenticator.java
@@ -36,10 +36,8 @@ public class BasicAuthenticator extends Authenticator {
String userName = (String) userProperties.get(Constants.WS_AUTHENTICATION_USER_NAME);
String userPassword = (String) userProperties.get(Constants.WS_AUTHENTICATION_PASSWORD);
- if (userName == null || userPassword == null) {
- throw new AuthenticationException(
- "Failed to perform Basic authentication due to missing user/password");
- }
+ validateUsername(userName);
+ validatePassword(userPassword);
Map<String, String> parameterMap = parseAuthenticateHeader(authenticateHeader);
diff --git a/java/org/apache/tomcat/websocket/DigestAuthenticator.java b/java/org/apache/tomcat/websocket/DigestAuthenticator.java
index fef0106013..6552001c1c 100644
--- a/java/org/apache/tomcat/websocket/DigestAuthenticator.java
+++ b/java/org/apache/tomcat/websocket/DigestAuthenticator.java
@@ -42,10 +42,8 @@ public class DigestAuthenticator extends Authenticator {
String userName = (String) userProperties.get(Constants.WS_AUTHENTICATION_USER_NAME);
String userPassword = (String) userProperties.get(Constants.WS_AUTHENTICATION_PASSWORD);
- if (userName == null || userPassword == null) {
- throw new AuthenticationException(
- "Failed to perform Digest authentication due to missing user/password");
- }
+ validateUsername(userName);
+ validatePassword(userPassword);
Map<String, String> parameterMap = parseAuthenticateHeader(authenticateHeader);
diff --git a/java/org/apache/tomcat/websocket/LocalStrings.properties b/java/org/apache/tomcat/websocket/LocalStrings.properties
index c755121bb3..c86a75efab 100644
--- a/java/org/apache/tomcat/websocket/LocalStrings.properties
+++ b/java/org/apache/tomcat/websocket/LocalStrings.properties
@@ -29,6 +29,9 @@ asyncChannelWrapperSecure.unexpectedHandshakeState=Unexpected state [{0}] during
asyncChannelWrapperSecure.wrongStateRead=Flag that indicates a read is in progress was found to be false (it should have been true) when trying to complete a read operation
asyncChannelWrapperSecure.wrongStateWrite=Flag that indicates a write is in progress was found to be false (it should have been true) when trying to complete a write operation
+authenticator.nullPassword=No password was provided to use for authentication
+authenticator.nullUserName=No user name was provided to use for authentication
+
backgroundProcessManager.processFailed=A background process failed
caseInsensitiveKeyMap.nullKey=Null keys are not permitted
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org