--- loncom/lonnet/perl/lonnet.pm 2013/02/02 00:22:47 1.1210 +++ loncom/lonnet/perl/lonnet.pm 2013/02/08 16:07:43 1.1214 @@ -1,7 +1,7 @@ # The LearningOnline Network # TCP networking package # -# $Id: lonnet.pm,v 1.1210 2013/02/02 00:22:47 raeburn Exp $ +# $Id: lonnet.pm,v 1.1214 2013/02/08 16:07:43 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -78,7 +78,7 @@ use Image::Magick; use Encode; -use vars qw(%perlvar %spareid %pr %prp $memcache %packagetab $tmpdir +use vars qw(%perlvar %spareid %pr %prp $memcache %packagetab $tmpdir $apache $_64bit %env %protocol %loncaparevs %serverhomeIDs %needsrelease %managerstab); @@ -634,6 +634,13 @@ sub check_for_valid_session { || !defined($disk_env{'user.domain'})) { return undef; } + if (($r->user() eq '') && ($apache >= 2.4)) { + if ($disk_env{'user.domain'} eq $r->dir_config('lonDefDomain')) { + $r->user($disk_env{'user.name'}); + } else { + $r->user($disk_env{'user.name'}.':'.$disk_env{'user.domain'}); + } + } return $handle; } @@ -11602,7 +11609,7 @@ sub get_dns { } # ------------------------------------------------------Get DNS checksums file -sub write_dns_checksums_tab { +sub parse_dns_checksums_tab { my ($lines,$hashref) = @_; my $machine_dom = &Apache::lonnet::host_domain($perlvar{'lonHostID'}); my $loncaparev = &get_server_loncaparev($machine_dom); @@ -11648,8 +11655,8 @@ sub write_dns_checksums_tab { sub fetch_dns_checksums { my %checksums; - &get_dns('/adm/dns/checksums',\&write_dns_checksums_tab,1,1, - \%checksums); + &get_dns('/adm/dns/checksums',\&parse_dns_checksums_tab,1,1, + \%checksums); return \%checksums; } @@ -12190,6 +12197,17 @@ $readit=1; if ($test != 0) { $_64bit=1; } else { $_64bit=0; } &logthis(" Detected 64bit platform ($_64bit)"); } + + { + eval { + ($apache) = + (Apache2::ServerUtil::get_server_version() =~ m{Apache/(\d+\.\d+)}); + }; + if ($@) { + $apache = 1.3; + } + } + } }