version 1.27, 2004/03/02 11:14:38
|
version 1.28, 2004/03/02 14:57:40
|
Line 325 sub Readable {
|
Line 325 sub Readable {
|
$self->Transition("ChallengeReceived"); |
$self->Transition("ChallengeReceived"); |
$self->{TimeoutRemaining} = $self->{TimeoutValue}; |
$self->{TimeoutRemaining} = $self->{TimeoutValue}; |
return 0; |
return 0; |
} elsif ($self->{State} eq "ChallengeReplied") { |
} elsif ($self->{State} eq "ChallengeReplied") { |
if($self->{TransactionReply} ne "ok\n") { |
if($self->{TransactionReply} ne "ok\n") { |
$self->Transition("Disconnected"); |
$self->Transition("Disconnected"); |
$socket->close(); |
$socket->close(); |
return -1; |
return -1; |
} |
} |
$self->Transition("RequestingVersion"); |
$self->Transition("RequestingVersion"); |
$self->{InformReadable} = 0; |
$self->{InformReadable} = 0; |
$self->{InformWritable} = 1; |
$self->{InformWritable} = 1; |
$self->{TransactionRequest} = "version\n"; |
$self->{TransactionRequest} = "version\n"; |
return 0; |
return 0; |
} elsif ($self->{State} eq "ReadingVersionString") { |
} elsif ($self->{State} eq "ReadingVersionString") { |
$self->{LondVersion} = chomp($self->{TransactionReply}); |
$self->{LondVersion} = chomp($self->{TransactionReply}); |
$self->Transition("SetHost"); |
$self->Transition("SetHost"); |
$self->{InformReadable} = 0; |
$self->{InformReadable} = 0; |
$self->{InformWritable} = 1; |
$self->{InformWritable} = 1; |
my $peer = $self->{LoncapaHim}; |
my $peer = $self->{LoncapaHim}; |
$self->{TransactionRequest}= "sethost:$peer\n"; |
$self->{TransactionRequest}= "sethost:$peer\n"; |
return 0; |
return 0; |
} elsif ($self->{State} eq "HostSet") { # should be ok. |
} elsif ($self->{State} eq "HostSet") { # should be ok. |
if($self->{TransactionReply} ne "ok\n") { |
if($self->{TransactionReply} ne "ok\n") { |
$self->Transition("Disconnected"); |
$self->Transition("Disconnected"); |
$socket->close(); |
$socket->close(); |
return -1; |
return -1; |
} |
} |
$self->Transition("RequestingKey"); |
$self->Transition("RequestingKey"); |
$self->{InformReadable} = 0; |
$self->{InformReadable} = 0; |
$self->{InformWritable} = 1; |
$self->{InformWritable} = 1; |
$self->{TransactionRequest} = "ekey\n"; |
$self->{TransactionRequest} = "ekey\n"; |
return 0; |
return 0; |
} elsif ($self->{State} eq "ReceivingKey") { |
} elsif ($self->{State} eq "ReceivingKey") { |
my $buildkey = $self->{TransactionReply}; |
my $buildkey = $self->{TransactionReply}; |
my $key = $self->{LoncapaHim}.$perlvar{'lonHostID'}; |
my $key = $self->{LoncapaHim}.$perlvar{'lonHostID'}; |