version 1.31, 2004/06/17 09:26:09
|
version 1.34, 2004/09/14 11:46:29
|
Line 42 use LONCAPA::lonssl;
|
Line 42 use LONCAPA::lonssl;
|
|
|
|
|
|
|
my $DebugLevel=11; |
my $DebugLevel=0; |
my %hostshash; |
my %hostshash; |
my %perlvar; |
my %perlvar; |
my $LocalDns = ""; # Need not be defined for managers. |
my $LocalDns = ""; # Need not be defined for managers. |
Line 153 Dump the internal state of the object: F
|
Line 153 Dump the internal state of the object: F
|
|
|
sub Dump { |
sub Dump { |
my $self = shift; |
my $self = shift; |
|
my $level = shift; |
|
|
|
if ($level <= $DebugLevel) { |
|
return; |
|
} |
|
|
my $key; |
my $key; |
my $value; |
my $value; |
print STDERR "Dumping LondConnectionObject:\n"; |
print STDERR "Dumping LondConnectionObject:\n"; |
Line 253 sub new {
|
Line 259 sub new {
|
return undef; # Inidicates the socket could not be made. |
return undef; # Inidicates the socket could not be made. |
} |
} |
my $socket = $self->{Socket}; # For local use only. |
my $socket = $self->{Socket}; # For local use only. |
# If we are local, we'll first try local auth mode, otherwise, we'll try the |
# If we are local, we'll first try local auth mode, otherwise, we'll try |
# ssl auth mode: |
# the ssl auth mode: |
|
|
Debug(8, "Connecting to $DnsName I am $LocalDns"); |
Debug(8, "Connecting to $DnsName I am $LocalDns"); |
my $key; |
my $key; |
Line 284 sub new {
|
Line 290 sub new {
|
return undef; |
return undef; |
} |
} |
|
|
} |
} |
else { |
else { |
$self->{AuthenticationMode} = "ssl"; |
# Remote peer: I'd like to do ssl, but if my host key or certificates |
$self->{TransactionRequest} = "init:ssl\n"; |
# are not all installed, my only choice is insecure, if that's |
|
# allowed: |
|
|
|
my ($ca, $cert) = lonssl::CertificateFile; |
|
my $sslkeyfile = lonssl::KeyFile; |
|
|
|
if((defined $ca) && (defined $cert) && (defined $sslkeyfile)) { |
|
|
|
$self->{AuthenticationMode} = "ssl"; |
|
$self->{TransactionRequest} = "init:ssl\n"; |
|
} else { |
|
if($InsecureOk) { # Allowed to do insecure: |
|
$self->{AuthenticationMode} = "insecure"; |
|
$self->{TransactionRequest} = "init\n"; |
|
} |
|
else { # Not allowed to do insecure... |
|
$socket->close; |
|
return undef; |
|
} |
|
} |
} |
} |
|
|
# |
# |
Line 315 sub new {
|
Line 340 sub new {
|
# return the object : |
# return the object : |
|
|
Debug(9, "Initial object state: "); |
Debug(9, "Initial object state: "); |
$self->Dump(); |
$self->Dump(9); |
|
|
return $self; |
return $self; |
} |
} |
Line 527 sub Readable {
|
Line 552 sub Readable {
|
my $answer = $self->{TransactionReply}; |
my $answer = $self->{TransactionReply}; |
if($answer =~ /^enc\:/) { |
if($answer =~ /^enc\:/) { |
$answer = $self->Decrypt($answer); |
$answer = $self->Decrypt($answer); |
$self->{TransactionReply} = $answer; |
$self->{TransactionReply} = "$answer\n"; |
} |
} |
|
|
# finish the transaction |
# finish the transaction |
Line 925 sub Decrypt {
|
Line 950 sub Decrypt {
|
# $length tells us the actual length of the decrypted string: |
# $length tells us the actual length of the decrypted string: |
|
|
$decrypted = substr($decrypted, 0, $length); |
$decrypted = substr($decrypted, 0, $length); |
|
Debug(9, "Decrypted $EncryptedString to $decrypted"); |
|
|
return $decrypted; |
return $decrypted; |
|
|
Line 978 sub CreateCipher {
|
Line 1004 sub CreateCipher {
|
if($cipher) { |
if($cipher) { |
$self->{Cipher} = $cipher; |
$self->{Cipher} = $cipher; |
Debug("Cipher created dumping socket: "); |
Debug("Cipher created dumping socket: "); |
$self->Dump(); |
$self->Dump(9); |
return 1; |
return 1; |
} |
} |
else { |
else { |