MDL-24332 fixed https handling when using sslproxy - thanks djeeg
authorPetr Skoda <skodak@moodle.org>
Mon, 27 Sep 2010 10:16:28 +0000 (10:16 +0000)
committerPetr Skoda <skodak@moodle.org>
Mon, 27 Sep 2010 10:16:28 +0000 (10:16 +0000)
lib/setuplib.php

index d18696a..f7a84be 100644 (file)
@@ -583,9 +583,14 @@ function initialise_fullme() {
     // $CFG->sslproxy specifies if external SSL appliance is used
     // (That is, the Moodle server uses http, with an external box translating everything to https).
     if (empty($CFG->sslproxy)) {
     // $CFG->sslproxy specifies if external SSL appliance is used
     // (That is, the Moodle server uses http, with an external box translating everything to https).
     if (empty($CFG->sslproxy)) {
-        if ($rurl['scheme'] == 'http' and $wwwroot['scheme'] == 'https') {
+        if ($rurl['scheme'] === 'http' and $wwwroot['scheme'] === 'https') {
             print_error('sslonlyaccess', 'error');
         }
             print_error('sslonlyaccess', 'error');
         }
+    } else {
+        if ($wwwroot['scheme'] !== 'https') {
+            throw new coding_exception('Must use https address in wwwroot when ssl proxy enabled!');
+        }
+        $rurl['scheme'] === 'https'; // make moodle believe it runs on https, squid or something else it doing it
     }
 
     // $CFG->reverseproxy specifies if reverse proxy server used.
     }
 
     // $CFG->reverseproxy specifies if reverse proxy server used.