--- loncom/lond 2012/04/26 19:51:40 1.492 +++ loncom/lond 2012/07/17 14:49:39 1.494 @@ -2,7 +2,7 @@ # The LearningOnline Network # lond "LON Daemon" Server (port "LOND" 5663) # -# $Id: lond,v 1.492 2012/04/26 19:51:40 droeschl Exp $ +# $Id: lond,v 1.494 2012/07/17 14:49:39 droeschl Exp $ # # Copyright Michigan State University Board of Trustees # @@ -61,7 +61,7 @@ my $DEBUG = 0; # Non zero to ena my $status=''; my $lastlog=''; -my $VERSION='$Revision: 1.492 $'; #' stupid emacs +my $VERSION='$Revision: 1.494 $'; #' stupid emacs my $remoteVERSION; my $currenthostid="default"; my $currentdomainid; @@ -3176,6 +3176,17 @@ sub get_profile_keys { sub dump_profile_database { my ($cmd, $tail, $client) = @_; + my $res = LONCAPA::Lond::dump_profile_database($tail); + + if ($res =~ /^error:/) { + Failure($client, \$res, "$cmd:$tail"); + } else { + Reply($client, \$res, "$cmd:$tail"); + } + + return 1; + + #TODO remove my $userinput = "$cmd:$tail"; my ($udom,$uname,$namespace) = split(/:/,$tail); @@ -3254,7 +3265,7 @@ sub dump_profile_database { sub dump_with_regexp { my ($cmd, $tail, $client) = @_; - my $res = LONCAPA::Lond::dump_with_regexp($tail, $clientname, $clientversion); + my $res = LONCAPA::Lond::dump_with_regexp($tail, $clientversion); if ($res =~ /^error:/) { Failure($client, \$res, "$cmd:$tail"); @@ -3838,6 +3849,17 @@ sub put_course_id_hash_handler { # a reply is written to $client. sub dump_course_id_handler { my ($cmd, $tail, $client) = @_; + + my $res = LONCAPA::Lond::dump_course_id_handler($tail); + if ($res =~ /^error:/) { + Failure($client, \$res, "$cmd:$tail"); + } else { + Reply($client, \$res, "$cmd:$tail"); + } + + return 1; + + #TODO remove my $userinput = "$cmd:$tail"; my ($udom,$since,$description,$instcodefilter,$ownerfilter,$coursefilter, @@ -6495,10 +6517,13 @@ sub make_new_child { # # If the remote is attempting a local init... give that a try: # + logthis("remotereq: $remotereq"); (my $i, my $inittype, $clientversion) = split(/:/, $remotereq); # For LON-CAPA 2.9, the client session will have sent its LON-CAPA # version when initiating the connection. For LON-CAPA 2.8 and older, # the version is retrieved from the global %loncaparevs in lonnet.pm. + # $clientversion contains path to keyfile if $inittype eq 'local' + # it's overridden below in this case $clientversion ||= $Apache::lonnet::loncaparevs{$clientname}; # If the connection type is ssl, but I didn't get my @@ -7364,41 +7389,6 @@ sub get_usersession_config { } -# -# get_courseinfo_hash() is used to retrieve course information from the db -# file: nohist_courseids.db for a course for which the current server is *not* -# the home server. -# -# A hash of a hash will be retrieved. The outer hash contains a single key -- -# courseID -- for the course for which the data are being requested. -# The contents of the inner hash, for that single item in the outer hash -# are returned (and cached in memcache for 10 minutes). -# - -sub get_courseinfo_hash { - my ($cnum,$cdom,$home) = @_; - my %info; - eval { - local($SIG{ALRM}) = sub { die "timeout\n"; }; - local($SIG{__DIE__})='DEFAULT'; - alarm(3); - %info = &Apache::lonnet::courseiddump($cdom,'.',1,'.','.',$cnum,1,[$home],'.'); - alarm(0); - }; - if ($@) { - if ($@ eq "timeout\n") { - &logthis("WARNING courseiddump for $cnum:$cdom from $home timedout"); - } else { - &logthis("WARNING unexpected error during eval of call for courseiddump from $home"); - } - } else { - if (ref($info{$cdom.'_'.$cnum}) eq 'HASH') { - my $hashid = $cdom.':'.$cnum; - return &Apache::lonnet::do_cache_new('courseinfo',$hashid,$info{$cdom.'_'.$cnum},600); - } - } - return; -} sub distro_and_arch {