--- loncom/lond 2004/07/23 14:10:47 1.209 +++ loncom/lond 2004/07/23 16:14:19 1.211 @@ -2,7 +2,7 @@ # The LearningOnline Network # lond "LON Daemon" Server (port "LOND" 5663) # -# $Id: lond,v 1.209 2004/07/23 14:10:47 albertel Exp $ +# $Id: lond,v 1.211 2004/07/23 16:14:19 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -56,7 +56,7 @@ my $DEBUG = 0; # Non zero to ena my $status=''; my $lastlog=''; -my $VERSION='$Revision: 1.209 $'; #' stupid emacs +my $VERSION='$Revision: 1.211 $'; #' stupid emacs my $remoteVERSION; my $currenthostid; my $currentdomainid; @@ -956,9 +956,7 @@ sub EditFile { # if the tie failed. # sub tie_domain_hash { - my ($domain, - $namespace, - $how) = @_; + my ($domain,$namespace,$how,$loghead,$logtail) = @_; # Filter out any whitespace in the domain name: @@ -971,17 +969,16 @@ sub tie_domain_hash { my $resource_file = $domain_dir."/$namespace.db"; my %hash; if(tie(%hash, 'GDBM_File', $resource_file, $how, 0640)) { - if (scalar @_) { # Need to log the operation. - my $logFh = IO::File->new(">>domain_dir/$namespace.hist"); + if (defined($loghead)) { # Need to log the operation. + my $logFh = IO::File->new(">>$domain_dir/$namespace.hist"); if($logFh) { my $timestamp = time; - my ($loghead, $logtail) = @_; print $logFh "$loghead:$timestamp:$logtail\n"; } + $logFh->close; } return \%hash; # Return the tied hash. - } - else { + } else { return undef; # Tie failed. } } @@ -1005,13 +1002,9 @@ sub tie_domain_hash { # hash to which the database is tied. It's up to the caller to untie. # undef if the has could not be tied. # -sub TieUserHash { - my ($domain, - $user, - $namespace, - $how) = @_; +sub tie_user_hash { + my ($domain,$user,$namespace,$how,$loghead,$what) = @_; - $namespace=~s/\//\_/g; # / -> _ $namespace=~s/\W//g; # whitespace eliminated. my $proname = propath($domain, $user); @@ -1023,16 +1016,15 @@ sub TieUserHash { $how, 0640)) { # If this is a namespace for which a history is kept, # make the history log entry: - if (($namespace =~/^nohist\_/) && (scalar @_ > 0)) { + if (($namespace =~/^nohist\_/) && (defined($loghead))) { my $args = scalar @_; Debug(" Opening history: $namespace $args"); my $hfh = IO::File->new(">>$proname/$namespace.hist"); if($hfh) { my $now = time; - my $loghead = shift; - my $what = shift; print $hfh "$loghead:$now:$what\n"; } + $hfh->close; } return \%hash; } else { @@ -1051,7 +1043,7 @@ sub TieUserHash { # is defined as a 'line' of text. We remove the new line # from the text line. # -sub GetRequest { +sub get_request { my $input = <$client>; chomp($input); @@ -1070,7 +1062,7 @@ sub GetRequest { # Implicit input: # cipher - This global holds the negotiated encryption key. # -sub Decipher { +sub decipher { my ($input) = @_; my $output = ''; @@ -1114,7 +1106,7 @@ sub Decipher { # - On failure, the program will die as it's a bad internal bug to try to # register a duplicate command handler. # -sub RegisterHandler { +sub register_handler { my ($request_name, $procedure, $must_encode,