Net-SNMP
view release on metacpan or search on metacpan
},
requires => {
perl => '5.006',
Carp => 0,
Errno => 0,
Exporter => 0,
IO::Socket => 0,
Math::BigInt => 0,
},
recommends => {
Crypt::DES => '2.03', # SNMPv3
Digest::MD5 => '2.11', # SNMPv3
Digest::SHA1 => '1.02', # SNMPv3
Digest::HMAC => '1.00', # SNMPv3
Crypt::Rijndael => '1.02', # SNMPv3 - AES Cipher Algorithm
Socket6 => '0.23', # UDP/IPv6 or TCP/IPv6 Transport Domain
},
meta_merge => {
resources => {
bugtracker =>
'http://rt.cpan.org/Public/Dist/Display.html?Name=Net-SNMP',
"Can't call method 'send_pdu' on an undefined value" error when the
module is loaded using a quoted eval statement.
RELEASE 4.0.0 NOV-09-2001
- The module has been completely redesigned to add support for SNMPv3
and to follow the SNMP Management Framework defined by RFC 2571.
- Perl version 5.6.0 or greater is now required to use the module.
- Updated the method calls to expect the same argument syntax regardless
of whether they are invoked by "blocking" or "non-blocking" objects.
- The non-core modules Crypt::DES, Digest::MD5, Digest::SHA1, and
Digest::HMAC are now required to support SNMPv3.
- Added the ability to specify the local address and port number used by
each object.
RELEASE 3.65 SEP-09-2001
- Corrected an error in the Net::SNMP::FSM module that would cause all
response messages to be dropped in "non-blocking" mode if there is
a recv() error.
- Updated the logic in the "blocking" response handling method such
Net::SNMP::Transport::IPv6:
file: lib/Net/SNMP/Transport/IPv6.pm
version: v1.0.0
Net::SNMP::Transport::IPv6::TCP:
file: lib/Net/SNMP/Transport/IPv6/TCP.pm
version: v3.0.0
Net::SNMP::Transport::IPv6::UDP:
file: lib/Net/SNMP/Transport/IPv6/UDP.pm
version: v3.0.0
recommends:
Crypt::DES: 2.03
Crypt::Rijndael: 1.02
Digest::HMAC: 1.00
Digest::MD5: 2.11
Digest::SHA1: 1.02
Socket6: 0.23
requires:
Carp: 0
Errno: 0
Exporter: 0
IO::Socket: 0
Makefile.PL view on Meta::CPAN
DISTNAME => 'Net-SNMP',
VERSION_FROM => 'lib/Net/SNMP.pm',
EXE_FILES => [ 'snmpkey', ],
PL_FILES => { 'snmpkey.PL' => 'snmpkey', },
PREREQ_PM => {
Carp => 0,
Errno => 0,
Exporter => 0,
IO::Socket => 0,
Math::BigInt => 0,
Crypt::DES => '2.03', # SNMPv3
Digest::MD5 => '2.11', # SNMPv3
Digest::SHA1 => '1.02', # SNMPv3
Digest::HMAC => '1.00', # SNMPv3
},
dist => {
CI => 'ci -u -sRel -m\"Changes for $(VERSION)\"',
RCS_LABEL => 'rcs -N$(VERSION_SYM): -q',
COMPRESS => 'gzip --best',
SUFFIX => 'gz',
},
c. Copy or move the entire directory structure (including
files) located under the lib/Net directory in the
distribution into a directory named Net in a Perl library
directory.
REQUIREMENTS
Net::SNMP uses syntax that is not supported in versions of Perl
earlier than v5.6.0.
The non-core modules Crypt::DES, Digest::MD5, Digest::SHA1, and
Digest::HMAC are needed to support SNMPv3.
In order to support the AES Cipher Algorithm as a SNMPv3 privacy
protocol, the non-core module Crypt::Rijndael is needed.
To use UDP/IPv6 or TCP/IPv6 as a Transport Domain, the non-core
module Socket6 is needed.
DOCUMENTATION
lib/Net/SNMP.pm view on Meta::CPAN
=over
=item *
The Net::SNMP module uses syntax that is not supported in versions of Perl
earlier than v5.6.0.
=item *
The non-core modules F<Crypt::DES>, F<Digest::MD5>, F<Digest::SHA1>, and
F<Digest::HMAC> are required to support SNMPv3.
=item *
In order to support the AES Cipher Algorithm as a SNMPv3 privacy protocol, the
non-core module F<Crypt::Rijndael> is needed.
=item *
To use UDP/IPv6 or TCP/IPv6 as a Transport Domain, the non-core module
lib/Net/SNMP/Security/USM.pm view on Meta::CPAN
# ============================================================================
use strict;
use Net::SNMP::Security qw( :ALL );
use Net::SNMP::Message qw(
:msgFlags asn1_itoa OCTET_STRING SEQUENCE INTEGER SNMP_VERSION_3 TRUE FALSE
);
use Crypt::DES();
use Digest::MD5();
use Digest::SHA1();
use Digest::HMAC();
## Version of the Net::SNMP::Security::USM module
our $VERSION = v4.0.1;
## Handle importing/exporting of symbols
lib/Net/SNMP/Security/USM.pm view on Meta::CPAN
sub _priv_data_init_des
{
my ($this) = @_;
if (!defined $this->{_priv_key}) {
return $this->_error('The required privKey is not defined');
}
# Create the DES object
$this->{_priv_data}->{des} =
Crypt::DES->new(substr $this->{_priv_key}, 0, 8);
# Extract the pre-IV
$this->{_priv_data}->{pre_iv} = substr $this->{_priv_key}, 8, 8;
# Initialize the salt
$this->{_priv_data}->{salt} = int rand ~0;
return TRUE;
}
lib/Net/SNMP/Security/USM.pm view on Meta::CPAN
{
my ($this) = @_;
if (!defined $this->{_priv_key}) {
return $this->_error('The required privKey is not defined');
}
# Create the 3 DES objects
$this->{_priv_data}->{des1} =
Crypt::DES->new(substr $this->{_priv_key}, 0, 8);
$this->{_priv_data}->{des2} =
Crypt::DES->new(substr $this->{_priv_key}, 8, 8);
$this->{_priv_data}->{des3} =
Crypt::DES->new(substr $this->{_priv_key}, 16, 8);
# Extract the pre-IV
$this->{_priv_data}->{pre_iv} = substr $this->{_priv_key}, 24, 8;
# Initialize the salt
$this->{_priv_data}->{salt} = int rand ~0;
# Assign a hash algorithm to "bit spread" the salt
if ($this->{_auth_protocol} eq AUTH_PROTOCOL_HMACMD5) {
( run in 0.290 second using v1.01-cache-2.11-cpan-9a3d99fc6dc )