The function pointer in a "per_choice_t" or a "per_sequence_t" is to a
[obnox/wireshark/wip.git] / TODO
diff --git a/TODO b/TODO
index 9000cbfc0432825be14518508e16c8c0b95511fd..4800e54a7dc1dfc9ddd1ea9ee9e1192ab1f10d96 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,4 +1,4 @@
-$Id: TODO,v 1.9 2001/04/21 07:49:24 guy Exp $
+$Id: TODO,v 1.17 2004/04/25 22:25:52 jmayer Exp $
 
 Things to do:
 =============
@@ -6,7 +6,9 @@ Things to do:
 *) Protocol dispatchers, allowing run-time setting of protocol "chaining"
 (i.e., UDP port X calls dissector Y)
 
-*) Work on packet capturing in wiretap
+*) Work on packet capturing in wiretap - or just make it a wrapper
+around libpcap/WinPcap, hiding some of the stuff Ethereal and
+Tethereal currently have to do independently
 
 *) Either as part of the previous item, or as a capture-filter
 translator that generates "libpcap"-style capture filter expressions,
@@ -28,7 +30,7 @@ all, in "libpcap"-style capture filters:
        etc.)
 
 *) I just discovered that sshd sets the SSH_CLIENT variable to source IP,
-sort port, and destination port. That coupled with a destination IP
+source port, and destination port. That coupled with a destination IP
 would give us enough information to carry out remote protocol capturing,
 tcpdump over ssh:
 
@@ -37,11 +39,32 @@ tcpdump over ssh:
 where "filter" filters out our own ssh packets (using the infromation
 from $SSH_CLIENT). Any takers?
 
-*) Of course, packet defragmentating.  IP fragments are now reassembled,
-but IPv6 fragments need to be reassembled and re-analyzed; we would also
-want to support reassembling TCP data streams and breaking the resulting
-stream into higher-level packets.  Other protocols where we might want
-to reassemble packets include NBDS and OSI CLNP.
+*) Of course, packet defragmentation.  We currently reassemble:
+
+       IP fragments
+       IPv6 fragments
+       OSI CLNP segments
+       ONC RPC-over-TCP and DCE RPC fragments
+       802.11 fragments
+       X.25 packets with M set
+       ATP fragments
+       EAP/TLS fragments
+       Fibre Channel fragments
+       Netware NDPS fragments
+       NBF fragments
+       Fragmented SNA BIUs
+       TDS (Sybase/Microsoft SQL Server) fragments
+       WTP fragments.
+
+   and currently support, for many protocols running atop TCP and the
+   SMB pipe protocol, reassembling the data stream and breaking the
+   resulting stream into higher-level packets.  We want to support that
+   for more TCP-based protocols; we might also want to reassemble:
+
+       NBDS
+       PPP Multilink
+
+   and possibly other protocols.
 
 *) I'd like to someday re-write the display filter routines to have a more
 powerful syntax.
@@ -53,7 +76,9 @@ right-clicks.
 added, removed, or moved without having to exit and restart Ethereal.
 (guy)
 
-*) A GUI capture/display filter creator.
+*) A GUI capture/display filter creator (we have stuff to add fields to
+display filters, but perhaps something such as what Network Monitor has,
+to add AND/OR/NOT operators, would be useful)
 
 *) Run-time configuration of tunnelling protocols -- display tunnelled
 protocol as data or as a full-fledged protocol (which subtree do we put
@@ -68,13 +93,24 @@ man page, which may be the right solution here.
 *) Finish moving GTK-dependent code into gtk/ subdirectory.
 
 *) Provide alternative user interfaces, e.g. other toolkits (Qt/KDE,
-full GNOME, native Windows, etc.) and text-mode "curses".
+full GNOME, native Windows, native Aqua, etc.) and text-mode "curses".
 
 *) Kerberos version 4 dissector - standard krb4 - from tcpdump (nneul);
 we have krb5, but not krb4
 
-*) Display filters: allow filtering on "enumerated" data types by name,
-i.e. if a field has a "value_string" array associated with it, allow
-users to specify the string associated with a value.
-
-*) Display filters: add regexes to strings and byte ranges
+*) Build process:
+  - Merge epan/configure.in back into toplevel configure.in [DONE]
+  - Run make-version.pl only once per make
+  - --enable-static doesn't build on all platforms any more (e.g. Suse 9.0)
+    because all static builds are not supported on those platforms. Try to
+    link "as statically as possible"
+  - Support native win32 builds using auto-tools and gcc
+  - Move dissectors and supporting files into the epan tree
+  - Move plugins into the epan tree
+  - move libs/objects to be linked into LDADD_xxx where appropriate
+  - make heimdal detection work for everyone
+
+*) Allow packet summary and packet dissection as valid "fields" in display
+   filter tests:
+  - summary matches "(?i)response"
+  - dissection contains "Unknown"