File:
[LON-CAPA] /
doc /
loncapafiles /
sanitycheck.piml
Revision
1.5:
download - view:
text,
annotated -
select for diffs
Sat Aug 17 18:59:48 2002 UTC (22 years, 1 month ago) by
harris41
Branches:
MAIN
CVS tags:
HEAD
BUG 649; stringently check lonDefDomain against invalid entries of
"priv", "uploaded", "adm", "raw", or "userfiles"; this process will
run whenever a filesystem upgrade is performed (and wherever else
sanitycheck.piml is invoked inside loncom/build/Makefile). The namespace
underneath DocumentRoot (currently /home/httpd/html) must be protected
for emergent LON-CAPA functionality.
<!DOCTYPE piml PUBLIC "-//TUX/DTD piml 1.0 Final//EN"
"http://lpml.sourceforge.net/DTD/piml.dtd">
<!-- sanitycheck.piml -->
<!-- Scott Harrison -->
<!-- $Id: sanitycheck.piml,v 1.5 2002/08/17 18:59:48 harris41 Exp $ -->
<!--
This file is part of the LearningOnline Network with CAPA (LON-CAPA).
LON-CAPA is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
LON-CAPA is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with LON-CAPA; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
/home/httpd/html/adm/gpl.txt
http://www.lon-capa.org/
-->
<piml>
<targetroot>/</targetroot>
<files>
<file>
<target dist='default'>/etc/httpd/conf/loncapa.conf</target>
<perlscript mode='fg'>
open IN, "<<TARGET />";
my $hbug=-1;
my $dbug=-1;
while (<IN>) {
if (/PerlSetVar\s+lonHostID\s+(\S+)/) {
my $v=$1;
$hbug=0;
$hbug=1 if $v=~/\W/;
$hbug=1 if $v=~/\_/;
}
if (/PerlSetVar\s+lonDefDomain\s+(\S+)/) {
my $v=$1;
$dbug=0;
$dbug=1 if $v=~/\W/;
$dbug=1 if $v=~/\_/;
# Avoid namespace conflicts under the web server's DocumentRoot.
my @badnames=('raw','userfiles','priv','adm','uploaded');
foreach my $bad (@badnames) {
$dbug=1 if $v eq $bad;
}
}
}
if ($hbug) {
print "**** ERROR **** <TARGET /> has invalid lonHostID\n";
}
if ($dbug) {
print "**** ERROR **** <TARGET /> has invalid lonDefDomain\n";
}
</perlscript>
</file>
<file>
<target dist='default'>/home/httpd/lonTabs/hosts.tab</target>
open IN, "<<TARGET />";
my $rbug=0;
my $dbug=0;
my $sbug=0;
my $fbug=0;
while (<IN>) {
if (/\S/) {
$rbug=1 if /\r/;
my @a=split(/\:/,$_);
$dbug=1 if $a[0]=~/\W/;
$dbug=1 if $a[0]=~/\_/;
$dbug=1 if $a[1]=~/\_/;
$dbug=1 if $a[1]=~/\W/;
$fbug=1 if (@a<5 || @a>6);
my $expr='\s.+$';
$sbug=1 if ($a[0] =~ /$expr/ ||
$a[1] =~ /$expr/ ||
$a[2] =~ /$expr/ ||
$a[3] =~ /$expr/ ||
$a[4] =~ /$expr/ )
;
}
}
close IN;
if ($rbug) {
print "**** ERROR **** <TARGET /> is DOS-formatted\n";
}
if ($dbug) {
print "**** ERROR **** <TARGET /> has invalid host id or domain id\n";
}
if ($fbug) {
print "**** ERROR **** <TARGET /> is lacking 5 or 6 columns for every row\n";
}
if ($sbug) {
print "**** ERROR **** <TARGET /> has illegal whitespace character\n";
}
</file>
<file>
<target dist='default'>/home/httpd/lonTabs/spare.tab</target>
open IN, "<<TARGET />";
my $rbug=0;
my $dbug=0;
my $sbug=0;
while (<IN>) {
if (/\S/) {
$rbug=1 if /\r/;
$dbug=1 if $_=~/\W.*\n$/;
$dbug=1 if $_=~/\_/;
$sbug=1 if /\s.+$/;
}
}
close IN;
if ($rbug) {
print "**** ERROR **** <TARGET /> is DOS-formatted\n";
}
if ($dbug) {
print "**** ERROR **** <TARGET /> has invalid host id\n";
}
if ($sbug) {
print "**** ERROR **** <TARGET /> has illegal whitespace character\n";
}
</file>
</files>
</piml>
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>