[EMAIL PROTECTED] wrote:
How about a TODO file inside of Win32? There is one in the root, but we could have a Win32 specific version for porting issues. I have attached one with a few items.
It may encourage others to contribute. I know it will help with me as I am not always working on Net-SNMP. I may disappear for a month (or years like Mike :) and then come back and wonder what is outstanding.
Alex
Encouraging others to contribute is a very good idea.
The main TODO list has general and platform specific items.
Would creating another TODO list be more encouraging ?
Using the main TODO file would be fine too, if it was cleaned up a bit. Attached is a cleaned up version with the Win32 specific tasks added.
The TODO has not been udpated for 2 years, so I assume it is not used much. It may be better to just use one in the Win32 folder.
How many entries in the current TODO are still outstanding?
Alex
Net-SNMP TODO List ==================
General:
========
-create our own source rpm spec file, independent from RedHat
-Continue to add and improve manual pages/documentation.
-More snmpset'able variables.
-Should be able to set the fix script line in the .conf files per type.
-Implement IP routing table manipulation using sysctl() on systems that
support the route socket (BSD 4.4 and IRIX >= 6.2)
-Implement new IP forwarding table MIB (RFC 2096), at least on systems
that have classless routing tables internally
-Implement IP/UDP/TCP statistics on IRIX 6.2 and later using
sysmp(MP_SAGET,MPSA_TCPIPSTAT,...) and <sys/tcpipstats.h>
-Follow the evolution of the Interfaces Group MIB
(draft-ietf-ifmib-mib-05.txt) and implement what can be
implemented.
-Make read_objid and sprint_objid agree on which shorthands they accept.
-snmpset should check against MIB size if possible?
-Remove unsuppored mib nodes from output instead of returning '0's.
-Support for Counter64 in snmpdelta
-API for traps that pass scripts can use.
-Make memory/swap variables UInts instead of Ints.
Architecture-specific implementations:
======================================
-How to handle differences between architectures
- overall common template
- "standard" implementation (with minor differences)
- architecture unique implementations
- pre-processor #ifdefs or separate files
-Function argument handling:
-Function declaration prototypes
-Function definition prototypes
-How to handle both ANSI and K&R compilers
-Threading
-Single thread / multi-thread / event driven / asynchronous
-Lookup design
-Kernel digging vs "clean" interfaces (sysctl/ioctl)
-Error Handling
-Ensure all return values are checked for validity
-Documented APIs
-Package name
-UCD-snmp vs Net-snmp
Win32 specific
--------------
General:
-event log logging for snmptrapd traps
-option to store all configuration options in the registry
-possibly add WinSNMP wrappers around the ucd-snmp functions
MSVC:
MinGW:
-event log resource file compilation
-DLL build
-Perl module build for ActiveState Perl
Cygwin:
-event log resource file compilation
-DLL build
-Perl module build for ActiveState Perl
Binary Installer:
-configurable options for registering snmpd and snmptrapd services
FUNCTIONALITY-RELATED ISSUES
============================
-Per-interface information
-(speed/type/counters/non-ethernet address)
-Multi-CPU support
-Real Time O/S support
-64-bit counters
-Non-ethernet interface support
-Address handling code tends to assume 6 octet
-physical addresses and 4 octet transport addresses
-Non-fully-qualified name output (Probably covered now?)
-Formatted dump
-unpick the ASN encoding, rather than
-simply dumping the bare data
-Module interdependence
EXTENSIBILITY-RELATED ISSUES
============================
-AgentX
-SMUX
-Dynamic loading of modules
-"Intelligent" Agent
-agent-initiated traps
-threshold monitoring
-PHP scripting
-Extensible trapd
PERFORMANCE-RELATED ISSUES
==========================
-Memory Leaks
-Information caching
-(e.g. Host Resources information)
-Intelligent table handling
-(i.e. not resetting internal state for each request)
-Pre-compiled MIBs
-to speed up MIB parsing
-Duplicate requests
-Currently these are processed afresh each time.
-They should probably be either dropped or use cached replies
-Security
-Go through the library and apps and check all arrays and
-buffers for overruns. There are a lot of unchecked ones.
Other Ideas
===========
-Make the mib parser figure out which of the above files it needs to
load rather than loading them all -- Tom Georges & Joe Marzot
==============================================================================
Want something done? Have ideas? Have code to submit? Need
something earlier than it is listed above? Please!
Write us!
[EMAIL PROTECTED]
(even if just to announce that you are going to be working on it so we
can avoid multiple people working on the same thing)
