home *** CD-ROM | disk | FTP | other *** search
- # NOTE: Derived from blib/lib/Net/SSLeay.pm.
- # Changes made here will be lost when autosplit is run again.
- # See AutoSplit.pm.
- package Net::SSLeay;
-
- #line 1449 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/open_tcp_connection.al)"
- sub open_tcp_connection {
- my ($dest_serv, $port) = @_;
- my ($errs);
-
- $port = getservbyname($port, 'tcp') unless $port =~ /^\d+$/;
- my $dest_serv_ip = gethostbyname($dest_serv);
- unless (defined($dest_serv_ip)) {
- $errs = "$0 $$: open_tcp_connection: destination host not found:"
- . " `$dest_serv' (port $port) ($!)\n";
- warn $errs if $trace;
- return wantarray ? (0, $errs) : 0;
- }
- my $sin = sockaddr_in($port, $dest_serv_ip);
-
- warn "Opening connection to $dest_serv:$port (" .
- inet_ntoa($dest_serv_ip) . ")" if $trace>2;
-
- my $proto = getprotobyname('tcp');
- if (socket (SSLCAT_S, &PF_INET(), &SOCK_STREAM(), $proto)) {
- warn "next connect" if $trace>3;
- if (CORE::connect (SSLCAT_S, $sin)) {
- my $old_out = select (SSLCAT_S); $| = 1; select ($old_out);
- warn "connected to $dest_serv, $port" if $trace>3;
- return wantarray ? (1, undef) : 1; # Success
- }
- }
- $errs = "$0 $$: open_tcp_connection: failed `$dest_serv', $port ($!)\n";
- warn $errs if $trace;
- close SSLCAT_S;
- return wantarray ? (0, $errs) : 0; # Fail
- }
-
- # end of Net::SSLeay::open_tcp_connection
- 1;
-