summaryrefslogtreecommitdiff
path: root/libnet/doc/TODO
diff options
context:
space:
mode:
authorSam Roberts <sroberts@sroberts-desktop.(none)>2009-02-18 13:16:51 -0800
committerSam Roberts <sroberts@sroberts-desktop.(none)>2009-02-18 13:16:51 -0800
commit4679d290c754e2ebd8299ef8abbd2b9e94e82abf (patch)
tree33ec442df1d6480da52961df7dd19cdd41d41fb5 /libnet/doc/TODO
parentc35d5ad62a9b45153cf638272a3d590729728c12 (diff)
downloadlibnet-4679d290c754e2ebd8299ef8abbd2b9e94e82abf.tar.gz
v1.1.2.1 from http://www.packetfactory.net/projects/libnet/
Diffstat (limited to 'libnet/doc/TODO')
-rw-r--r--libnet/doc/TODO96
1 files changed, 96 insertions, 0 deletions
diff --git a/libnet/doc/TODO b/libnet/doc/TODO
new file mode 100644
index 0000000..84464d1
--- /dev/null
+++ b/libnet/doc/TODO
@@ -0,0 +1,96 @@
+===============================================================================
+ $Id: TODO,v 1.2 2004/01/03 20:31:00 mike Exp $
+ LIBNET 1.1 (c) 1998 - 2004 Mike D. Schiffman <mike@infonexus.com>
+ http://www.packetfactory.net/libnet
+===============================================================================
+
+
+ 1.1.x TODO LIST
+
+ * Update the man page!
+
+ - Add a programmer's man page detailing the pblock architecture.
+
+ - Fix plist memory leak.
+
+ - Fix IPv6. According to RFC 2992:
+ "Another difference from IPv4 raw sockets is that complete packets
+ (that is, IPv6 packets with extension headers) cannot be read or
+ written using the IPv6 raw sockets API. Instead, ancillary data
+ objects are used to transfer the extension headers, as described
+ later in this document. Should an application need access to the
+ complete IPv6 packet, some other technique, such as the datalink
+ interfaces BPF or DLPI, must be used.
+
+ All fields in the IPv6 header that an application might want to
+ change (i.e., everything other than the version number) can be
+ modified using ancillary data and/or socket options by the
+ application for output. All fields in a received IPv6 header (other
+ than the version number and Next Header fields) and all extension
+ headers are also made available to the application as ancillary data
+ on input. Hence there is no need for a socket option similar to the
+ IPv4 IP_HDRINCL socket option."
+
+ - Add self-throttling logic to libnet_write()/libnet_init()? Advanced
+ mode thing?
+
+ - Prune the include list in libnet.h.in. Also add conditionals
+ around the headers we use for building the library, but not when
+ using it.
+
+ - Data marshalling API for unaligned structures (like STP).
+
+ - Make cisco ISL work. The issue is that we have build our Ethernet
+ frame first, then encapsulate it inside of an ISL envelope.
+ - We have to compute CRCs for both Ethernet and ISL.
+
+ - Tune advanced interface functionality that allow the application
+ programmer to get inside libnet_t.
+
+ - Test HPUX 11 port.
+
+ - Test cywin32 port.
+
+ - Flesh out the advanced mode.
+
+ - Consider making a flag for "strict mode" where libnet will check
+ things like when you build an IP options list there is an IP
+ header preceding it (likewise for TCP)... Other "smart" things
+ could happen in this mode too. When in non-strict mode, libnet
+ will be less rigid but prone to user-error mode.
+
+ - If we have a problem building a header we might end up freeing it
+ creating a NULL entry on the list and preventing us from getting to
+ entries beyond it (to free or whatever). Maybe we should mark it
+ bad or something and rely on the cleanup at the end to free it up?
+
+ - Fix checksum support for CDP
+
+ - Verify Checksuming:
+ Currently verified working on OpenBSD/Linux/Solaris:
+ - raw IP/UDP [with and without data]
+ - raw IP/TCP [with and without data]
+ - raw IP/ICMP [with and without data]
+ - raw IP/OSPF
+ - hello packet [with no auth data]
+ - hello packet [with no auth data and LSA sub-header (LSA check = bad)]
+ - link IP/UDP [with and without data]
+ - link IP/TCP [with and without data]
+
+ - Update the rest of the libnet_link_* files for the new format, already
+ ported:
+ - bpf [works]
+ - linux packet socket [works]
+ - linux sock packet [works]
+ - dlpi [works]
+
+ - Port link stuff to use writev() in libnet_write() (sendto can't hang).
+
+ - Get IPsec code working.
+
+ - Add the following packet builders:
+ - SNMP
+
+ - Update __libnet_handle_dump to dump everything in l verbosely.
+
+EOF