Diff for /doc/loncapafiles/sanitycheck.piml between versions 1.8 and 1.21

version 1.8, 2002/11/26 15:26:44 version 1.21, 2006/10/05 18:20:23
Line 1 Line 1
 <!DOCTYPE piml PUBLIC "-//TUX/DTD piml 1.0 Final//EN"   <!DOCTYPE piml PUBLIC "-//TUX/DTD piml 1.0 Final//EN" 
  "http://lpml.sourceforge.net/DTD/piml.dtd">   "http://lpml.sourceforge.net/DTD/piml.dtd">
 <!-- sanitycheck.piml -->  <!-- sanitycheck.piml -->
 <!-- Scott Harrison -->  
   
 <!-- $Id$ -->  <!-- $Id$ -->
   
Line 33  http://www.lon-capa.org/ Line 32  http://www.lon-capa.org/
 <targetroot>/</targetroot>  <targetroot>/</targetroot>
 <files>  <files>
 <file>  <file>
   <target dist='default'>/etc/hosts</target>
   <perlscript mode='fg'>
   unless
       (-e '<TARGET />') # Does file exist?
     {
       print("**** ERROR **** Missing <TARGET />\n");
     }
   else
     {
       my $numentries = `grep -v '^#' <TARGET /> | grep -c '[[:alpha:]]'`;
       if ($numentries == 1)
         {
           print("**** ERROR **** Malformatted <TARGET />\n");
           print("<TARGET /> typically should have at least two entries, ".
         "e.g.:\n");
    print("127.0.0.1               localhost.localdomain localhost\n");
    print("35.8.63.26              s16.lite.msu.edu s16\n");
           print("The <TARGET /> file on your machine looks like it was \n".
         "messed up due to a common bug with RedHat installations.\n".
         "(This weird bug is RedHat's fault, not LON-CAPA's.)\n");
           print("Please read the man pages about \"hosts\" and fix your\n".
         "<TARGET /> file.\n");
         }
     }
   </perlscript>
   </file>
   <file>
 <target dist='default'>/var/lib/mysql/mysql.sock</target>  <target dist='default'>/var/lib/mysql/mysql.sock</target>
 <target dist='redhat7.2 redhat7.3'>/tmp/mysql.sock</target>  
 <perlscript mode='fg'>  <perlscript mode='fg'>
 unless  unless
     (-e '<TARGET />') # Does file exist?      (-e '<TARGET />') # Does file exist?
   {    {
     print("**** ERROR **** Missing <TARGET />\n");      print("**** ERROR **** Missing <TARGET />\n");
   }    }
   <!-- Commented out by Matthew since MySQL insists on doing things its own way
 else # It exists, so look at the file metadata more closely.  else # It exists, so look at the file metadata more closely.
   {    {
     my @s = stat('<TARGET />');      my @s = stat('<TARGET />');
Line 51  else # It exists, so look at the file me Line 77  else # It exists, so look at the file me
   
     if ($uid ne $web_uid) # If file owned by someone else other than www.      if ($uid ne $web_uid) # If file owned by someone else other than www.
       {        {
  print('**** ERROR **** <TARGET /> should be owned by'.   print('**** WARNING **** <TARGET /> should be owned by'.
       ' www.'."\n".'Try these commands to make things right:'."\n".        ' www.'."\n".'Try these commands to make things right:'."\n".
       'chown www:www <TARGET />'."\n".        'chown www:www <TARGET />'."\n".
       'chmod a-rwx,u+rwx <TARGET />'."\n");        'chmod a-rwx,u+rwx <TARGET />'."\n");
Line 62  else # It exists, so look at the file me Line 88  else # It exists, so look at the file me
  my $wflag = $1;   my $wflag = $1;
  if ($wflag != 7) # Can www use this socket?  (Hope so!)   if ($wflag != 7) # Can www use this socket?  (Hope so!)
   {    {
     print('**** ERROR **** '.      print('**** WARNING **** '.
       '<TARGET /> should be user "rwx" (by'.        '<TARGET /> should be user "rwx" (by'.
       ' www).'."\n".'Try these commands to make things right:'."\n".        ' www).'."\n".'Try these commands to make things right:'."\n".
       'chown www:www <TARGET />'."\n".        'chown www:www <TARGET />'."\n".
Line 72  else # It exists, so look at the file me Line 98  else # It exists, so look at the file me
  $wflag=$1;   $wflag=$1;
  if ($wflag ne "00") # Can others use this socket?  (Hope not!)   if ($wflag ne "00") # Can others use this socket?  (Hope not!)
   {    {
     print('**** ERROR **** '.      print('**** WARNING **** '.
       '<TARGET /> should not be group or everybody accessible'.        '<TARGET /> should not be group or everybody accessible'.
       '.'."\n".'Try these commands to make things right:'."\n".        '.'."\n".'Try these commands to make things right:'."\n".
       'chown www:www <TARGET />'."\n".        'chown www:www <TARGET />'."\n".
Line 80  else # It exists, so look at the file me Line 106  else # It exists, so look at the file me
   }    }
       }        }
   }    }
    -->
 </perlscript>  </perlscript>
 </file>  </file>
 <file>  <file>
 <target dist='default'>/etc/httpd/conf/loncapa.conf</target>  <target dist='default'>/etc/httpd/conf/loncapa.conf</target>
   <target dist='sles10 suse10.1'>/etc/apache2/loncapa.conf</target>
 <perlscript mode='fg'>  <perlscript mode='fg'>
 open IN, "&lt;<TARGET />";  open IN, "&lt;<TARGET />";
 my $hbug=-1;  my $hbug=-1;
Line 123  my $dbug=0; Line 151  my $dbug=0;
 my $sbug=0;  my $sbug=0;
 my $fbug=0;  my $fbug=0;
 while (&lt;IN&gt;) {  while (&lt;IN&gt;) {
    next if (/^(\#|\s*$)/);
  if (/\S/) {   if (/\S/) {
   $rbug=1 if /\r/;    $rbug=1 if /\r/;
   my @a=split(/\:/,$_);    my @a=split(/\:/,$_);
Line 130  while (&lt;IN&gt;) { Line 159  while (&lt;IN&gt;) {
   $dbug=1 if $a[0]=~/\_/;    $dbug=1 if $a[0]=~/\_/;
   $dbug=1 if $a[1]=~/\_/;    $dbug=1 if $a[1]=~/\_/;
   $dbug=1 if $a[1]=~/\W/;    $dbug=1 if $a[1]=~/\W/;
   $fbug=1 if (@a<5 || @a>6);    $fbug=1 if (@a<4 || @a>5);
   my $expr='\s.+$';    my $expr='\s.+$';
   $sbug=1 if ($a[0] =~ /$expr/ ||    $sbug=1 if ($a[0] =~ /$expr/ ||
       $a[1] =~ /$expr/ ||        $a[1] =~ /$expr/ ||
       $a[2] =~ /$expr/ ||        $a[2] =~ /$expr/ ||
       $a[3] =~ /$expr/ ||        $a[3] =~ /$expr/ )
       $a[4] =~ /$expr/ )  
 ;  ;
  }   }
 }  }
Line 148  if ($dbug) { Line 176  if ($dbug) {
   print "**** ERROR **** <TARGET /> has invalid host id or domain id\n";    print "**** ERROR **** <TARGET /> has invalid host id or domain id\n";
 }  }
 if ($fbug) {  if ($fbug) {
   print "**** ERROR **** <TARGET /> is lacking 5 or 6 columns for every row\n";    print "**** ERROR **** <TARGET /> is lacking 4 or 5 columns for every row\n";
 }  }
 if ($sbug) {  if ($sbug) {
   print "**** ERROR **** <TARGET /> has illegal whitespace character\n";    print "**** ERROR **** <TARGET /> has illegal whitespace character\n";
Line 160  open IN, "&lt;<TARGET />"; Line 188  open IN, "&lt;<TARGET />";
 my $rbug=0;  my $rbug=0;
 my $dbug=0;  my $dbug=0;
 my $sbug=0;  my $sbug=0;
 while (&lt;IN&gt;) {  while (my $line = &lt;IN&gt;) {
  if (/\S/) {   if ($line =~ /\S/) {
   $rbug=1 if /\r/;    $rbug=1 if $line=~/\r/;
   $dbug=1 if $_=~/\W.*\n$/;    if ($line =~ /\W.*\n/) {
   $dbug=1 if $_=~/\_/;   $dbug=$line if ($line !~/\w:(?:primary|default)$/);
   $sbug=1 if /\s.+$/;    }
     $dbug=$line if $line=~/\_/;
     $sbug=1 if $line=~/\s.+$/;
  }   }
 }  }
 close IN;  close IN;
Line 173  if ($rbug) { Line 203  if ($rbug) {
   print "**** ERROR **** <TARGET /> is DOS-formatted\n";    print "**** ERROR **** <TARGET /> is DOS-formatted\n";
 }  }
 if ($dbug) {  if ($dbug) {
   print "**** ERROR **** <TARGET /> has invalid host id\n";    print "**** ERROR **** <TARGET /> has invalid host id ($dbug)\n";
 }  }
 if ($sbug) {  if ($sbug) {
   print "**** ERROR **** <TARGET /> has illegal whitespace character\n";    print "**** ERROR **** <TARGET /> has illegal whitespace character\n";

Removed from v.1.8  
changed lines
  Added in v.1.21


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>