--- loncom/LondConnection.pm 2004/09/21 10:51:42 1.35 +++ loncom/LondConnection.pm 2005/02/06 07:39:49 1.36 @@ -1,7 +1,7 @@ # This module defines and implements a class that represents # a connection to a lond daemon. # -# $Id: LondConnection.pm,v 1.35 2004/09/21 10:51:42 foxr Exp $ +# $Id: LondConnection.pm,v 1.36 2005/02/06 07:39:49 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -234,6 +234,9 @@ sub new { my @ConfigLine = @{$hostshash{$Hostname}}; my $DnsName = $ConfigLine[3]; # 4'th item is dns of host. Debug(5, "Connecting to ".$DnsName); + # if it is me use loopback for connection + if ($DnsName eq $LocalDns) { $DnsName="127.0.0.1"; } + Debug(8, "Connecting to $DnsName I am $LocalDns"); # Now create the object... my $self = { Host => $DnsName, LoncapaHim => $Hostname, @@ -259,16 +262,16 @@ sub new { Type => SOCK_STREAM, Proto => "tcp", Timeout => 3)) { + Debug(8, "Error? \n$@ \n$!"); return undef; # Inidicates the socket could not be made. } my $socket = $self->{Socket}; # For local use only. # If we are local, we'll first try local auth mode, otherwise, we'll try # the ssl auth mode: - Debug(8, "Connecting to $DnsName I am $LocalDns"); my $key; my $keyfile; - if ($DnsName eq $LocalDns) { + if ($DnsName eq '127.0.0.1') { $self->{AuthenticationMode} = "local"; ($key, $keyfile) = lonlocal::CreateKeyFile(); Debug(8, "Local key: $key, stored in $keyfile"); @@ -1185,7 +1188,7 @@ sub read_conf #---------------------- Subroutine read_hosts: Read a LON-CAPA hosts.tab # formatted configuration file. # -my $RequiredCount = 5; # Required item count in hosts.tab. +my $RequiredCount = 4; # Required item count in hosts.tab. my $DefaultMaxCon = 5; # Default value for maximum connections. my $DefaultIdle = 1000; # Default connection idle time in seconds. my $DefaultMinCon = 0; # Default value for minimum connections. @@ -1194,9 +1197,10 @@ sub read_hosts { my $Filename = shift; my %HostsTab; - open(CONFIG,'<'.$Filename) or die("Can't read $Filename"); + open(CONFIG,'<'.$Filename) or die("Can't read $Filename"); while (my $line = ) { - if (!($line =~ /^\s*\#/)) { + if ($line !~ /^\s*\#/) { + $line=~s/\s*$//; my @items = split(/:/, $line); if(scalar @items >= $RequiredCount) { if (scalar @items == $RequiredCount) { # Only required items: