elie
4c39ecc84f
missing symbol error fixed
2015-10-16 17:09:16 +00:00
elie
36e57b28ea
missing module added
2015-10-14 19:09:05 +00:00
elie
11bbf5bc6f
when pretty printing indices at rfc1902.ObjectType, quote only strings
2015-10-10 19:47:54 +00:00
elie
e3e7f0d94e
fixed crash at oneliner compatibility code on EOM response
2015-10-10 19:21:11 +00:00
elie
886428097d
fix to ObjectIdentity->ObjectIdentifier attributes handover
2015-10-10 19:17:39 +00:00
elie
9feb221039
- added recursive resolution of ObjectIdentifier values at ObjectType
...
by converting it to ObjectIdentity
- a bunch of convenience shortcuts to rfc1902.ObjectIdentity added
from rfc1902.ObjectType and rfc1902.NotificationType
2015-10-07 09:27:10 +00:00
elie
04c48681c8
stray debug removed
2015-09-28 07:49:54 +00:00
elie
775551912b
fix to infinite loop at delV3User()
2015-09-28 07:48:39 +00:00
elie
d2839c633e
fix to RowStatus instantiation in case if uninitialized value is passed
2015-09-28 07:02:49 +00:00
elie
d044736ce1
missing compatibility modules revived
2015-09-27 15:46:12 +00:00
elie
120a39ce88
var-bindings passing in asyncore API aligned with others
2015-09-27 15:27:20 +00:00
elie
969475aeb6
space
2015-09-27 15:26:40 +00:00
elie
3458bbb09c
pysnmp.hlapi.asyncore._sync renamed
2015-09-27 11:32:10 +00:00
elie
5d5673dfcd
* Asyncore and asyncio-based APIs reworked to become functions.
...
* Asyncio and Twisted API moved entirely into high-level domain to
be aligned with other high-level APIs. This WILL BREAK backward
compatibility for those apps that use Twisted API.
2015-09-27 10:26:25 +00:00
elie
e7d5f9130b
* fix to wrong callback being called on SNMP engine error
...
* removed cbCtx overriding when unwrapping, that is a source of errors
2015-09-27 07:13:37 +00:00
elie
a7406b5795
* getNextVarBinds() signature changed
...
* possible fix to callback context unwrappping causing wrong callback
being called
* removed cbCtx overriding when unwrapping, that is a source of errors
2015-09-27 07:11:17 +00:00
elie
b0fd0d6dea
post-move documentation and code fixes
2015-09-21 18:35:05 +00:00
elie
a0d0d36ca6
more adjustments followed layout changes
2015-09-21 06:32:31 +00:00
elie
c8b8797cac
major revamp:
...
* oneliner API moved to pysnmp.hlapi.asyncore location
* all hlapi components now pulled from inner modules to into
pysnmp.hlapi.asyncore.
* LCD configuration moved from SNMP apps classes to be stand-alone
* var-binds MIB<->protocol representation code moved from SNMP apps
classes to be stand-alone
2015-09-20 18:40:58 +00:00
elie
e8d1acbf63
core MIBs rebuilt with pysmi
2015-09-19 21:26:45 +00:00
elie
666bc8a5eb
- Constraints assignment shortcut added to some base rfc1902 types (Integer,
...
Integer32, OctetString, Bits). That formally constitutes ASN.1 sub-typing.
- Base SNMP types documented
2015-09-19 13:46:22 +00:00
elie
0c2cc6ce87
sidebar menu rearrangement + typo fixes
2015-09-19 13:42:34 +00:00
elie
57f8ab1619
started documenting base types
2015-09-18 05:59:01 +00:00
elie
2a528e36ac
asynchronous notification originator documented + fixes here and there
2015-09-17 23:16:45 +00:00
elie
573e4d749a
async command generator documented + fixes
2015-09-17 19:55:32 +00:00
elie
1344d9030f
* documenting async command generator
...
* minor fixes to markup
2015-09-17 06:47:38 +00:00
elie
b1d6493e6b
Sphinxed
2015-09-16 20:10:22 +00:00
elie
ddc989155d
* synchronous oneliner apps redesigned to offer Python generator-based
...
API along with a more comprehensive set of accepted parameters.
* massively documented (in Sphinx, NumPy style)
2015-09-14 05:20:24 +00:00
elie
2ec6a98998
missing .isFullyResolved() recovered
2015-07-14 19:14:57 +00:00
elie
f308702c78
synchronous oneliner apps redesigned to offer Python generator-based
...
API along with more comprehensive set of accepted parameters
2015-07-06 21:30:04 +00:00
elie
51841e9cba
try original MIB name when borrowing
2015-07-06 21:24:04 +00:00
elie
eb5793084e
handle the case of ObjectIdentity initialization with ObjectIdentity instance
2015-07-06 21:14:19 +00:00
elie
7e2076a1e0
- original asynsock transport and AsyncsockDispatcher renamed into
...
asyncore and AsyncoreDispatcher respectively to provide better hint
to fellow devs on the underlying transport being used
- backward compatibility preserved through dummy asynsock symbols
2015-07-05 14:22:26 +00:00
elie
acbac40624
* default /usr/share/mibs MIB source added
...
* compiler.addMibCompiler() now supports ifAvailable and ifNotAdded flags
* rfc1902.ObjectIdentity() now always tries to instantiate and attach
MIB compiler to snmpEngine (if not done yet), also .addMibCompiler()
renamed to .addAsn1MibSource() to signify the fact that MIB compiler
is attached behind the scene
2015-07-04 16:30:27 +00:00
elie
252a909e8d
enough changes for version bump - 4.3.0
2015-06-29 21:07:14 +00:00
elie
1c69ba85d0
provide public attributes even if pysmi not available
2015-06-29 21:01:32 +00:00
elie
bc06477784
ObjectIdentity class additionally supports just a MIB module name
...
initializer in which case if resolves into either first or last symbol
in given MIB. Another new option is just a MIB symbol initializer without
specifying MIB module.
2015-06-21 13:24:35 +00:00
elie
5439bc3305
- a few additional MIB tree management methods added to MibViewController
...
to better address ordered nature of MIB tree nodes (namely, getFirst*,
getLast* family of methods)
- rfc1902.ObjectIdentity() now accepts 'last' keyword parameter to
position on last (otherwise, first) object in given MIB module.
2015-06-20 12:14:48 +00:00
elie
1e9fbab0dd
removed RowStatus default value as it may collide with possible subclass
...
constraints
2015-06-06 08:40:05 +00:00
elie
13e908fba2
.setSyntax() added
2015-06-04 14:07:25 +00:00
elie
5cee646ddb
use MibBuilder.loadTexts flag for initializing pysmi's genTexts one
2015-06-04 05:48:30 +00:00
elie
49cef7f6d3
fix to pysmi status interpretation
2015-06-03 18:31:29 +00:00
elie
c95166ec97
implementation of the multiple targets functionality moved from .sendPdu()
...
to sendVarBinds()
2015-06-03 17:10:07 +00:00
elie
3d7406e02f
catch and report possible MIB compilation errors
2015-05-31 21:39:01 +00:00
elie
27c1c8ef97
Major overhaul related to PySMI integration and Standard SNMP Applications
...
API redesign:
* MibVariable becomes ObjectIdentity and moves to pysnmp.smi.rfc1902
* ObjectType and NotificationType classes resempling corresponding MIB MACROs
implemented
* SNMP Standard Applications and examples modified to support ObjectType
and NotificationType parameters
2015-05-31 19:35:10 +00:00
elie
cbcda15902
fix to missing REVISIONS MIB clause handling
2015-05-31 19:22:26 +00:00
elie
0e4f5be551
* read any of 'PYSNMP_MIB_PKGS', 'PYSNMP_MIB_DIRS', 'PYSNMP_MIB_DIR'
...
and append their contents to MIB search path instead of overriding
existing path
* on MIB file access error, raise more concise exceptions than
just SmiError
2015-05-31 19:21:48 +00:00
elie
7d5453e2af
reverse previous change
2015-05-31 19:18:54 +00:00
elie
adc3d01f41
alias Null to Unspecified symbol for convenience
2015-05-31 19:18:10 +00:00
elie
c76c7c3dfb
export ObjectIdentifier from pyasn1
2015-05-31 19:09:45 +00:00
elie
ef82e705d9
fix to v2c->v1 trap OID translation: do not require trap OID to be
...
the default one
2015-05-26 08:24:50 +00:00
elie
c8d5ad14e5
fix to function prototype
2015-05-18 15:33:28 +00:00
elie
087522e567
- Initial PySMI integration. Original ASN.1 MIBs could now be parsed, stored
...
at a local pysnmp MIBs repository and loaded into SNMP Engine.
- smi.MibBuilder will now raise more specific exceptions (MibLoadError,
MibNotFoundError) on MIB loading problems rather than more generic
SmiError.
- MibBuilder.addMibSources() convenience method added.
2015-05-17 21:01:43 +00:00
elie
1492a706cf
optional configuration/MIB directory added to MIB search path
...
(~/,pysnmp/mibs) at MibBuilder
2015-04-27 20:01:32 +00:00
elie
dba760bcc4
Parts of SMIv1 remnant MIBs added to provide complete compatibility with
...
SMIv1. Symbols defined in these MIBs only present in SMIv1 so they can't
be substituted with their SMIv2 analogues.
2015-04-27 17:14:49 +00:00
elie
17f6a3a71f
fix to smi.builder to explicitly fail on any MIB file access error
...
(but ENOENT) and raise IOError uniformly on any directory/egg access
failure
2015-04-27 13:38:25 +00:00
elie
949907273d
catch unresolved OID type when building var-binds
2015-03-18 06:56:49 +00:00
elie
f617aa213f
UDP/IPv6 support added to asyncio-based transport
2015-03-08 08:00:33 +00:00
elie
138690393d
cosmetics
2015-03-08 07:56:46 +00:00
elie
d771580217
base addressType defined
2015-03-08 07:56:12 +00:00
elie
38f96de6a8
make config.delTransport() returning detached transport object
2015-03-07 22:39:30 +00:00
elie
89cd19354b
shutdown transport from closeTransport()
2015-03-07 22:36:29 +00:00
elie
a455b4c3fa
fix to smi.builder to explicitly fail on any MIB file access error but ENOENT
2015-03-07 18:00:57 +00:00
elie
63112ba8e0
secure boots file creation
2015-02-01 21:14:42 +00:00
elie
64e58ab33a
ignore expired entries in expire()
2015-01-30 22:22:12 +00:00
elie
14d3feda48
possible memory leak fix
2015-01-30 17:01:58 +00:00
elie
4da385d8bc
no xrange in Python3
2015-01-20 17:33:17 +00:00
elie
70bfa4a7ca
missing AbstractTransportAddress added
2015-01-20 17:30:58 +00:00
elie
ebb2fdad44
fix to default/null AgentAddress initialization
2015-01-20 17:03:41 +00:00
elie
f40e30c3c8
fix to non-int slices (not supported in Python 2.4
2015-01-20 17:02:59 +00:00
elie
f7bec47e52
fix to possible uninitialized snmpEngineID
2015-01-20 17:01:57 +00:00
elie
c317a13711
- The asyncore-based transport subsystem extended to support POSIX
...
sendmsg()/recvmsg() based socket communication what could be used,
among other things, in the context of a transparent SNMP proxy
application. Technically, the following features were brought
into pysnmp with this update:
* Sending SNMP packets from a non-local IP address
* Receiving IP packets for non-local IP addresses
* Responding to SNMP requests from exactly the same IP address
the query was sent to. This proves to be useful when listening
on both primary and secondary IP interfaces.
2015-01-20 16:57:59 +00:00
elie
48fa5f20c6
SnmpEngineBoots may wrap over
2015-01-07 10:43:39 +00:00
elie
13f467b751
provide NullHandler for Python < 2.7
2015-01-07 10:40:34 +00:00
elie
36fdfef1fd
first attempt to make SNMP Engine settings persistent across reboots
2015-01-07 10:28:09 +00:00
elie
092507d108
oneliner GETBULK Command Generator now strips possible excessive OIDs
...
off the bottom of returned var-binds table
2015-01-01 11:45:34 +00:00
elie
c2fa258d32
* fix ignore impossible errorStatus
...
* fix to reset ErrorStatus==noSuchName on proxying
2014-12-19 20:13:02 +00:00
elie
9458b7f960
CommandGeneratorBase symbol added for compatibility
2014-12-15 23:21:31 +00:00
elie
10c09de22f
* asyncio transport made compatible with trollius
...
* check futures for their cancellation status
2014-12-15 22:54:56 +00:00
elie
5135be0025
getNextVarBinds() will always cast passed var-binds into pyasn1
2014-11-16 16:11:31 +00:00
elie
ff85d29404
fix to observer removal
2014-11-16 12:35:54 +00:00
elie
05d90bd132
missing exception fix
2014-11-05 23:16:08 +00:00
elie
963a6d644e
initial support for asyncio network transport added
2014-11-04 20:21:48 +00:00
elie
08c9b6df27
fixes to debug messages
2014-11-04 20:20:47 +00:00
elie
62cc2b3fb0
* added support for logging into parent application's logger
...
* use logging framework for timestamps generation
2014-10-27 12:09:06 +00:00
elie
0e74a79062
built-in debugging is now based on Python logging module
2014-10-26 16:16:09 +00:00
elie
dfec7984e1
fix to file descriptor leak at MibBuilder
2014-10-26 06:52:38 +00:00
elie
a3191d9a35
CommandGenerator.getNext() & .getBulk() methods now support the
...
maxCalls kwarg to limit the maximum number of request-response
iterations to perform
2014-08-18 07:21:15 +00:00
elie
c30181f6d8
make NotificationOriginator using MibInstrumentationController when expanding
...
Notification OBJECTS into Managed Objects Instances
2014-06-27 06:43:28 +00:00
elie
02913c4650
TRAP PDU agent address evaluation made lazy to improve startup time
2014-06-21 14:15:11 +00:00
elie
cc9845a0d3
* unnecessary inheritance of AsyncNotificationOriginator() and
...
AsynNotificationOriginator() tranformed into a referenced object
relationship
* made use of AsyncCommandGenerator.getMibViewController()
2014-06-17 15:24:48 +00:00
elie
9a8c4f722f
.getMibViewController() impemented
2014-06-17 15:21:27 +00:00
elie
0f3b10f3aa
pylint'ed
2014-06-17 15:19:53 +00:00
elie
483c99653c
converted to the latest API that supports more data to be used
2014-06-17 05:46:57 +00:00
elie
98173faed9
use sendPduHandle term for clarity and unification
2014-06-16 20:52:38 +00:00
elie
106a2fe213
BULK API correction
2014-06-16 20:51:03 +00:00
elie
2f62ebd449
cosmetic fix
2014-06-16 16:37:02 +00:00
elie
b8dbda56e8
fix to auth objects cleanup code
2014-06-15 14:21:45 +00:00
elie
f1ee948b21
fix to asyncore-based transport not to use asyncore's cheap inheritance
...
from socket object what caused warnings.
2014-06-14 19:50:13 +00:00
elie
25fcfb3289
fix to bulk command options
2014-06-09 14:33:07 +00:00
elie
e54f6f4be8
fix to CB stack unwinding
2014-06-09 14:28:29 +00:00
elie
8028defd66
sendNotification() API correction
2014-06-09 13:07:07 +00:00
elie
6f029f3261
API visual unification:
...
sendRsp() renamed into sendVarBinds()
sendRspPdu() -> sendPdu()
2014-06-09 10:06:22 +00:00
elie
de2be96ea9
ContextData container introduced to the newest (async) API
2014-06-09 09:35:43 +00:00
elie
8bf882ca51
fix to authoritative engine side snmpEngineID discovery procedure:
...
respond with notInTimeWindows rather then with unsupportedSecurityLevel
at time synchronization phase
2014-04-23 11:53:49 +00:00
elie
451dd2c4e8
_sendRspPdu() method introduced to tap onto PDU processing
...
this is likely to be reworked
2014-04-04 15:09:40 +00:00
elie
b272b371ed
Major rewrite of native SNMPv3 CommandGenerator and NotificationOriginator
...
applications towards the following goals:
* avoid bonding with particular SNMP engine instance to promote single
app instance using many SNMP engine instances
* support two APIs for working with request data: one operates on the
whole PDU object while the other on PDU contents
* keep callback context data in stack rather than in stateful application
cache
* newly introduced sendVarBinds() method offers a more functional and
logical signatures.
* keep backward compatibility for all existing major/documented interfaces
2014-04-04 15:03:22 +00:00
elie
9210eb7d9e
missing wrongLength and wrongEncoding SMI errors added
2014-03-25 20:30:38 +00:00
elie
d290d508c2
This program is free software; you can redistribute it and/or modify
...
it under the terms of the BSD 2-Clause License as shipped with pysnmp.
2014-03-24 20:11:19 +00:00
elie
87e85a47b9
some more debugging added
2014-03-24 18:25:04 +00:00
elie
9a921150c4
Fix to SNMPv1/v2c message processing subsystem to make it serving
...
unique PDU request-id's in both outgoing and incoming confirmed
and response PDU types. Duplicate request-id's in unrelated PDUs may
cause cache errors otherwise.
2014-03-24 18:18:44 +00:00
elie
3c1ceee64a
clean up request queue on pysnmp-level processing failure, not just
...
StatusInformation
2014-03-24 17:18:05 +00:00
elie
f25e42f6b7
missing check for null scopedPDU added
2014-03-21 20:56:00 +00:00
elie
ddaab1f097
do not cache snmpEngineId & snmpAdminString at CommandGenerator to let it
...
be reused with many different snmpEngines
2014-03-21 18:05:06 +00:00
elie
d3a0d5d7e8
fixes to verify pyasn1 decoder.decode() return to withstand
...
broken SNMP messages or its components
2014-03-21 05:59:44 +00:00
elie
fd8827d7cf
fix to initialize errorIndex & errorStatus components of the resulting PDU
2014-03-17 20:16:36 +00:00
elie
5149080635
handle the case of deactivated sys.stderr
2014-03-15 14:27:44 +00:00
elie
26fa1f58a7
Fix to .clone() method of rfc1902.Bits class to make its signature
...
matching the rest of classes. This may broke code which used to pass
namedValue parameter positionally rather than binding it by name.
2014-03-15 13:32:27 +00:00
elie
fae15cea55
fix to rfc1902.OctetString & Bits to base them on OctetString class to
...
make the 'fixed length' property working.
2014-03-15 09:38:49 +00:00
elie
3fc5ef5c9d
* fix to OctetString.clone()'ing
...
* OctetString.subtype() is now carries over the 'fixed length' property
2014-03-15 09:12:30 +00:00
elie
bff37d4573
amended the case of null debug writer
2014-03-15 08:05:57 +00:00
elie
3713220e45
handle the case of absent stderr stream at Debug printer
2014-03-14 21:10:38 +00:00
elie
930a554ed8
check for end-of-octets in version
2014-02-01 20:55:45 +00:00
elie
bf6df2be5c
missing module reference added
2014-01-29 21:06:31 +00:00
elie
26a9dd72ec
fix to decodeMessageVersion() to withstand broken messages
2014-01-29 20:13:31 +00:00
elie
c3853c9922
observer call added to processIncomingMsg()
2014-01-25 15:59:17 +00:00
elie
e3fa34a1d2
fix to key localization loop termination condition
2014-01-10 10:45:35 +00:00
elie
06bd83b805
critical error fixed in key localization procedure for AES192/AES256/3DES
...
cyphers
2014-01-09 21:51:35 +00:00
elie
1b71ab0bdf
passing request details to access control callback made simpler
...
and more stable based on request observer facility
2014-01-08 21:07:06 +00:00
elie
485dd54310
new public DgramSocketTransport.getLocalAddress() returns local endpoint
...
address underlying BSD socket is currently bound to
2014-01-08 20:18:00 +00:00
elie
cce1c98c0a
oneliner transport object now supports setLocalAddress() method to
...
force socket binding to specified local interface
2013-12-19 21:25:48 +00:00
elie
2b9faca109
* broadcast socket option can now be enabled with the .enableBroadcast()
...
call for any datagram-based transport (namely, UDP and UDP6)
* AbstractTransportDispatcher's jobStarted() and jobFinished() methods
now accept optional 'count' parameter which is a way for an app to indicate
how many responses are expected or have been processed in bulk
2013-12-12 18:47:52 +00:00
elie
4257c9da15
_verifyComponent() in newer pyasn1 takes keyword parameters
2013-12-02 13:34:17 +00:00
elie
d9e66985f4
fix to BULK CommandGenerator to use the same nonRepeaters OIDs across
...
multiple GETBULK iterations so returned table for nonRepeaters columns
would hold the same var-bind
2013-11-23 22:14:12 +00:00
elie
0f08e5fa14
fix to rfc1902.Bits type to make it accepting hex and binary initializers,
...
cope with missing bits identifieirs at prettyPrint()
2013-11-23 18:29:09 +00:00
elie
a402a7f151
- Internal oneliner apps configuration cache moved from respective
...
apps objects to [a singular] snmpEngine object. That would allow
for better cache reuse and allow for a single app working with
many snmpEngine instances.
- Legacy interfaces and APIs dropped in new oneliner AsyncCommandGenerator
and AsyncNotificationOriginator classes (notice 'c' in Async). Original
AsynCommandGenerator and AsynNotificationOriginator implementations
rebuilt on top of these new optimized versions keeping all the legacy
for compatibility reasons. These classes no more keep references to
SnmpEngine what makes them reusable with many SnmpEngine class instances.
- Example on a single Transport Dispatcher use with multiple SnmpEngine's
in oneliner AsyncCommandGenerator & AsyncNotificationOriginator basaed
applicatons added.
2013-11-17 19:10:09 +00:00
elie
74c60bd882
Internal oneliner apps configuration cache moved from respective
...
apps objects to [a singular] snmpEngine object. That would allow
for better cache reuse and allow for a single app working with
many snmpEngine instances.
2013-11-10 14:38:29 +00:00
elie
d1467a7d1d
initial revision
2013-11-10 10:19:58 +00:00
elie
ce56f1b40f
Execution Observer facility implemented to give app an inside view
...
of SNMP engine inner workings. This is thought to be a generic
framework for viewing (and modifying) various internal states
of pysnmp engine. Previously introduced non-RFC APIs (like
getting peer's transport endpoint) will be gradually migrated to
this new framework.
2013-11-09 22:01:33 +00:00
elie
81f1b2bbd1
sendRequestHandle made persistent across multiple iterations
...
of GETNEXT/GETBULK queries
2013-10-10 09:45:58 +00:00
elie
97da228f52
fix to sendNotification() error handling
2013-10-05 09:12:45 +00:00
elie
0e93c208de
typo
2013-09-29 21:47:57 +00:00
elie
b410a2ca1d
fix to pass stateReference to registered app on unconfirmed notifications
...
reception (to let NotificationReceiver Apps browsing request details).
2013-09-29 21:19:23 +00:00
elie
1646d9de21
fixes to normalizeAddress()
2013-09-25 06:39:28 +00:00
elie
c992feaa28
IPv6 address normalization moved into UDP6 transport
2013-09-24 22:00:06 +00:00
elie
85667591c6
forcibly zero ZoneID, FlowID and ScopeID components to make it
...
comparable with user-specified IPv6 endpoint
2013-09-24 14:03:09 +00:00
elie
0befb6f43c
sometimes missing inet_ntop()/inet_pton() reimplemented in pure struct
2013-09-24 14:01:45 +00:00
elie
d77cc4c0c4
cosmetics
2013-09-23 16:53:51 +00:00
elie
b1f28b84ce
added ctypes dependency for old Pythons on Windows
2013-09-23 11:51:59 +00:00
elie
fbad5472d8
SNMP Engine object now has a snmpEngineID attribute exposed
2013-09-15 19:11:26 +00:00
elie
28397319b7
gracefully handle malformed SnmpEngineID coming from SNMPv3 header
2013-09-14 22:12:20 +00:00
elie
a96c812eb4
minor changes to transport dispatcher's recvId logic
2013-09-08 21:46:51 +00:00
elie
a2b420912d
no default data routing function anymore
2013-09-07 14:28:40 +00:00
elie
690ea8ee6a
* A single instance of transport dispatcher can now serve multiple
...
receivers (identified by IDs) chosen by a public data routing method.
* SnmpEngine.[un]registerTransportDispatcher() methods now accept optional
receiver ID token to be used by transport dispatcher's data router. This
allows for multiple SNMP engines registration with a single transport
dispatcher.
* Relevant example added
2013-09-07 14:20:04 +00:00
elie
7c88869118
sockets now configured with SO_REUSEADDR option to fix possible
...
Windows error 10048.
2013-09-02 06:08:28 +00:00
elie
f685bd3e88
fix to message processing module which used to refer to a bogus
...
stateReference in some cases what causes SNMP engine crashes
2013-08-24 23:13:55 +00:00
elie
0c1945c67b
fix to SnmpAdminString, SnmpTagList, SnmpTagValue types to make them
...
supporting UTF-8 initializers.
2013-08-03 20:03:11 +00:00
elie
d4a2fd350c
pretty print contextEngineId in debug
2013-08-01 10:22:27 +00:00
elie
f5802c42fb
fixes to inet_ntop()/inet_pton()
2013-07-31 21:04:45 +00:00
elie
59413d9781
fix to inet_ntop()/inet_pton() support on Windows
2013-07-31 13:34:38 +00:00
elie
0be045fc5c
fix to asyncore-based transport to work only with AsynsockDispatcher's
...
socket map and not to touch default asyncore's one
2013-07-03 17:06:21 +00:00
elie
361e7c61b9
whenever addTransport() automatically instantiates transportDispatcher,
...
it takes note of this and further counts all transport registration.
If delTransoport() seems that transportDispatcher was automatically
instantiated, it shutdowns it automatically whenever registered
transport count reaches zero.
2013-06-30 16:00:14 +00:00
elie
543821f4a8
overload closeTransport() to get a chance to close UNIX pipe on transport
...
shutdown
2013-06-30 15:32:46 +00:00
elie
88bd160e7b
fix: do not close transport whenever unregistering it at dispatcher
2013-06-30 15:27:33 +00:00
elie
9c7ed7cd8f
move common methods to AbstractTransport
2013-06-30 15:23:26 +00:00
elie
efc55fdcbb
overload closeTransport() to close UDP port on transport shutdown
2013-06-30 15:19:38 +00:00
elie
fa7a8350d5
fix: closeTransport() should invoke stopProtocol()
2013-06-30 15:17:52 +00:00
elie
477161b151
cache and uncache usmUserSecurityName for debugging purposes
2013-06-26 16:43:45 +00:00
elie
740419724f
fix to octet string typing (used to throw an exception)
2013-06-26 15:50:51 +00:00
elie
64824fd736
exception re-raising improved at asynsock/twisted dispatchers so that
...
original traceback is preserved and reported
2013-06-26 15:44:44 +00:00
elie
2ea76b7bd3
disptacher vs transport compatibiilty verification moved into
...
base transport class
2013-06-21 06:34:22 +00:00
elie
c3da4f9fff
credential caching improved to allow unbalanced add/del configuration
...
calls by use counting
2013-06-12 08:08:27 +00:00
elie
e7afecac21
use format_exception()
2013-06-11 20:00:11 +00:00
elie
7fdc1203fc
FSM exception handling reworked
2013-06-11 06:41:54 +00:00
elie
47e374ea6b
Fix to usmUserSecurityName table column implementation -- automatic value
...
generation from index value removed.
2013-06-10 22:44:48 +00:00
elie
48b2a9d7bf
Fix to SnmpUSMSecurityModel._sec2usr() - raise NoSuchInstance error
...
to emulate MIB lookup failure. Previous version of the code always
succeeded returning securityName on failure. That screwed new row
creation logic.
2013-06-10 22:36:05 +00:00
elie
51028802f7
fix to exception message formatting
2013-06-10 20:19:17 +00:00
elie
ce603f3f8a
undefined variable
2013-06-10 19:04:38 +00:00
elie
ec8b127d86
do not re-raise exceptions with original traceback as it breaks
...
py3k compatibility
instead log the original traceback into debug routine
2013-06-10 15:56:16 +00:00
elie
394d8d9c24
exception re-raising improved at MibInstrumController.flipFlopFsm() so
...
that original traceback is preserved.
2013-06-10 14:25:47 +00:00
elie
ee21691294
raise KeyboardInterrupt for backward compatibility
2013-06-08 10:50:35 +00:00
elie
bc0048832f
unused variables, imports; wrong indentation; undefined prototype attribues
...
all the things that bothers linter
2013-06-04 06:26:02 +00:00
elie
b7c4ef6e38
traceback formatting improved
2013-06-04 06:06:23 +00:00
elie
5df996f4cf
missing imports, non-existing variables as suggested by linter
2013-06-03 21:58:52 +00:00
elie
31cdd5d31a
config.addSocketTransport() helper renamed into config.addTransport()
...
and improved by automatically instantiating compatible TransportDispatcher
making it dispatcher-agnostic. As an additional bonus, application may not
call registerTransportDispatcher() as it would be called by addTransport().
2013-06-01 12:15:58 +00:00
elie
e5276292e5
Oneliner UsmUserData() and CommunityData() classes now support clone()'ing
...
to facilitate authentication data management in user applications.
2013-06-01 10:08:33 +00:00
elie
29609e6454
Asyncore-based dispatcher attempts to use poll() whenever available
...
on the platform. It would help handling a really large number (>1024)
of file descriptors.
2013-05-26 19:56:18 +00:00
elie
99b2e05957
fix to online dict keys removal at uncfg()
2013-05-26 09:08:18 +00:00
elie
ff0c9bd4f2
removed securityName parameter from delV3User()
2013-05-25 21:25:10 +00:00
elie
00a0839d4c
the userName parameter is now fully separated from securityName at
...
usmUserTable.
2013-05-25 15:05:14 +00:00
elie
75d20f4867
replace contextEngineId with securityEngineId as addV3User()
2013-05-25 10:32:44 +00:00
elie
a0894c9008
the SnmpV3MessageProcessingModel.getPeerEngineInfo() method is implemented
...
to communicate discovered peer SNMP engine information to SNMP apps what
can be used for fine usmUserTable configuration.
2013-05-25 09:43:28 +00:00
elie
bdaef1032a
Oneliner transport target classes now support the getTransportInfo()
...
method that returns network addresses used on protocol level
2013-05-25 09:11:46 +00:00
elie
85581d59e3
contextEngineId parameter of auth.UsmUserData() renamed into
...
securityEngineId as it's semantically correct
2013-05-21 06:03:15 +00:00
elie
b2d46549dd
SNMP credentials management reworked to allow multiple securityNames's in
...
snmpCommunityEntry and usmUserEntry tables. Changes made to addV1System(),
addV3User() functions as well as to their oneliner's wrappers.
2013-05-18 13:26:49 +00:00
elie
2ba0737a51
break cyclic references at CommandResponder and NotificationReceiver apps
...
through close() method
2013-05-13 20:12:28 +00:00
elie
9d8b1bda3b
min(key=key) is not supported by older Pythons
2013-05-12 19:29:55 +00:00
elie
2aa7fa3e53
AsynCommandGenerator.makeReadVarBinds() generalized into a new
...
makeVarBinds() method which replaces somewhat redundant code at setCmd()
and AsynNotificationOriginator.sendNotification().
2013-05-09 10:37:53 +00:00
elie
a705915f93
* AsynCommandGenerator.uncfgCmdGen() & AsynNotificationOriginator.uncfgCmdGen()
...
methods now accept optional authData parameter to remove specific entries
from LCD. This can be useful for modifying security parameters for
specific securityName.
* AsynNotificationOriginator.cfgCmdGen() does not take into account
securityModel & securityLevel when reducing LCD access via addTrapUser().
This improves LCD consistency on sparse add/del operatons but also
does not let you to configure different securityModels per securityname
at VACM though the cfgCmdGen() wrapper.
2013-05-09 07:39:45 +00:00
elie
552d7336aa
Fix and significant logic rework of snmpCommunityTable to make it working
...
in both Generator and Responder modes and better follow RFC2576 requirements on sequential entries lookup and selection. As a side effect,
untagged snmpCommunityTable entries will *not* match tagged
snmpTargetAddrTable entries and vice versa.
2013-05-05 11:11:51 +00:00
elie
04c1a577a8
Multi-lingual capabilities of all CommandGenerator & NotificationOriginator apps re-worked and improved. For instance it is now it's possible to run getBulk() against a SNMPv1 Agent invoking built-in SNMP Proxy behind the
...
scene.
2013-05-05 10:41:36 +00:00
elie
fe72b2e9a1
fix to exceptions handling at MsgAndPduDispatcher.sendPdu() to avoid
...
sendPduHandle miss (followed by system crash) on cache expiration run
2013-05-04 14:59:28 +00:00
elie
ea13dfacf7
the snmpCommunityTable row selection improved to follow RFC2576, clause 5.2.1
2013-05-04 12:12:49 +00:00
elie
92650048a1
debug issue fixed
2013-05-04 10:45:10 +00:00
elie
32d35747ba
format subseconds
2013-04-17 20:32:36 +00:00
elie
35ad15e048
delV3User() function improved to drop all rows from USM table that
...
were cloned from the target one
2013-04-17 06:51:56 +00:00
elie
c147044d7d
Change to rfc2576.v1tov2() logic: errorStatus = noSuchName is now translated
...
into rfc1905.noSuchObject exception value for *all* var-bindings.
Although RFC2576 does not suggest error-status -> v2c exception translation,
historically pysnmp used to perform it for a long time so we can't easily
stop doing that.
2013-03-16 11:57:24 +00:00
elie
e33ad2b65a
Fix to twisted/udp non-default local endpoint binding features. Common
...
socket ('host', port) notation is now supported.
2013-03-15 21:29:59 +00:00
elie
ff34cc9494
timing reporting in debug mode improved
2013-03-15 20:54:33 +00:00
elie
85f9557f88
* explicit twisted dispatcher's timer resolution (of 1 sec) removed to make
...
use of global default of 0.5 sec.
* intermediate handleTimeout() method replaced with lambda
2013-03-15 20:53:22 +00:00
elie
7fc7d79936
fix of rounding error to base I/O dispatcher's next timer call calculation
2013-03-15 20:50:24 +00:00
elie
14342b12b1
timestamps to log messages added
2013-03-15 18:40:33 +00:00
elie
59c5d5090a
the $PYSNMP_MIB_DIR & $PYSNMP_MIB_DIRS & $PYSNMP_MIB_PKGS path separator
...
made platform-specific.
2013-03-13 09:26:31 +00:00
elie
4226df062f
typos fixed
2013-02-09 20:08:52 +00:00
elie
feeea2068b
missing import added
2013-02-09 13:41:43 +00:00
elie
47959808a9
Standard SNMP Apps and built-in proxy now ignores malformed errorIndex
...
value.
2013-02-07 20:05:13 +00:00
elie
1b01051824
4.2.5
2013-02-07 20:02:46 +00:00
elie
08ad1e5420
Packet-level SNMP API (pysnmp.proto.api) getErrorIndex() method can now
...
be instructed to ignore portentially malformed errorIndex SNMP packet
value what sometimes happens with buggy SNMP implementations.
2013-02-07 20:02:12 +00:00
elie
d918595551
VACM modules converted from a function into an object to let it keep
...
state (caches) in the future
2013-01-05 20:25:51 +00:00
elie
24d1327c26
remove \r\n from sysDescr.0
2013-01-05 15:14:00 +00:00
elie
a0399991a8
fix to bool(ErrorIndicationReturn())
2013-01-05 14:48:51 +00:00
elie
33293cacbb
cast non-default contextName into pyasn1 object to avoid Py3K comparation
...
issues
2013-01-05 14:14:07 +00:00
elie
2c4175582a
typo
2012-12-29 08:52:09 +00:00
elie
a99977146e
make sure user callback object is supplied before calling it
2012-12-29 08:49:37 +00:00
elie
d1479dbbbc
at AsynNotificationOriginator.sendNotification()
...
* the notificationType param is no more optional
* the varBinds param is now truly optional
2012-12-28 17:27:39 +00:00
elie
1a0ce4966b
memory leak fixed at oneliner cache of already configured targets
2012-12-22 17:23:24 +00:00
elie
fecffdd978
catch and mute possible failure of getsockname(), that seems to happen
...
on Windows only so far
2012-12-20 14:06:19 +00:00
elie
b82722901e
report package version on debugging code initialization
2012-12-20 13:04:11 +00:00
elie
3212e6d897
typos
2012-12-16 12:31:45 +00:00
elie
927f3f9623
* The missing functionality of passing Response PDU contents of INFORM
...
request is now implemented at Notification Originator app. The return
value of NotificationOriginator.sendNotification is now a composite object
that includes errorStatus, errorIndex and varBinds.
* The missing functionality of passing lookupNames & lookupValues params
to Notification Originator is now implemented. It may make sense for
INFORMs.
* The missing functionality of passing contextName to oneliner
version of NotificationOriginator.sendNotification is now implemented.
2012-12-15 22:29:56 +00:00
elie
d6c3d02504
standard SNMPv3 Apps hardened to catch protocol-related exceptions and
...
report them as errorIndication's
2012-12-14 20:37:02 +00:00
elie
8b4d47481b
when calling for PDU generation, make use of contextName passed
...
with authData *if* it is not passed through command-line.
this is purely to preserve backward compatibility.
2012-12-14 12:22:29 +00:00
elie
064680e2d4
commented
2012-12-14 12:20:00 +00:00
elie
63ffe29730
major contextEngineId/contextName related rework
...
* contextEngineId/contextName stored at authData now used only
for USM configuration
* contextEngineId/contextName sent in PDU can now be passed through
*Cmd() methods arguments
2012-12-14 08:17:43 +00:00
elie
3b9c11ead7
SMI exceptions are supposed to carry indices of failed var-bind component
2012-12-13 17:02:41 +00:00
elie
0d03e50e50
* probe setValue() rather than instrumClone() at terminal node value object
...
* group SNMP table management exceptions under TableRowManagement class
* preserve table row management exceptions propagation through MIB nodes
tree to make row operartions working again
2012-12-05 20:57:40 +00:00
elie
0726dd9333
do not catch uninitialized-value exceptions at getValue()
...
as it has been moved into snmp engine message serialization
harness (leaving MIB instrumentation an ability to return
uninitialized items)
2012-12-04 08:07:10 +00:00
elie
a8bccd7720
catch possible exceptions on pyasn1 encoder invocation
...
report SerializationError indication in those cases
addded DeserializationError indication alias to Parse Error for clarity
2012-12-04 08:02:20 +00:00
elie
576e0ebba9
* Fix a couple of bugs at MibTable* logic involved for table instances
...
creation.
* Fix to Management Instrumentation code to handle cases of non-initialized
or not-compliant-to-constraints Managed Objects Instances.
2012-12-02 21:38:29 +00:00
elie
6ba6788229
- AbstractMibInstrumController class added as a base class for all possible
...
kinds of Management Instrumentation controllers
- MibInstrumController.getMibBuilder() added
2012-12-02 15:00:06 +00:00
elie
87dfc3408e
the contextName parameter of context.SnmpContext() made optional
2012-12-02 14:56:23 +00:00
elie
1d37c6ea78
the missing functionality of NOTIFICATION-TYPE objects being looked up
...
at local Management Instrumentation and attached to TRAP/IMFORM message
by Notification Originator is now fully implemented.
2012-11-28 21:50:09 +00:00
elie
e4df514d2e
use system uptime and trap OID values from SNMP engine's instrumentation
...
rather then from SNMP context
2012-11-26 22:21:32 +00:00
elie
ea9f654e5c
cast additionalVarBinds into ObjectIdentifier type
2012-11-25 16:48:46 +00:00
elie
4db868a57d
fix to isAccessAllowed() error handling at NotificationOriginator. System
...
used to crash on access denied condition
2012-11-25 16:34:08 +00:00
elie
645afc069a
__context -> snmpContext for clarity
2012-11-24 21:56:42 +00:00
elie
8b1809d305
cast contextEngineId into proper type
2012-11-24 21:03:43 +00:00
elie
dc06658aac
unnecessary *MibSource explicit initialization calls removed at MibBuilder
2012-11-24 11:49:57 +00:00
elie
36aa9d89b2
Attempt to convert Windows style EOL into UNIX ones in MIB source
...
modules appeared to be unnecessary and even destructive to modules
data in some cases. So the convertion code removed altogether.
2012-10-14 20:41:26 +00:00
elie
d4bd0fb5c3
oops, wrong place for rc
2012-10-11 10:04:34 +00:00