Net-SNMP

 view release on metacpan or  search on metacpan

Build.PL  view on Meta::CPAN

   },
   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',

Changes  view on Meta::CPAN

  "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

META.yml  view on Meta::CPAN

  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',
   },

README  view on Meta::CPAN

        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 )