diff --git a/auth/cas/auth.php b/auth/cas/auth.php index 22733b2a821..5fc773baa7d 100644 --- a/auth/cas/auth.php +++ b/auth/cas/auth.php @@ -183,6 +183,11 @@ class auth_plugin_cas extends auth_plugin_ldap { } else { phpCAS::client($this->config->casversion, $this->config->hostname, (int) $this->config->port, $this->config->baseuri, false); } + //Some CAS installs require SSLv3, etc be explicitly set. + if (!empty($this->config->curl_ssl_version)) { + phpCAS::setExtraCurlOption(CURLOPT_SSLVERSION,$this->config->curl_ssl_version); + } + $connected = true; } @@ -302,6 +307,9 @@ class auth_plugin_cas extends auth_plugin_ldap { if (!isset($config->certificate_path)) { $config->certificate_path = ''; } + if (!isset($config->curl_ssl_version)) { + $config->curl_ssl_version = ''; + } if (!isset($config->logout_return_url)) { $config->logout_return_url = ''; } @@ -374,6 +382,7 @@ class auth_plugin_cas extends auth_plugin_ldap { set_config('multiauth', $config->multiauth, $this->pluginconfig); set_config('certificate_check', $config->certificate_check, $this->pluginconfig); set_config('certificate_path', $config->certificate_path, $this->pluginconfig); + set_config('curl_ssl_version', $config->curl_ssl_version, $this->pluginconfig); set_config('logout_return_url', $config->logout_return_url, $this->pluginconfig); // save LDAP settings diff --git a/auth/cas/config.html b/auth/cas/config.html index 13c29899dc1..1a1e0edfce0 100644 --- a/auth/cas/config.html +++ b/auth/cas/config.html @@ -33,6 +33,9 @@ if (!isset ($config->certificate_check)) { if (!isset ($config->certificate_path)) { $config->certificate_path = ''; } +if (!isset ($config->curl_ssl_version)) { + $config->curl_ssl_version = ''; +} if (!isset($config->logout_return_url)) { $config->logout_return_url = ''; } @@ -216,6 +219,16 @@ if (!ldap_paged_results_supported($config->ldap_version)) { +