[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)


Reply via email to