Net-Connection
view release on metacpan or search on metacpan
lib/Net/Connection.pm view on Meta::CPAN
){
# process foreign_host
if (
( $self->{'foreign_host'} =~ /[A-Za-z]/ ) &&
( $self->{'foreign_host'} !~ /\:/ )
){
# appears to be a hostname already
$self->{'foreign_ptr'}=$self->{'foreign_host'};
}else{
# attempt to resolve it
eval{
my $answer=$dns->search( $self->{'foreign_host'} );
if ( defined( $answer->{answer}[0] ) &&
( ref( $answer->{answer}[0] ) eq 'Net::DNS::RR::PTR' )
){
$self->{'foreign_ptr'}=lc($answer->{answer}[0]->ptrdname);
}
}
}
# process local_host
if (
( $self->{'local_host'} =~ /[A-Za-z]/ ) &&
( $self->{'local_host'} !~ /\:/ )
){
# appears to be a hostname already
$self->{'local_ptr'}=$self->{'local_host'};
}else{
# attempt to resolve it
eval{
my $answer=$dns->search( $self->{'local_host'} );
if ( defined( $answer->{answer}[0] ) &&
( ref( $answer->{answer}[0] ) eq 'Net::DNS::RR::PTR' )
){
$self->{'local_ptr'}=lc($answer->{answer}[0]->ptrdname);
}
}
}
}else{
# We are not doing auto PTR resolving...
# just set them if it appears to be a hostname
if (
( $self->{'foreign_host'} =~ /[A-Za-z]/ ) &&
( $self->{'foreign_host'} !~ /\:/ )
){
$self->{'foreign_ptr'}=$self->{'foreign_host'};
}
if (
( $self->{'local_host'} =~ /[A-Za-z]/ ) &&
( $self->{'local_host'} !~ /\:/ )
){
$self->{'local_ptr'}=$self->{'local_host'};
}
}
# resolve the UID/username if asked
if (
$args{'uid_resolve'} &&
defined( $self->{'uid'} )
){
eval{
my @pwline=getpwuid( $self->{'uid'} );
if ( defined( $pwline[0] ) ){
$self->{'username'}=$pwline[0];
}
}
}elsif (
$args{'uid_resolve'} &&
( ! defined( $self->{'uid'} ) )
){
eval{
my @pwline=getpwnam( $self->{'username'} );
if ( defined( $pwline[2] ) ){
$self->{'uid'}=$pwline[2];
}
}
}
return $self;
}
=head2 foreign_host
Returns the foreign host.
my $f_host=$conn->foreign_host;
=cut
sub foreign_host{
return $_[0]->{'foreign_host'};
}
=head2 foreign_port
This returns the foreign port.
my $f_port=$conn->foreign_port;
=cut
sub foreign_port{
return $_[0]->{'foreign_port'};
}
=head2 foreign_port_name
This returns the foreign port name.
This may potentially return undef if one is
not set/unknown.
my $f_port=$conn->foreign_port;
=cut
sub foreign_port_name{
return $_[0]->{'foreign_port_name'};
}
=head2 foreign_ptr
( run in 0.424 second using v1.01-cache-2.11-cpan-39bf76dae61 )