diff -r 290fa071842a -r f88c8c79d784 includes/pageprocess.php --- a/includes/pageprocess.php Wed Mar 26 16:51:42 2008 -0400 +++ b/includes/pageprocess.php Wed Mar 26 20:20:22 2008 -0400 @@ -176,9 +176,19 @@ if ( !$this->perms->get_permissions('read') ) { - $this->err_access_denied(); - profiler_log("PageProcessor [{$this->namespace}:{$this->page_id}]: Finished send process"); - return false; + // Permission denied to read page. Is this one of our core pages that must always be allowed? + // NOTE: Not even the administration panel will work if ACLs deny access to it. + if ( $this->namespace == 'Special' && in_array($this->page_id, array('Login', 'Logout', 'LangExportJSON', 'CSS')) ) + { + // Do nothing; allow execution to continue + } + else + { + // Page isn't whitelisted, behave as normal + $this->err_access_denied(); + profiler_log("PageProcessor [{$this->namespace}:{$this->page_id}]: Finished send process"); + return false; + } } $pathskey = $paths->nslist[ $this->namespace ] . $this->page_id; $strict_no_headers = false;