Lines 146-152
Link Here
|
146 |
|
146 |
|
147 |
if (eval {local $SIG{__DIE__};require Socket6;} && |
147 |
if (eval {local $SIG{__DIE__};require Socket6;} && |
148 |
eval {local $SIG{__DIE__};require IO::Socket::INET6; IO::Socket::INET6->VERSION("1.26");}) { |
148 |
eval {local $SIG{__DIE__};require IO::Socket::INET6; IO::Socket::INET6->VERSION("1.26");}) { |
149 |
Socket6->import(qw(pack_sockaddr_in6 inet_pton inet_ntop unpack_sockaddr_in6 getaddrinfo)); |
149 |
Socket6->import(qw(inet_pton inet_ntop getaddrinfo)); |
150 |
$ipv6_addr_len = length(pack_sockaddr_in6(161, inet_pton(AF_INET6(), "::1"))); |
150 |
$ipv6_addr_len = length(pack_sockaddr_in6(161, inet_pton(AF_INET6(), "::1"))); |
151 |
$SNMP_Session::ipv6available = 1; |
151 |
$SNMP_Session::ipv6available = 1; |
152 |
} |
152 |
} |
Lines 549-555
Link Here
|
549 |
# complaining about AF_INET6 when Socket6 is not available |
549 |
# complaining about AF_INET6 when Socket6 is not available |
550 |
|
550 |
|
551 |
if( (defined $ipv6_addr_len) && (length $addr == $ipv6_addr_len)) { |
551 |
if( (defined $ipv6_addr_len) && (length $addr == $ipv6_addr_len)) { |
552 |
($port,$addrunpack) = unpack_sockaddr_in6 ($addr); |
552 |
($port,$addrunpack) = Socket6::unpack_sockaddr_in6 ($addr); |
553 |
$addrstr = inet_ntop (AF_INET6(), $addrunpack); |
553 |
$addrstr = inet_ntop (AF_INET6(), $addrunpack); |
554 |
} else { |
554 |
} else { |
555 |
($port,$addrunpack) = unpack_sockaddr_in ($addr); |
555 |
($port,$addrunpack) = unpack_sockaddr_in ($addr); |
Lines 605-611
Link Here
|
605 |
BEGIN { |
605 |
BEGIN { |
606 |
if($SNMP_Session::ipv6available) { |
606 |
if($SNMP_Session::ipv6available) { |
607 |
import IO::Socket::INET6; |
607 |
import IO::Socket::INET6; |
608 |
Socket6->import(qw(pack_sockaddr_in6 inet_pton inet_ntop unpack_sockaddr_in6 getaddrinfo)); |
608 |
Socket6->import(qw(inet_pton inet_ntop getaddrinfo)); |
609 |
} |
609 |
} |
610 |
} |
610 |
} |
611 |
|
611 |
|
Lines 825-832
Link Here
|
825 |
($p2,$a2) = unpack_sockaddr_in ($sa2); |
825 |
($p2,$a2) = unpack_sockaddr_in ($sa2); |
826 |
} elsif($this->{'sockfamily'} == AF_INET6()) { |
826 |
} elsif($this->{'sockfamily'} == AF_INET6()) { |
827 |
# IPv6 addresses |
827 |
# IPv6 addresses |
828 |
($p1,$a1) = unpack_sockaddr_in6 ($sa1); |
828 |
($p1,$a1) = Socket6::unpack_sockaddr_in6 ($sa1); |
829 |
($p2,$a2) = unpack_sockaddr_in6 ($sa2); |
829 |
($p2,$a2) = Socket6::unpack_sockaddr_in6 ($sa2); |
830 |
} else { |
830 |
} else { |
831 |
return 0; |
831 |
return 0; |
832 |
} |
832 |
} |
Lines 899-905
Link Here
|
899 |
return undef unless $remote_addr; |
899 |
return undef unless $remote_addr; |
900 |
|
900 |
|
901 |
if( (defined $ipv6_addr_len) && (length $remote_addr == $ipv6_addr_len)) { |
901 |
if( (defined $ipv6_addr_len) && (length $remote_addr == $ipv6_addr_len)) { |
902 |
($port,$iaddr) = unpack_sockaddr_in6($remote_addr); |
902 |
($port,$iaddr) = Socket6::unpack_sockaddr_in6($remote_addr); |
903 |
} else { |
903 |
} else { |
904 |
($port,$iaddr) = unpack_sockaddr_in($remote_addr); |
904 |
($port,$iaddr) = unpack_sockaddr_in($remote_addr); |
905 |
} |
905 |
} |
Lines 948-954
Link Here
|
948 |
return undef unless $remote_addr; |
948 |
return undef unless $remote_addr; |
949 |
|
949 |
|
950 |
if( (defined $ipv6_addr_len) && (length $remote_addr == $ipv6_addr_len)) { |
950 |
if( (defined $ipv6_addr_len) && (length $remote_addr == $ipv6_addr_len)) { |
951 |
($port,$iaddr) = unpack_sockaddr_in6($remote_addr); |
951 |
($port,$iaddr) = Socket6::unpack_sockaddr_in6($remote_addr); |
952 |
} else { |
952 |
} else { |
953 |
($port,$iaddr) = unpack_sockaddr_in($remote_addr); |
953 |
($port,$iaddr) = unpack_sockaddr_in($remote_addr); |
954 |
} |
954 |
} |