version 1.228, 2002/05/18 19:59:07
|
version 1.229, 2002/05/21 13:06:07
|
Line 481 sub authenticate {
|
Line 481 sub authenticate {
|
# ---------------------- Find the homebase for a user from domain's lib servers |
# ---------------------- Find the homebase for a user from domain's lib servers |
|
|
sub homeserver { |
sub homeserver { |
my ($uname,$udom)=@_; |
my ($uname,$udom, $cacheBadFlag)=@_; |
my $index="$uname:$udom"; |
my $index="$uname:$udom"; |
if ($homecache{$index}) { |
if ($homecache{$index}) { |
return "$homecache{$index}"; |
return "$homecache{$index}"; |
} |
} |
my $tryserver; |
my $tryserver; |
foreach $tryserver (keys %libserv) { |
foreach $tryserver (keys %libserv) { |
next if (exists($badhomecache{$index}->{$tryserver})); |
next if ($cacheBadFlag eq 'true' && |
|
exists($badhomecache{$index}->{$tryserver})); |
if ($hostdom{$tryserver} eq $udom) { |
if ($hostdom{$tryserver} eq $udom) { |
my $answer=reply("home:$udom:$uname",$tryserver); |
my $answer=reply("home:$udom:$uname",$tryserver); |
if ($answer eq 'found') { |
if ($answer eq 'found') { |
$homecache{$index}=$tryserver; |
$homecache{$index}=$tryserver; |
return $tryserver; |
return $tryserver; |
} else { |
} else { |
$badhomecache{$index}->{$tryserver}=1; |
$badhomecache{$index}->{$tryserver}=1; |
} |
} |
} else { |
} else { |
$badhomecache{$index}->{$tryserver}=1; |
$badhomecache{$index}->{$tryserver}=1; |