Diff for /loncom/lonnet/perl/lonnet.pm between versions 1.75 and 1.76

version 1.75, 2000/12/02 12:41:48 version 1.76, 2000/12/06 19:58:31
Line 45 Line 45
 # EXT(name)          : value of a variable  # EXT(name)          : value of a variable
 # symblist(map,hash) : Updates symbolic storage links  # symblist(map,hash) : Updates symbolic storage links
 # symbread([filename]) : returns the data handle (filename optional)  # symbread([filename]) : returns the data handle (filename optional)
 # rndseed()          : returns a random seed    # rndseed()          : returns a random seed 
   # receipt()          : returns a receipt to be given out to users 
 # getfile(filename)  : returns the contents of filename, or a -1 if it can't  # getfile(filename)  : returns the contents of filename, or a -1 if it can't
 #                      be found, replicates and subscribes to the file  #                      be found, replicates and subscribes to the file
 # filelocation(dir,file) : returns a farily clean absolute reference to file   # filelocation(dir,file) : returns a farily clean absolute reference to file 
Line 89  use Apache::File; Line 90  use Apache::File;
 use LWP::UserAgent();  use LWP::UserAgent();
 use HTTP::Headers;  use HTTP::Headers;
 use vars   use vars 
 qw(%perlvar %hostname %homecache %spareid %hostdom %libserv %pr %prp %fe %fd $readit %metacache);  qw(%perlvar %hostname %homecache %spareid %hostdom %libserv %pr %prp %fe %fd $readit %metacache $unique);
 use IO::Socket;  use IO::Socket;
 use GDBM_File;  use GDBM_File;
 use Apache::Constants qw(:common :http);  use Apache::Constants qw(:common :http);
Line 383  sub idget { Line 384  sub idget {
           $idlist=~tr/A-Z/a-z/;             $idlist=~tr/A-Z/a-z/; 
   my $reply=&reply("idget:$udom:".$idlist,$tryserver);    my $reply=&reply("idget:$udom:".$idlist,$tryserver);
           my @answer=();            my @answer=();
           if ($reply ne 'con_lost') {            if (($reply ne 'con_lost') && ($reply!~/^error\:/)) {
       @answer=split(/\&/,$reply);        @answer=split(/\&/,$reply);
           }                    ;            }                    ;
           my $i;            my $i;
Line 1632  sub rndseed { Line 1633  sub rndseed {
                .$symbchck);                 .$symbchck);
 }  }
   
   sub ireceipt {
       my ($funame,$fudom,$fucourseid,$fusymb)=@_;
       my $cuname=unpack("%32C*",$funame);
       my $cudom=unpack("%32C*",$fudom);
       my $cucourseid=unpack("%32C*",$fucourseid);
       my $cusymb=unpack("%32C*",$fusymb);
       my $cunique=unpack("%32C*",$unique);
       return unpack("%32C*",$perlvar{'lonHostID'}).'-'.
              ($cunique%$cuname+
               $cunique%$cudom+
               $cusymb%$cuname+
               $cusymb%$cudom+
               $cucourseid%$cuname+
               $cucourseid%$cudom);
   }
   
   sub receipt {
       return &ireceipt($ENV{'user.name'},$ENV{'user.domain'},
                        $ENV{'request.course.id'},&symbread());
   }
     
 # ------------------------------------------------------------ Serves up a file  # ------------------------------------------------------------ Serves up a file
 # returns either the contents of the file or a -1  # returns either the contents of the file or a -1
 sub getfile {  sub getfile {
Line 1778  if ($readit ne 'done') { Line 1800  if ($readit ne 'done') {
     }      }
 }  }
   
   # --------------------------------------------------- Get CPU data as unique ID
   {
      my @contents;
      {
       my $fh=Apache::File->new('/proc/cpuinfo');
       @contents=<$fh>;
      }
      $unique='';
      map {
          my ($name,$value)=split(/\s*\:\s*/,$_);
          if (($name eq 'vendor_id') || ($name=~/^model/) ||
              ($name=~/^cpu/) || ($name eq 'stepping')) {
      $unique.=$value;
          } 
      } @contents;
      $unique=~s/\W//g;
   }
   
 %metacache=();  %metacache=();
   
 $readit='done';  $readit='done';

Removed from v.1.75  
changed lines
  Added in v.1.76


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