--- loncom/auth/lonstatusacc.pm 2008/11/30 14:47:11 1.2 +++ loncom/auth/lonstatusacc.pm 2008/12/22 21:13:19 1.3 @@ -1,7 +1,7 @@ # # LON-CAPA authorization for pages generated by server-status reports # -# $Id: lonstatusacc.pm,v 1.2 2008/11/30 14:47:11 raeburn Exp $ +# $Id: lonstatusacc.pm,v 1.3 2008/12/22 21:13:19 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -31,7 +31,7 @@ package Apache::lonstatusacc; use strict; -use Apache::Constants qw(:common :remotehost); +use Apache::Constants qw(:common :http :remotehost); use Apache::lonnet; use LONCAPA::loncgi; @@ -39,14 +39,25 @@ sub handler { my $r = shift; my $reqhost = $r->get_remote_host(REMOTE_NOLOOKUP); my $page = 'serverstatus'; - if ($r->uri eq '/adm/test') { - $page = 'showenv'; + if (($r->uri eq '/adm/domainstatus') || + ($r->uri eq '/adm/test')) { if (&LONCAPA::loncgi::check_cookie_and_load_env($r)) { - if (&LONCAPA::loncgi::can_view($page)) { - return OK; - } elsif (&LONCAPA::loncgi::check_ipbased_access($page,$reqhost)) { + if ($r->uri eq '/adm/domainstatus') { return OK; + } elsif ($r->uri eq '/adm/test') { + $page = 'showenv'; + if (&LONCAPA::loncgi::can_view($page)) { + return OK; + } elsif (&LONCAPA::loncgi::check_ipbased_access($page,$reqhost)) { + return OK; + } else { + $Apache::lonnet::env{'user.error.msg'} = + $r->uri.":bre:1:1:Access Denied"; + return HTTP_NOT_ACCEPTABLE; + } } + } else { + return FORBIDDEN; } } elsif ($r->uri ne '/server-status') { $page = 'lonstatus';