You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ma...@apache.org on 2016/10/21 09:56:19 UTC
[16/41] activemq-artemis git commit: ARTEMIS-801 Decode URL paths
ARTEMIS-801 Decode URL paths
If the path to file contains some special characters, they are encoded
in URL form using %<hex> syntax. We should decode such path when it
is used as path to file on local filesystem.
Project: http://git-wip-us.apache.org/repos/asf/activemq-artemis/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq-artemis/commit/c183ed9c
Tree: http://git-wip-us.apache.org/repos/asf/activemq-artemis/tree/c183ed9c
Diff: http://git-wip-us.apache.org/repos/asf/activemq-artemis/diff/c183ed9c
Branch: refs/heads/ARTEMIS-780
Commit: c183ed9cc1be8ac7e3ea1d5d3667437b5c9ea5cf
Parents: e53aaf3
Author: Erich Duda <ed...@redhat.com>
Authored: Fri Oct 14 09:03:22 2016 +0200
Committer: Clebert Suconic <cl...@apache.org>
Committed: Mon Oct 17 22:04:21 2016 -0400
----------------------------------------------------------------------
.../core/security/jaas/GuestLoginModuleTest.java | 15 +++++++++++++--
.../security/jaas/PropertiesLoginModuleTest.java | 15 +++++++++++++--
.../jaas/TextFileCertificateLoginModuleTest.java | 15 +++++++++++++--
3 files changed, 39 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/c183ed9c/artemis-server/src/test/java/org/apache/activemq/artemis/core/security/jaas/GuestLoginModuleTest.java
----------------------------------------------------------------------
diff --git a/artemis-server/src/test/java/org/apache/activemq/artemis/core/security/jaas/GuestLoginModuleTest.java b/artemis-server/src/test/java/org/apache/activemq/artemis/core/security/jaas/GuestLoginModuleTest.java
index 651bf77..51f51a1 100644
--- a/artemis-server/src/test/java/org/apache/activemq/artemis/core/security/jaas/GuestLoginModuleTest.java
+++ b/artemis-server/src/test/java/org/apache/activemq/artemis/core/security/jaas/GuestLoginModuleTest.java
@@ -23,22 +23,33 @@ import javax.security.auth.callback.UnsupportedCallbackException;
import javax.security.auth.login.LoginContext;
import javax.security.auth.login.LoginException;
import java.io.IOException;
+import java.io.UnsupportedEncodingException;
import java.net.URL;
+import java.net.URLDecoder;
+import java.nio.charset.StandardCharsets;
import org.apache.activemq.artemis.spi.core.security.jaas.RolePrincipal;
import org.apache.activemq.artemis.spi.core.security.jaas.UserPrincipal;
+import org.jboss.logging.Logger;
import org.junit.Assert;
import org.junit.Test;
public class GuestLoginModuleTest extends Assert {
+ private static final Logger logger = Logger.getLogger(GuestLoginModuleTest.class);
+
static {
String path = System.getProperty("java.security.auth.login.config");
if (path == null) {
URL resource = GuestLoginModuleTest.class.getClassLoader().getResource("login.config");
if (resource != null) {
- path = resource.getFile();
- System.setProperty("java.security.auth.login.config", path);
+ try {
+ path = URLDecoder.decode(resource.getFile(), StandardCharsets.UTF_8.name());
+ System.setProperty("java.security.auth.login.config", path);
+ } catch (UnsupportedEncodingException e) {
+ logger.error(e.getMessage(), e);
+ throw new RuntimeException(e);
+ }
}
}
}
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/c183ed9c/artemis-server/src/test/java/org/apache/activemq/artemis/core/security/jaas/PropertiesLoginModuleTest.java
----------------------------------------------------------------------
diff --git a/artemis-server/src/test/java/org/apache/activemq/artemis/core/security/jaas/PropertiesLoginModuleTest.java b/artemis-server/src/test/java/org/apache/activemq/artemis/core/security/jaas/PropertiesLoginModuleTest.java
index 9d35aea..1ab5dba 100644
--- a/artemis-server/src/test/java/org/apache/activemq/artemis/core/security/jaas/PropertiesLoginModuleTest.java
+++ b/artemis-server/src/test/java/org/apache/activemq/artemis/core/security/jaas/PropertiesLoginModuleTest.java
@@ -27,23 +27,34 @@ import javax.security.auth.login.LoginContext;
import javax.security.auth.login.LoginException;
import java.io.File;
import java.io.IOException;
+import java.io.UnsupportedEncodingException;
import java.net.URL;
+import java.net.URLDecoder;
+import java.nio.charset.StandardCharsets;
import org.apache.activemq.artemis.spi.core.security.jaas.RolePrincipal;
import org.apache.activemq.artemis.spi.core.security.jaas.UserPrincipal;
import org.apache.commons.io.FileUtils;
+import org.jboss.logging.Logger;
import org.junit.Assert;
import org.junit.Test;
public class PropertiesLoginModuleTest extends Assert {
+ private static final Logger logger = Logger.getLogger(PropertiesLoginModuleTest.class);
+
static {
String path = System.getProperty("java.security.auth.login.config");
if (path == null) {
URL resource = PropertiesLoginModuleTest.class.getClassLoader().getResource("login.config");
if (resource != null) {
- path = resource.getFile();
- System.setProperty("java.security.auth.login.config", path);
+ try {
+ path = URLDecoder.decode(resource.getFile(), StandardCharsets.UTF_8.name());
+ System.setProperty("java.security.auth.login.config", path);
+ } catch (UnsupportedEncodingException e) {
+ logger.error(e.getMessage(), e);
+ throw new RuntimeException(e);
+ }
}
}
}
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/c183ed9c/artemis-server/src/test/java/org/apache/activemq/artemis/core/security/jaas/TextFileCertificateLoginModuleTest.java
----------------------------------------------------------------------
diff --git a/artemis-server/src/test/java/org/apache/activemq/artemis/core/security/jaas/TextFileCertificateLoginModuleTest.java b/artemis-server/src/test/java/org/apache/activemq/artemis/core/security/jaas/TextFileCertificateLoginModuleTest.java
index 46a8756..0b6f65c 100644
--- a/artemis-server/src/test/java/org/apache/activemq/artemis/core/security/jaas/TextFileCertificateLoginModuleTest.java
+++ b/artemis-server/src/test/java/org/apache/activemq/artemis/core/security/jaas/TextFileCertificateLoginModuleTest.java
@@ -20,7 +20,10 @@ import javax.management.remote.JMXPrincipal;
import javax.security.auth.Subject;
import javax.security.auth.login.LoginException;
import javax.security.cert.X509Certificate;
+import java.io.UnsupportedEncodingException;
import java.net.URL;
+import java.net.URLDecoder;
+import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import org.apache.activemq.artemis.core.server.ActiveMQServerLogger;
@@ -28,12 +31,15 @@ import org.apache.activemq.artemis.spi.core.security.jaas.CertificateLoginModule
import org.apache.activemq.artemis.spi.core.security.jaas.JaasCallbackHandler;
import org.apache.activemq.artemis.spi.core.security.jaas.PropertiesLoader;
import org.apache.activemq.artemis.spi.core.security.jaas.TextFileCertificateLoginModule;
+import org.jboss.logging.Logger;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
public class TextFileCertificateLoginModuleTest {
+ private static final Logger logger = Logger.getLogger(TextFileCertificateLoginModuleTest.class);
+
private static final String CERT_USERS_FILE_SMALL = "cert-users-SMALL.properties";
private static final String CERT_USERS_FILE_LARGE = "cert-users-LARGE.properties";
private static final String CERT_GROUPS_FILE = "cert-roles.properties";
@@ -45,8 +51,13 @@ public class TextFileCertificateLoginModuleTest {
if (path == null) {
URL resource = TextFileCertificateLoginModuleTest.class.getClassLoader().getResource("login.config");
if (resource != null) {
- path = resource.getFile();
- System.setProperty("java.security.auth.login.config", path);
+ try {
+ path = URLDecoder.decode(resource.getFile(), StandardCharsets.UTF_8.name());
+ System.setProperty("java.security.auth.login.config", path);
+ } catch (UnsupportedEncodingException e) {
+ logger.error(e.getMessage(), e);
+ throw new RuntimeException(e);
+ }
}
}
}