version 1.57, 2018/08/07 17:12:09
|
version 1.59, 2018/12/10 17:34:22
|
Line 165 host the remote lond is on. This host is
|
Line 165 host the remote lond is on. This host is
|
|
|
port number the remote lond is listening on. |
port number the remote lond is listening on. |
|
|
|
=item lonid |
|
|
|
lonid of the remote lond is listening on. |
|
|
|
=item deflonid |
|
|
|
default lonhostID of the remote lond is listening on. |
|
|
=cut |
=cut |
|
|
sub new { |
sub new { |
my ($class, $DnsName, $Port, $lonid) = @_; |
my ($class, $DnsName, $Port, $lonid, $deflonid) = @_; |
|
|
if (!$ConfigRead) { |
if (!$ConfigRead) { |
ReadConfig(); |
ReadConfig(); |
$ConfigRead = 1; |
$ConfigRead = 1; |
} |
} |
&Debug(4,$class."::new( ".$DnsName.",".$Port.",".$lonid.")\n"); |
&Debug(4,$class."::new( ".$DnsName.",".$Port.",".$lonid.",".$deflonid.")\n"); |
|
|
my ($conntype,$gotconninfo,$allowinsecure); |
my ($conntype,$gotconninfo,$allowinsecure); |
if ((ref($secureconf{'connto'}) eq 'HASH') && |
if ((ref($secureconf{'connto'}) eq 'HASH') && |
Line 203 sub new {
|
Line 211 sub new {
|
# Now create the object... |
# Now create the object... |
my $self = { Host => $DnsName, |
my $self = { Host => $DnsName, |
LoncapaHim => $lonid, |
LoncapaHim => $lonid, |
|
LoncapaDefid => $deflonid, |
Port => $Port, |
Port => $Port, |
State => "Initialized", |
State => "Initialized", |
AuthenticationMode => "", |
AuthenticationMode => "", |
Line 530 sub Readable {
|
Line 539 sub Readable {
|
} |
} |
} elsif ($self->{State} eq "ReceivingKey") { |
} elsif ($self->{State} eq "ReceivingKey") { |
my $buildkey = $self->{TransactionReply}; |
my $buildkey = $self->{TransactionReply}; |
|
chomp($buildkey); |
my $key = $self->{LoncapaHim}.$perlvar{'lonHostID'}; |
my $key = $self->{LoncapaHim}.$perlvar{'lonHostID'}; |
$key=~tr/a-z/A-Z/; |
$key=~tr/a-z/A-Z/; |
$key=~tr/G-P/0-9/; |
$key=~tr/G-P/0-9/; |
Line 1056 sub ExchangeKeysViaSSL {
|
Line 1066 sub ExchangeKeysViaSSL {
|
my $self = shift; |
my $self = shift; |
my $socket = $self->{Socket}; |
my $socket = $self->{Socket}; |
my $peer = $self->{LoncapaHim}; |
my $peer = $self->{LoncapaHim}; |
|
my $peerdef = $self->{LoncapaDefid}; |
|
|
# Get our signed certificate, the certificate authority's |
# Get our signed certificate, the certificate authority's |
# certificate and our private key file. All of these |
# certificate and our private key file. All of these |
Line 1065 sub ExchangeKeysViaSSL {
|
Line 1076 sub ExchangeKeysViaSSL {
|
$SSLCertificate) = lonssl::CertificateFile(); |
$SSLCertificate) = lonssl::CertificateFile(); |
my $SSLKey = lonssl::KeyFile(); |
my $SSLKey = lonssl::KeyFile(); |
my $CRLFile; |
my $CRLFile; |
unless ($crlchecked{$peer}) { |
unless ($crlchecked{$peerdef}) { |
$CRLFile = lonssl::CRLFile(); |
$CRLFile = lonssl::CRLFile(); |
$crlchecked{$peer} = 1; |
$crlchecked{$peerdef} = 1; |
} |
} |
# Promote our connection to ssl and read the key from lond. |
# Promote our connection to ssl and read the key from lond. |
|
|
Line 1076 sub ExchangeKeysViaSSL {
|
Line 1087 sub ExchangeKeysViaSSL {
|
$SSLCertificate, |
$SSLCertificate, |
$SSLKey, |
$SSLKey, |
$peer, |
$peer, |
|
$peerdef, |
$CRLFile); |
$CRLFile); |
if(defined $SSLSocket) { |
if(defined $SSLSocket) { |
my $key = <$SSLSocket>; |
my $key = <$SSLSocket>; |