From c34ff785dd853d6d5bc7b8002cbac069fe567cb6 Mon Sep 17 00:00:00 2001 From: Misagh Moayyed Date: Mon, 4 Mar 2013 14:17:55 -0700 Subject: [PATCH 1/4] CASC-180: Fix the issue with casting to http url connections and provide a default instance for the http url factory. --- .../cas/client/ssl/HttpsURLConnectionFactory.java | 9 ++++++--- .../org/jasig/cas/client/ssl/URLConnectionFactory.java | 5 +++-- .../java/org/jasig/cas/client/util/CommonUtils.java | 10 +++++----- .../cas/client/validation/Saml11TicketValidator.java | 2 +- 4 files changed, 15 insertions(+), 11 deletions(-) diff --git a/cas-client-core/src/main/java/org/jasig/cas/client/ssl/HttpsURLConnectionFactory.java b/cas-client-core/src/main/java/org/jasig/cas/client/ssl/HttpsURLConnectionFactory.java index 2fc3ed2..3082607 100644 --- a/cas-client-core/src/main/java/org/jasig/cas/client/ssl/HttpsURLConnectionFactory.java +++ b/cas-client-core/src/main/java/org/jasig/cas/client/ssl/HttpsURLConnectionFactory.java @@ -2,6 +2,7 @@ package org.jasig.cas.client.ssl; import java.io.FileInputStream; import java.io.InputStream; +import java.net.HttpURLConnection; import java.net.URLConnection; import java.security.KeyStore; import java.util.Properties; @@ -30,6 +31,8 @@ public final class HttpsURLConnectionFactory implements URLConnectionFactory { private static final Logger LOGGER = LoggerFactory.getLogger(HttpsURLConnectionFactory.class); + public static final HttpsURLConnectionFactory INSTANCE = new HttpsURLConnectionFactory(); + /** * Hostname verifier used when making an SSL request to the CAS server. * Defaults to {@link HttpsURLConnection#getDefaultHostnameVerifier()} @@ -63,7 +66,7 @@ public final class HttpsURLConnectionFactory implements URLConnectionFactory { this.hostnameVerifier = verifier; } - public URLConnection getURLConnection(final URLConnection url) { + public HttpURLConnection buildHttpURLConnection(final URLConnection url) { return this.configureHttpsConnectionIfNeeded(url); } @@ -74,7 +77,7 @@ public final class HttpsURLConnectionFactory implements URLConnectionFactory { * * @param conn the http connection */ - private URLConnection configureHttpsConnectionIfNeeded(final URLConnection conn) { + private HttpURLConnection configureHttpsConnectionIfNeeded(final URLConnection conn) { if (conn instanceof HttpsURLConnection) { final HttpsURLConnection httpsConnection = (HttpsURLConnection) conn; final SSLSocketFactory socketFactory = this.createSSLSocketFactory(); @@ -86,7 +89,7 @@ public final class HttpsURLConnectionFactory implements URLConnectionFactory { httpsConnection.setHostnameVerifier(this.hostnameVerifier); } } - return conn; + return (HttpURLConnection)conn; } /** diff --git a/cas-client-core/src/main/java/org/jasig/cas/client/ssl/URLConnectionFactory.java b/cas-client-core/src/main/java/org/jasig/cas/client/ssl/URLConnectionFactory.java index 45b7dd0..28bbadc 100644 --- a/cas-client-core/src/main/java/org/jasig/cas/client/ssl/URLConnectionFactory.java +++ b/cas-client-core/src/main/java/org/jasig/cas/client/ssl/URLConnectionFactory.java @@ -18,6 +18,7 @@ */ package org.jasig.cas.client.ssl; +import java.net.HttpURLConnection; import java.net.URL; import java.net.URLConnection; @@ -36,9 +37,9 @@ public interface URLConnectionFactory { * to accommodate method chaining. * * @param url The url connection that needs to be configured - * @return The configured {@link URLConnection} instance + * @return The configured {@link HttpURLConnection} instance * * @see {@link HttpsURLConnectionFactory} */ - URLConnection getURLConnection(final URLConnection url); + HttpURLConnection buildHttpURLConnection(final URLConnection url); } diff --git a/cas-client-core/src/main/java/org/jasig/cas/client/util/CommonUtils.java b/cas-client-core/src/main/java/org/jasig/cas/client/util/CommonUtils.java index fe264ac..03f481d 100644 --- a/cas-client-core/src/main/java/org/jasig/cas/client/util/CommonUtils.java +++ b/cas-client-core/src/main/java/org/jasig/cas/client/util/CommonUtils.java @@ -331,9 +331,9 @@ public final class CommonUtils { */ public static String getResponseFromServer(final URL constructedUrl, final URLConnectionFactory factory, final String encoding) { - URLConnection conn = null; + HttpURLConnection conn = null; try { - conn = factory.getURLConnection(constructedUrl.openConnection()); + conn = factory.buildHttpURLConnection(constructedUrl.openConnection()); final BufferedReader in; @@ -355,8 +355,8 @@ public final class CommonUtils { LOGGER.error(e.getMessage(), e); throw new RuntimeException(e); } finally { - if (conn != null && conn instanceof HttpURLConnection) { - ((HttpURLConnection)conn).disconnect(); + if (conn != null) { + conn.disconnect(); } } @@ -371,7 +371,7 @@ public final class CommonUtils { */ public static String getResponseFromServer(final String url, String encoding) { try { - return getResponseFromServer(new URL(url), new HttpsURLConnectionFactory(), encoding); + return getResponseFromServer(new URL(url), HttpsURLConnectionFactory.INSTANCE, encoding); } catch (final MalformedURLException e) { throw new IllegalArgumentException(e); } diff --git a/cas-client-core/src/main/java/org/jasig/cas/client/validation/Saml11TicketValidator.java b/cas-client-core/src/main/java/org/jasig/cas/client/validation/Saml11TicketValidator.java index 0f97a94..7176a9d 100644 --- a/cas-client-core/src/main/java/org/jasig/cas/client/validation/Saml11TicketValidator.java +++ b/cas-client-core/src/main/java/org/jasig/cas/client/validation/Saml11TicketValidator.java @@ -233,7 +233,7 @@ public final class Saml11TicketValidator extends AbstractUrlBasedTicketValidator BufferedReader in = null; try { - conn = (HttpURLConnection) this.getURLConnectionFactory().getURLConnection(validationUrl.openConnection()); + conn = this.getURLConnectionFactory().buildHttpURLConnection(validationUrl.openConnection()); conn.setRequestMethod("POST"); conn.setRequestProperty("Content-Type", "text/xml"); conn.setRequestProperty("Content-Length", Integer.toString(MESSAGE_TO_SEND.length())); From 3964e739c0c45229bd6c759599b6e1549a1a9ec5 Mon Sep 17 00:00:00 2001 From: Misagh Moayyed Date: Wed, 6 Mar 2013 09:34:39 -0700 Subject: [PATCH 2/4] CASC-180: Removed the default url connection factory, allowed proxy retrieval to use the configured factory instance. --- .../AttributePrincipalImpl.java | 3 +- .../cas/client/proxy/Cas20ProxyRetriever.java | 37 ++++++++++++------- .../client/ssl/HttpsURLConnectionFactory.java | 4 +- .../jasig/cas/client/util/CommonUtils.java | 16 -------- ...0ProxyReceivingTicketValidationFilter.java | 9 +++-- .../Cas20ServiceTicketValidator.java | 5 +-- .../Cas20ProxyTicketValidatorTests.java | 1 - 7 files changed, 33 insertions(+), 42 deletions(-) diff --git a/cas-client-core/src/main/java/org/jasig/cas/client/authentication/AttributePrincipalImpl.java b/cas-client-core/src/main/java/org/jasig/cas/client/authentication/AttributePrincipalImpl.java index c7ca08f..acc9823 100644 --- a/cas-client-core/src/main/java/org/jasig/cas/client/authentication/AttributePrincipalImpl.java +++ b/cas-client-core/src/main/java/org/jasig/cas/client/authentication/AttributePrincipalImpl.java @@ -30,7 +30,6 @@ import java.util.Map; * Concrete implementation of the AttributePrincipal interface. * * @author Scott Battaglia - * @version $Revision$ $Date$ * @since 3.1 */ public class AttributePrincipalImpl extends SimplePrincipal implements AttributePrincipal { @@ -80,7 +79,7 @@ public class AttributePrincipalImpl extends SimplePrincipal implements Attribute } /** - * Constructs a new principal witht he supplied name, attributes, and proxying capabilities. + * Constructs a new principal with the supplied name, attributes, and proxying capabilities. * * @param name the unique identifier for the principal. * @param attributes the key/value pairs for this principal. 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 42c21ef..90cb084 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 @@ -18,12 +18,15 @@ */ package org.jasig.cas.client.proxy; +import org.jasig.cas.client.ssl.URLConnectionFactory; import org.jasig.cas.client.util.CommonUtils; import org.jasig.cas.client.util.XmlUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.UnsupportedEncodingException; +import java.net.MalformedURLException; +import java.net.URL; import java.net.URLEncoder; /** @@ -43,7 +46,7 @@ public final class Cas20ProxyRetriever implements ProxyRetriever { /** Unique Id for serialization. */ private static final long serialVersionUID = 560409469568911791L; - /** + /** * Instance of Commons Logging. */ private final Logger logger = LoggerFactory.getLogger(this.getClass()); @@ -55,31 +58,39 @@ public final class Cas20ProxyRetriever implements ProxyRetriever { private final String encoding; + /** Url connection factory to use when communicating with the server **/ + private final URLConnectionFactory urlConnectionFactory; + /** * Main Constructor. * * @param casServerUrl the URL to the CAS server (i.e. http://localhost/cas/) * @param encoding the encoding to use. + * @param urlFactory url connection factory use when retrieving proxy responses from the server */ - public Cas20ProxyRetriever(final String casServerUrl, final String encoding) { + public Cas20ProxyRetriever(final String casServerUrl, final String encoding, final URLConnectionFactory urlFactory) { CommonUtils.assertNotNull(casServerUrl, "casServerUrl cannot be null."); this.casServerUrl = casServerUrl; this.encoding = encoding; + this.urlConnectionFactory = urlFactory; } - + public String getProxyTicketIdFor(final String proxyGrantingTicketId, final String targetService) { - - final String url = constructUrl(proxyGrantingTicketId, targetService); - final String response = CommonUtils.getResponseFromServer(url, this.encoding); - final String error = XmlUtils.getTextForElement(response, "proxyFailure"); - - if (CommonUtils.isNotEmpty(error)) { - logger.debug(error); - return null; + try { + final String url = constructUrl(proxyGrantingTicketId, targetService); + final String response = CommonUtils.getResponseFromServer(new URL(url), this.urlConnectionFactory, this.encoding); + final String error = XmlUtils.getTextForElement(response, "proxyFailure"); + + if (CommonUtils.isNotEmpty(error)) { + logger.debug(error); + return null; + } + + return XmlUtils.getTextForElement(response, "proxyTicket"); + } catch (final MalformedURLException ex) { + throw new RuntimeException(ex); } - - return XmlUtils.getTextForElement(response, "proxyTicket"); } private String constructUrl(final String proxyGrantingTicketId, final String targetService) { diff --git a/cas-client-core/src/main/java/org/jasig/cas/client/ssl/HttpsURLConnectionFactory.java b/cas-client-core/src/main/java/org/jasig/cas/client/ssl/HttpsURLConnectionFactory.java index 3082607..67e442d 100644 --- a/cas-client-core/src/main/java/org/jasig/cas/client/ssl/HttpsURLConnectionFactory.java +++ b/cas-client-core/src/main/java/org/jasig/cas/client/ssl/HttpsURLConnectionFactory.java @@ -31,8 +31,6 @@ public final class HttpsURLConnectionFactory implements URLConnectionFactory { private static final Logger LOGGER = LoggerFactory.getLogger(HttpsURLConnectionFactory.class); - public static final HttpsURLConnectionFactory INSTANCE = new HttpsURLConnectionFactory(); - /** * Hostname verifier used when making an SSL request to the CAS server. * Defaults to {@link HttpsURLConnection#getDefaultHostnameVerifier()} @@ -89,7 +87,7 @@ public final class HttpsURLConnectionFactory implements URLConnectionFactory { httpsConnection.setHostnameVerifier(this.hostnameVerifier); } } - return (HttpURLConnection)conn; + return (HttpURLConnection) conn; } /** diff --git a/cas-client-core/src/main/java/org/jasig/cas/client/util/CommonUtils.java b/cas-client-core/src/main/java/org/jasig/cas/client/util/CommonUtils.java index 03f481d..c592711 100644 --- a/cas-client-core/src/main/java/org/jasig/cas/client/util/CommonUtils.java +++ b/cas-client-core/src/main/java/org/jasig/cas/client/util/CommonUtils.java @@ -359,22 +359,6 @@ public final class CommonUtils { conn.disconnect(); } } - - } - - /** - * Contacts the remote URL and returns the response. - * - * @param url the url to contact. - * @param encoding the encoding to use. - * @return the response. - */ - public static String getResponseFromServer(final String url, String encoding) { - try { - return getResponseFromServer(new URL(url), HttpsURLConnectionFactory.INSTANCE, encoding); - } catch (final MalformedURLException e) { - throw new IllegalArgumentException(e); - } } public static ProxyList createProxyList(final String proxies) { diff --git a/cas-client-core/src/main/java/org/jasig/cas/client/validation/Cas20ProxyReceivingTicketValidationFilter.java b/cas-client-core/src/main/java/org/jasig/cas/client/validation/Cas20ProxyReceivingTicketValidationFilter.java index 45f5473..6e58142 100644 --- a/cas-client-core/src/main/java/org/jasig/cas/client/validation/Cas20ProxyReceivingTicketValidationFilter.java +++ b/cas-client-core/src/main/java/org/jasig/cas/client/validation/Cas20ProxyReceivingTicketValidationFilter.java @@ -145,7 +145,11 @@ public class Cas20ProxyReceivingTicketValidationFilter extends AbstractTicketVal } validator.setProxyCallbackUrl(getPropertyFromInitParams(filterConfig, "proxyCallbackUrl", null)); validator.setProxyGrantingTicketStorage(this.proxyGrantingTicketStorage); - validator.setProxyRetriever(new Cas20ProxyRetriever(casServerUrlPrefix, getPropertyFromInitParams(filterConfig, "encoding", null))); + + final URLConnectionFactory factory = new HttpsURLConnectionFactory(getHostnameVerifier(filterConfig), getSSLConfig(filterConfig)); + validator.setURLConnectionFactory(factory); + + validator.setProxyRetriever(new Cas20ProxyRetriever(casServerUrlPrefix, getPropertyFromInitParams(filterConfig, "encoding", null), factory)); validator.setRenew(parseBoolean(getPropertyFromInitParams(filterConfig, "renew", "false"))); validator.setEncoding(getPropertyFromInitParams(filterConfig, "encoding", null)); @@ -161,9 +165,6 @@ public class Cas20ProxyReceivingTicketValidationFilter extends AbstractTicketVal } validator.setCustomParameters(additionalParameters); - final URLConnectionFactory factory = new HttpsURLConnectionFactory(getHostnameVerifier(filterConfig), getSSLConfig(filterConfig)); - validator.setURLConnectionFactory(factory); - return validator; } diff --git a/cas-client-core/src/main/java/org/jasig/cas/client/validation/Cas20ServiceTicketValidator.java b/cas-client-core/src/main/java/org/jasig/cas/client/validation/Cas20ServiceTicketValidator.java index c626d6d..9c90eaf 100644 --- a/cas-client-core/src/main/java/org/jasig/cas/client/validation/Cas20ServiceTicketValidator.java +++ b/cas-client-core/src/main/java/org/jasig/cas/client/validation/Cas20ServiceTicketValidator.java @@ -25,7 +25,6 @@ import org.jasig.cas.client.proxy.ProxyGrantingTicketStorage; import org.jasig.cas.client.proxy.ProxyRetriever; import org.jasig.cas.client.util.CommonUtils; import org.jasig.cas.client.util.XmlUtils; -import org.w3c.dom.NodeList; import org.xml.sax.Attributes; import org.xml.sax.InputSource; import org.xml.sax.SAXException; @@ -41,7 +40,6 @@ import java.util.*; * Implementation of the TicketValidator that will validate Service Tickets in compliance with the CAS 2. * * @author Scott Battaglia - * @version $Revision$ $Date$ * @since 3.1 */ public class Cas20ServiceTicketValidator extends AbstractCasProtocolUrlBasedTicketValidator { @@ -60,10 +58,11 @@ public class Cas20ServiceTicketValidator extends AbstractCasProtocolUrlBasedTick * CAS server url prefix. * * @param casServerUrlPrefix the CAS Server URL prefix. + * @param urlFactory URL connection factory to use when communicating with the server */ public Cas20ServiceTicketValidator(final String casServerUrlPrefix) { super(casServerUrlPrefix); - this.proxyRetriever = new Cas20ProxyRetriever(casServerUrlPrefix, getEncoding()); + this.proxyRetriever = new Cas20ProxyRetriever(casServerUrlPrefix, getEncoding(), getURLConnectionFactory()); } /** diff --git a/cas-client-core/src/test/java/org/jasig/cas/client/validation/Cas20ProxyTicketValidatorTests.java b/cas-client-core/src/test/java/org/jasig/cas/client/validation/Cas20ProxyTicketValidatorTests.java index b374cae..ce6f415 100644 --- a/cas-client-core/src/test/java/org/jasig/cas/client/validation/Cas20ProxyTicketValidatorTests.java +++ b/cas-client-core/src/test/java/org/jasig/cas/client/validation/Cas20ProxyTicketValidatorTests.java @@ -22,7 +22,6 @@ import org.jasig.cas.client.PublicTestHttpServer; import org.jasig.cas.client.proxy.ProxyGrantingTicketStorage; import org.jasig.cas.client.proxy.ProxyGrantingTicketStorageImpl; import org.jasig.cas.client.proxy.ProxyRetriever; -import org.junit.AfterClass; import org.junit.Before; import org.junit.Test; import org.springframework.context.support.ClassPathXmlApplicationContext; From 2e6df8c5b7c443fbbe24182a5d64088130dccf82 Mon Sep 17 00:00:00 2001 From: Misagh Moayyed Date: Sat, 9 Mar 2013 15:00:45 -0700 Subject: [PATCH 3/4] CASC-180: Fixed try/catch block issue with URL creation. --- .../cas/client/proxy/Cas20ProxyRetriever.java | 36 +++++++++---------- 1 file changed, 17 insertions(+), 19 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 90cb084..bca497a 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 @@ -75,30 +75,28 @@ public final class Cas20ProxyRetriever implements ProxyRetriever { this.urlConnectionFactory = urlFactory; } - public String getProxyTicketIdFor(final String proxyGrantingTicketId, - final String targetService) { - try { - final String url = constructUrl(proxyGrantingTicketId, targetService); - final String response = CommonUtils.getResponseFromServer(new URL(url), this.urlConnectionFactory, this.encoding); - final String error = XmlUtils.getTextForElement(response, "proxyFailure"); + public String getProxyTicketIdFor(final String proxyGrantingTicketId, final String targetService) { + CommonUtils.assertNotNull(proxyGrantingTicketId, "proxyGrantingTicketId cannot be null."); + CommonUtils.assertNotNull(targetService, "targetService cannot be null."); + + final URL url = constructUrl(proxyGrantingTicketId, targetService); + final String response = CommonUtils.getResponseFromServer(url, this.urlConnectionFactory, this.encoding); + final String error = XmlUtils.getTextForElement(response, "proxyFailure"); - if (CommonUtils.isNotEmpty(error)) { - logger.debug(error); - return null; - } - - return XmlUtils.getTextForElement(response, "proxyTicket"); - } catch (final MalformedURLException ex) { - throw new RuntimeException(ex); + if (CommonUtils.isNotEmpty(error)) { + logger.debug(error); + return null; } + + return XmlUtils.getTextForElement(response, "proxyTicket"); } - private String constructUrl(final String proxyGrantingTicketId, final String targetService) { + private URL constructUrl(final String proxyGrantingTicketId, final String targetService) { try { - return this.casServerUrl + (this.casServerUrl.endsWith("/") ? "" : "/") + "proxy" + "?pgt=" - + proxyGrantingTicketId + "&targetService=" - + URLEncoder.encode(targetService, "UTF-8"); - } catch (final UnsupportedEncodingException e) { + return new URL(this.casServerUrl + (this.casServerUrl.endsWith("/") ? "" : "/") + "proxy" + + "?pgt=" + proxyGrantingTicketId + + "&targetService=" + URLEncoder.encode(targetService, "UTF-8")); + } catch (final Exception e) { throw new RuntimeException(e); } } From 4f79cd101407f7d62ea83baf17c0c2f8d8db4c5f Mon Sep 17 00:00:00 2001 From: Misagh Moayyed Date: Sun, 10 Mar 2013 20:51:27 -0700 Subject: [PATCH 4/4] CASC-180: Renamed factory to be HttpURLConnectionFactory. --- .../org/jasig/cas/client/proxy/Cas20ProxyRetriever.java | 6 +++--- ...nnectionFactory.java => HttpURLConnectionFactory.java} | 2 +- .../jasig/cas/client/ssl/HttpsURLConnectionFactory.java | 4 ++-- .../main/java/org/jasig/cas/client/util/CommonUtils.java | 4 ++-- .../validation/AbstractUrlBasedTicketValidator.java | 8 ++++---- .../client/validation/Cas10TicketValidationFilter.java | 4 ++-- .../Cas20ProxyReceivingTicketValidationFilter.java | 4 ++-- .../client/validation/Saml11TicketValidationFilter.java | 4 ++-- 8 files changed, 18 insertions(+), 18 deletions(-) rename cas-client-core/src/main/java/org/jasig/cas/client/ssl/{URLConnectionFactory.java => HttpURLConnectionFactory.java} (97%) 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 bca497a..a77b11f 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 @@ -18,7 +18,7 @@ */ package org.jasig.cas.client.proxy; -import org.jasig.cas.client.ssl.URLConnectionFactory; +import org.jasig.cas.client.ssl.HttpURLConnectionFactory; import org.jasig.cas.client.util.CommonUtils; import org.jasig.cas.client.util.XmlUtils; import org.slf4j.Logger; @@ -59,7 +59,7 @@ public final class Cas20ProxyRetriever implements ProxyRetriever { private final String encoding; /** Url connection factory to use when communicating with the server **/ - private final URLConnectionFactory urlConnectionFactory; + private final HttpURLConnectionFactory urlConnectionFactory; /** * Main Constructor. @@ -68,7 +68,7 @@ public final class Cas20ProxyRetriever implements ProxyRetriever { * @param encoding the encoding to use. * @param urlFactory url connection factory use when retrieving proxy responses from the server */ - public Cas20ProxyRetriever(final String casServerUrl, final String encoding, final URLConnectionFactory urlFactory) { + public Cas20ProxyRetriever(final String casServerUrl, final String encoding, final HttpURLConnectionFactory urlFactory) { CommonUtils.assertNotNull(casServerUrl, "casServerUrl cannot be null."); this.casServerUrl = casServerUrl; this.encoding = encoding; diff --git a/cas-client-core/src/main/java/org/jasig/cas/client/ssl/URLConnectionFactory.java b/cas-client-core/src/main/java/org/jasig/cas/client/ssl/HttpURLConnectionFactory.java similarity index 97% rename from cas-client-core/src/main/java/org/jasig/cas/client/ssl/URLConnectionFactory.java rename to cas-client-core/src/main/java/org/jasig/cas/client/ssl/HttpURLConnectionFactory.java index 28bbadc..c3a33ce 100644 --- a/cas-client-core/src/main/java/org/jasig/cas/client/ssl/URLConnectionFactory.java +++ b/cas-client-core/src/main/java/org/jasig/cas/client/ssl/HttpURLConnectionFactory.java @@ -28,7 +28,7 @@ import java.net.URLConnection; * @author Misagh Moayyed * @since 3.3 */ -public interface URLConnectionFactory { +public interface HttpURLConnectionFactory { /** * Receives a {@link URLConnection} instance typically as a result of a {@link URL} diff --git a/cas-client-core/src/main/java/org/jasig/cas/client/ssl/HttpsURLConnectionFactory.java b/cas-client-core/src/main/java/org/jasig/cas/client/ssl/HttpsURLConnectionFactory.java index 67e442d..2475e5a 100644 --- a/cas-client-core/src/main/java/org/jasig/cas/client/ssl/HttpsURLConnectionFactory.java +++ b/cas-client-core/src/main/java/org/jasig/cas/client/ssl/HttpsURLConnectionFactory.java @@ -18,7 +18,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** - * An implementation of the {@link URLConnectionFactory} whose responsible to configure + * An implementation of the {@link HttpURLConnectionFactory} whose responsible to configure * the underlying https connection, if needed, with a given hostname and SSL socket factory based on the * configuration provided. * @@ -27,7 +27,7 @@ import org.slf4j.LoggerFactory; * @see #setHostnameVerifier(HostnameVerifier) * @see #setSSLConfiguration(Properties) */ -public final class HttpsURLConnectionFactory implements URLConnectionFactory { +public final class HttpsURLConnectionFactory implements HttpURLConnectionFactory { private static final Logger LOGGER = LoggerFactory.getLogger(HttpsURLConnectionFactory.class); diff --git a/cas-client-core/src/main/java/org/jasig/cas/client/util/CommonUtils.java b/cas-client-core/src/main/java/org/jasig/cas/client/util/CommonUtils.java index c592711..e754941 100644 --- a/cas-client-core/src/main/java/org/jasig/cas/client/util/CommonUtils.java +++ b/cas-client-core/src/main/java/org/jasig/cas/client/util/CommonUtils.java @@ -20,7 +20,7 @@ package org.jasig.cas.client.util; import org.jasig.cas.client.proxy.ProxyGrantingTicketStorage; import org.jasig.cas.client.ssl.HttpsURLConnectionFactory; -import org.jasig.cas.client.ssl.URLConnectionFactory; +import org.jasig.cas.client.ssl.HttpURLConnectionFactory; import org.jasig.cas.client.validation.ProxyList; import org.jasig.cas.client.validation.ProxyListEditor; import org.slf4j.Logger; @@ -329,7 +329,7 @@ public final class CommonUtils { * @param encoding the encoding to use. * @return the response. */ - public static String getResponseFromServer(final URL constructedUrl, final URLConnectionFactory factory, final String encoding) { + public static String getResponseFromServer(final URL constructedUrl, final HttpURLConnectionFactory factory, final String encoding) { HttpURLConnection conn = null; try { 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 6d7a71f..5410669 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 @@ -19,7 +19,7 @@ package org.jasig.cas.client.validation; import org.jasig.cas.client.ssl.HttpsURLConnectionFactory; -import org.jasig.cas.client.ssl.URLConnectionFactory; +import org.jasig.cas.client.ssl.HttpURLConnectionFactory; import org.jasig.cas.client.util.CommonUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -45,7 +45,7 @@ public abstract class AbstractUrlBasedTicketValidator implements TicketValidator * URLConnection factory instance to use when making validation requests to the CAS server. * Defaults to {@link HttpsURLConnectionFactory} */ - private URLConnectionFactory urlConnectionFactory = new HttpsURLConnectionFactory(); + private HttpURLConnectionFactory urlConnectionFactory = new HttpsURLConnectionFactory(); /** * Prefix for the CAS server. Should be everything up to the url endpoint, including the /. @@ -238,11 +238,11 @@ public abstract class AbstractUrlBasedTicketValidator implements TicketValidator return this.customParameters; } - protected URLConnectionFactory getURLConnectionFactory() { + protected HttpURLConnectionFactory getURLConnectionFactory() { return this.urlConnectionFactory; } - public void setURLConnectionFactory(final URLConnectionFactory urlConnectionFactory) { + public void setURLConnectionFactory(final HttpURLConnectionFactory urlConnectionFactory) { this.urlConnectionFactory = urlConnectionFactory; } } diff --git a/cas-client-core/src/main/java/org/jasig/cas/client/validation/Cas10TicketValidationFilter.java b/cas-client-core/src/main/java/org/jasig/cas/client/validation/Cas10TicketValidationFilter.java index 47e6eb3..2e8424c 100644 --- a/cas-client-core/src/main/java/org/jasig/cas/client/validation/Cas10TicketValidationFilter.java +++ b/cas-client-core/src/main/java/org/jasig/cas/client/validation/Cas10TicketValidationFilter.java @@ -21,7 +21,7 @@ package org.jasig.cas.client.validation; import javax.servlet.FilterConfig; import org.jasig.cas.client.ssl.HttpsURLConnectionFactory; -import org.jasig.cas.client.ssl.URLConnectionFactory; +import org.jasig.cas.client.ssl.HttpURLConnectionFactory; /** * Implementation of AbstractTicketValidatorFilter that instanciates a Cas10TicketValidator. @@ -39,7 +39,7 @@ public class Cas10TicketValidationFilter extends AbstractTicketValidationFilter final Cas10TicketValidator validator = new Cas10TicketValidator(casServerUrlPrefix); validator.setRenew(parseBoolean(getPropertyFromInitParams(filterConfig, "renew", "false"))); - final URLConnectionFactory factory = new HttpsURLConnectionFactory(getHostnameVerifier(filterConfig), getSSLConfig(filterConfig)); + final HttpURLConnectionFactory factory = new HttpsURLConnectionFactory(getHostnameVerifier(filterConfig), getSSLConfig(filterConfig)); validator.setURLConnectionFactory(factory); validator.setEncoding(getPropertyFromInitParams(filterConfig, "encoding", null)); diff --git a/cas-client-core/src/main/java/org/jasig/cas/client/validation/Cas20ProxyReceivingTicketValidationFilter.java b/cas-client-core/src/main/java/org/jasig/cas/client/validation/Cas20ProxyReceivingTicketValidationFilter.java index 6e58142..48935c5 100644 --- a/cas-client-core/src/main/java/org/jasig/cas/client/validation/Cas20ProxyReceivingTicketValidationFilter.java +++ b/cas-client-core/src/main/java/org/jasig/cas/client/validation/Cas20ProxyReceivingTicketValidationFilter.java @@ -31,7 +31,7 @@ import javax.servlet.http.HttpServletResponse; import org.jasig.cas.client.proxy.*; import org.jasig.cas.client.ssl.HttpsURLConnectionFactory; -import org.jasig.cas.client.ssl.URLConnectionFactory; +import org.jasig.cas.client.ssl.HttpURLConnectionFactory; import org.jasig.cas.client.util.CommonUtils; import org.jasig.cas.client.util.ReflectUtils; @@ -146,7 +146,7 @@ public class Cas20ProxyReceivingTicketValidationFilter extends AbstractTicketVal validator.setProxyCallbackUrl(getPropertyFromInitParams(filterConfig, "proxyCallbackUrl", null)); validator.setProxyGrantingTicketStorage(this.proxyGrantingTicketStorage); - final URLConnectionFactory factory = new HttpsURLConnectionFactory(getHostnameVerifier(filterConfig), getSSLConfig(filterConfig)); + final HttpURLConnectionFactory factory = new HttpsURLConnectionFactory(getHostnameVerifier(filterConfig), getSSLConfig(filterConfig)); validator.setURLConnectionFactory(factory); validator.setProxyRetriever(new Cas20ProxyRetriever(casServerUrlPrefix, getPropertyFromInitParams(filterConfig, "encoding", null), factory)); diff --git a/cas-client-core/src/main/java/org/jasig/cas/client/validation/Saml11TicketValidationFilter.java b/cas-client-core/src/main/java/org/jasig/cas/client/validation/Saml11TicketValidationFilter.java index 30f5ae3..e35bf83 100644 --- a/cas-client-core/src/main/java/org/jasig/cas/client/validation/Saml11TicketValidationFilter.java +++ b/cas-client-core/src/main/java/org/jasig/cas/client/validation/Saml11TicketValidationFilter.java @@ -22,7 +22,7 @@ import javax.servlet.FilterConfig; import javax.servlet.ServletException; import org.jasig.cas.client.ssl.HttpsURLConnectionFactory; -import org.jasig.cas.client.ssl.URLConnectionFactory; +import org.jasig.cas.client.ssl.HttpURLConnectionFactory; /** * Implementation of TicketValidationFilter that can instanciate a SAML 1.1 Ticket Validator. @@ -57,7 +57,7 @@ public class Saml11TicketValidationFilter extends AbstractTicketValidationFilter validator.setTolerance(Long.parseLong(tolerance)); validator.setRenew(parseBoolean(getPropertyFromInitParams(filterConfig, "renew", "false"))); - final URLConnectionFactory factory = new HttpsURLConnectionFactory(getHostnameVerifier(filterConfig), getSSLConfig(filterConfig)); + final HttpURLConnectionFactory factory = new HttpsURLConnectionFactory(getHostnameVerifier(filterConfig), getSSLConfig(filterConfig)); validator.setURLConnectionFactory(factory); validator.setEncoding(getPropertyFromInitParams(filterConfig, "encoding", null));