Diff for /loncom/Attic/lchtmldir between versions 1.11 and 1.13

version 1.11, 2004/10/20 09:30:57 version 1.13, 2005/01/25 11:39:52
Line 69 Line 69
 use strict;   use strict; 
 use Fcntl qw(:mode);  use Fcntl qw(:mode);
 use DirHandle;  use DirHandle;
   use POSIX;
   
 $ENV{'PATH'} = '/bin:/usr/bin:/usr/local/sbin:/home/httpd/perl';  $ENV{'PATH'} = '/bin:/usr/bin:/usr/local/sbin:/home/httpd/perl';
 delete @ENV{qw{IFS CDPATH ENV BASH_ENV}};  delete @ENV{qw{IFS CDPATH ENV BASH_ENV}};
   
 my $DEBUG = 0;                         # .nonzero -> Debug printing enabled.  my $DEBUG = 1;                         # .nonzero -> Debug printing enabled.
 my $path_sep = "/"; # Unix like operating systems.  my $path_sep = "/"; # Unix like operating systems.
   
   
Line 214  END Line 214  END
     close OUT;      close OUT;
     }      }
   
 &System("/bin/chmod  02775  $fulldir");  &System("/bin/chmod  02770  $fulldir");
 &System("/bin/chmod  0775  $fulldir"."/index.html");  &System("/bin/chmod  0770  $fulldir"."/index.html");
   
   
 # Based on the authentiation mode, set the ownership of the directory.  # Based on the authentiation mode, set the ownership of the directory.
   
 if($authentication eq "unix:") { # Unix mode authentication...  if($authentication eq "unix:") { # Unix mode authentication...
     &System("/bin/chown -R   $safeuser".":".$safeuser." ".$fulldir);      &System("/bin/chown -R   $safeuser:www"." ".$fulldir);
     &JoinGroup($safeuser);      &JoinGroup($safeuser);
 } else {  } else {
     # Internal, Kerberos, and Local authentication are for users      # Internal, Kerberos, and Local authentication are for users
Line 237  if($authentication eq "unix:") { # Unix Line 237  if($authentication eq "unix:") { # Unix
  #  user's home directory that can reset ownerships and permissions   #  user's home directory that can reset ownerships and permissions
  #  back the way the used to be.   #  back the way the used to be.
   
  &write_restore_script($homedir);   # This can take long enough for lond to time out, so we'll do it
    # in a separate process that we'll not wait for.
  &System("/bin/chown -R root:root ".$homedir);   #
    my $fpid = fork;
    if($fpid) {
       &DisableRoot;
       exit 0;
    } else {
       print "Forked\n";
       POSIX::setsid(); # Disassociate from parent.
       print "Separate session\n";
       &write_restore_script($homedir);
       print "Restore script written\n";
       &System("/bin/chown -R root:root ".$homedir);
       &System("/bin/chown -R www:www  ".$fulldir);
       print "Exiting\n";
       exit 0;
    }
       } else {
    &System("/bin/chown -R www:www  ".$fulldir);
     }      }
     &System("/bin/chown -R www:www  ".$fulldir);  
 }  }
 &DisableRoot;  &DisableRoot;
   

Removed from v.1.11  
changed lines
  Added in v.1.13


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