MDL-45981 auth_cas: add cURL SSL versions dropdown
authorSimey Lameze <simey@moodle.com>
Tue, 6 Oct 2015 06:06:18 +0000 (14:06 +0800)
committerSimey Lameze <simey@moodle.com>
Tue, 6 Oct 2015 06:59:14 +0000 (14:59 +0800)
auth/cas/config.html
auth/cas/lang/en/auth_cas.php

index 394c518..c0ea85b 100644 (file)
@@ -220,10 +220,32 @@ if (!ldap_paged_results_supported($config->ldap_version)) {
     </td>
 </tr>
 <tr valign="top" class="required">
-    <td align="right"><label for="curl_ssl_version"><?php print_string('auth_cas_curl_ssl_version_key', 'auth_cas') ?>: </label></td>
+    <td align="right"><label for="curl_ ssl_version"><?php print_string('auth_cas_curl_ssl_version_key', 'auth_cas') ?>: </label></td>
     <td>
-        <input name="curl_ssl_version" id="curl_ssl_version" type="text" size="3" value="<?php echo $config->curl_ssl_version ?>" />
-        <?php if (isset($err['curl_ssl_version'])) echo $OUTPUT->error_text($err['curl_ssl_version']); ?>
+        <?php
+            $sslversions = array();
+            $sslversions[''] = get_string('auth_cas_curl_ssl_version_default', 'auth_cas');
+            if (defined('CURL_SSLVERSION_TLSv1')) {
+                $sslversions[CURL_SSLVERSION_TLSv1] = get_string('auth_cas_curl_ssl_version_TLSv1x', 'auth_cas');
+            }
+            if (defined('CURL_SSLVERSION_TLSv1_0')) {
+                $sslversions[CURL_SSLVERSION_TLSv1_0] = get_string('auth_cas_curl_ssl_version_TLSv10', 'auth_cas');
+            }
+            if (defined('CURL_SSLVERSION_TLSv1_1')) {
+                $sslversions[CURL_SSLVERSION_TLSv1_1] = get_string('auth_cas_curl_ssl_version_TLSv11', 'auth_cas');
+            }
+            if (defined('CURL_SSLVERSION_TLSv1_2')) {
+                $sslversions[CURL_SSLVERSION_TLSv1_2] = get_string('auth_cas_curl_ssl_version_TLSv12', 'auth_cas');
+            }
+            if (defined('CURL_SSLVERSION_SSLv2')) {
+                $sslversions[CURL_SSLVERSION_SSLv2] = get_string('auth_cas_curl_ssl_version_SSLv2', 'auth_cas');
+            }
+            if (defined('CURL_SSLVERSION_SSLv3')) {
+                $sslversions[CURL_SSLVERSION_SSLv3] = get_string('auth_cas_curl_ssl_version_SSLv3', 'auth_cas');
+            }
+            echo html_writer::select($sslversions, 'curl_ssl_version', $config->curl_ssl_version, false);
+            if (isset($err['curl_ssl_version'])) echo $OUTPUT->error_text($err['curl_ssl_version']);
+        ?>
     </td>
     <td>
         <?php print_string('auth_cas_curl_ssl_version', 'auth_cas') ?>
index fb349a2..e9990d8 100644 (file)
@@ -38,7 +38,14 @@ $string['auth_cas_certificate_path_key'] = 'Certificate path';
 $string['auth_cas_create_user'] = 'Turn this on if you want to insert CAS-authenticated users in Moodle database. If not then only users who already exist in the Moodle database can log in.';
 $string['auth_cas_create_user_key'] = 'Create user';
 $string['auth_cas_curl_ssl_version'] = 'The SSL version (2 or 3) to use. By default PHP will try to determine this itself, although in some cases this must be set manually.';
+$string['auth_cas_curl_ssl_version_default'] = 'Default';
 $string['auth_cas_curl_ssl_version_key'] = 'cURL SSL Version';
+$string['auth_cas_curl_ssl_version_SSLv2'] = 'SSLv2';
+$string['auth_cas_curl_ssl_version_SSLv3'] = 'SSLv3';
+$string['auth_cas_curl_ssl_version_TLSv1x'] = 'TLSv1.x';
+$string['auth_cas_curl_ssl_version_TLSv10'] = 'TLSv1.0';
+$string['auth_cas_curl_ssl_version_TLSv11'] = 'TLSv1.1';
+$string['auth_cas_curl_ssl_version_TLSv12'] = 'TLSv1.2';
 $string['auth_casdescription'] = 'This method uses a CAS server (Central Authentication Service) to authenticate users in a Single Sign On environment (SSO). You can also use a simple LDAP authentication. If the given username and password are valid according to CAS, Moodle creates a new user entry in its database, taking user attributes from LDAP if required. On following logins only the username and password are checked.';
 $string['auth_cas_enabled'] = 'Turn this on if you want to use CAS authentication.';
 $string['auth_cas_hostname'] = 'Hostname of the CAS server <br />eg: host.domain.fr';