From a7d06fd66662e60ecf0a1b68cbb3159735151b91 Mon Sep 17 00:00:00 2001 From: Scott Battaglia Date: Wed, 28 May 2008 21:15:32 +0000 Subject: [PATCH] CASC-55 added the check for the "/" to both the proxy retriever and the validators. --- .../org/jasig/cas/client/proxy/Cas20ProxyRetriever.java | 6 +++--- .../client/validation/AbstractUrlBasedTicketValidator.java | 4 +++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/cas-client-core/src/main/java/org/jasig/cas/client/proxy/Cas20ProxyRetriever.java b/cas-client-core/src/main/java/org/jasig/cas/client/proxy/Cas20ProxyRetriever.java index 7b5450a..1dc986e 100644 --- a/cas-client-core/src/main/java/org/jasig/cas/client/proxy/Cas20ProxyRetriever.java +++ b/cas-client-core/src/main/java/org/jasig/cas/client/proxy/Cas20ProxyRetriever.java @@ -99,9 +99,9 @@ public final class Cas20ProxyRetriever implements ProxyRetriever { private String constructUrl(final String proxyGrantingTicketId, final String targetService) { try { - return this.casServerUrl + "proxy" + "?pgt=" - + proxyGrantingTicketId + "&targetService=" - + URLEncoder.encode(targetService, "UTF-8"); + return this.casServerUrl + (this.casServerUrl.endsWith("/") ? "" : "/") + "proxy" + "?pgt=" + + proxyGrantingTicketId + "&targetService=" + + URLEncoder.encode(targetService, "UTF-8"); } catch (final UnsupportedEncodingException e) { throw new RuntimeException(e); } diff --git a/cas-client-core/src/main/java/org/jasig/cas/client/validation/AbstractUrlBasedTicketValidator.java b/cas-client-core/src/main/java/org/jasig/cas/client/validation/AbstractUrlBasedTicketValidator.java index 8892e5d..49a154f 100644 --- a/cas-client-core/src/main/java/org/jasig/cas/client/validation/AbstractUrlBasedTicketValidator.java +++ b/cas-client-core/src/main/java/org/jasig/cas/client/validation/AbstractUrlBasedTicketValidator.java @@ -102,7 +102,9 @@ public abstract class AbstractUrlBasedTicketValidator implements TicketValidator int i = 0; synchronized (buffer) { buffer.append(this.casServerUrlPrefix); - buffer.append("/"); + if (!this.casServerUrlPrefix.endsWith("/")) { + buffer.append("/"); + } buffer.append(suffix); for (final Iterator iter = urlParameters.entrySet().iterator(); iter.hasNext();) {