[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[minion-cvs] Resolve numerous TODO items, including path selection, ...



Update of /home/minion/cvsroot/src/minion
In directory moria.mit.edu:/tmp/cvs-serv25930

Modified Files:
	TODO 
Log Message:
Resolve numerous TODO items, including path selection, unit tests,
bugfixes, and UI issues.

ClientDirectory:
  - Add configurable timeouts for directory retrieval
  - Make ClientDirectories, when available, help map keyids to nicer,
    more readily displayable strings.
  - Debug getNicknameByKeyID
  - Debug compressFormatMap
  - Make syntax for exit addresses more flexible
  - Only warn once for each unrecognized exit type.
  - Add 'getAvgLength' to PathElement
  - Minimize ~ elements to 1 hop
  - Add a kludge to allow paths of the form ~N to work as forward
    paths.

ClientMain:
  - Deal with function renaming
  - Add (partial) support for sending messages for user-side
    fragmentation
  - ***ALWAYS*** scramble packet order before sending them.
  - Rename Messages to Packets throughout as appropriate.
  - Bugfix: only de-queue  messages when delivery is successful.
  - Refactor flushQueue to use existing support functions.
  - Rename list-servers options again: --cascade and
    --cascade-features are probably more readable than --cascade=1
    and --cascade=2.
  
ClientUtils:
  - Rename LazyEncryptedPickle to LazyEncryptedStore; begin refactoring
  - Use displayServer() as appropriate

Config:
  - Make _formatEntry use new unparsing functionality.
  - Add options for user-configurable timeout.

MMTPClient:
  - Rename 'message' to 'packet' as appropriate.
  - Use new displayServer() function to pretty-print server names
    instead of IPs whenever possible.
  - Change error-printing options to handle timeouts and ssl version 
    errors better.

Main:
  - Add stubbed code to handle invocation as 'mixminiond': defer for
    now.

NetUtils: 
  - Add strings to TimeoutErrors

Packet:
  - Rename 'message' to 'packet' as appropriate.
  - Improve display of reply blocks.

ServerInfo:
  - Add new displayServer() function to pretty-print servers, looking
    up their actual nicknames whereever possible.  Servers can't take
    full advantage of this yet, since they don't download directories,
    but they can still call displayServer without harm.


test:
  - Rename 'message' to 'packet' as appropriate
  - Adjust ServerInfo tests to not try to make server with 'frag' but
    no actual delivery module, since this isn't allowed any more.
  - Add tests for getFeature()
  - Add tests for featureMap-related functions
  - Make tests for DNS lookup less time-dependent
  - Tests for new literal exit type behavior.

MMTPServer:
  - Rename 'message' to 'packet' as appropriate
  - Don't alias the LOG.* functions any more.  Apparently, this was
    allowing a long-standing bug where all DEBUG messages in
    MMTPServer were getting tagged as INFO messages.
  - (Partial) Use displayServer() as appropriate.

Modules:
  - Don't allow Delivery/Fragmented unless some other kind of delivery
    method is supported.

PacketHandler, ServerMain:
  - s/message/packet/ as appropriate

  
  

  



Index: TODO
===================================================================
RCS file: /home/minion/cvsroot/src/minion/TODO,v
retrieving revision 1.164
retrieving revision 1.165
diff -u -d -r1.164 -r1.165
--- TODO	10 Nov 2003 07:55:29 -0000	1.164
+++ TODO	19 Nov 2003 09:48:09 -0000	1.165
@@ -44,7 +44,7 @@
                                 o Unit tests
                         o ServerInfo changes
                                 o Implement
-                                . Unit tests
+                                o Unit tests
                         o Path generation changes
                                 o Implement stub canRelayTo and getRoutingFor
                                   in ServerInfo.
@@ -80,8 +80,10 @@
                         o Write the code
                         o Hand-test multi-packet and single-packet fwd
                           messages and replies.
-        . UI improvements:
-                . Add some convenient way to list arbitrary server features.
+        o Security
+                o Make sure clients always shuffle packets before delivery.
+        o UI improvements:
+                o Add some convenient way to list arbitrary server features.
                         o Refactor Config to have a richer idea of types
                         o Add 'features' to Config.
                         o Add featureMap manipulation functionality to 
@@ -89,29 +91,35 @@
                         o Formatting for featuremap
                         o CLI for new listservers
                         o Replace old listservers
-                        - Unit tests for features
-                        - Unit tests for featureMaps
-                - Timeouts should say 'timeout', not EINTR.
-                - Timeouts should be user-configurable.
+                        o Make CLI have three different format flags, not
+                          the current impenetrable --cascade={0|1|2}.
+                        o Unit tests for features
+                        o Unit tests for featureMaps
+                o Handle the exit address '0xFFFE' as before.  
+                o Only warn about unknown types once.
+                o Timeouts should say 'timeout', not EINTR.
+                o Timeouts should be user-configurable.
                 D Logging UIErrors isn't a bad idea.
                 o Make UIErrors _look_ like log messages when they hit the
                   console.
-                - Separate 'mixminiond' wrapper; 'mixminion server-foo'
+                D Separate 'mixminiond' wrapper; 'mixminion server-foo'
                   confuses folk.
-                - SSL's "Unexpected error: wrong version number"
+                o SSL's "Unexpected error: wrong version number"
                   message is confusing.
                 o Better error message when opening db with unsupported
                   database type.
-                . List servers by nickname, not by IP (partial solution for
+                o List servers by nickname, not by IP (partial solution for
                   clients only, but make expandable to servers once they
                   download directories.)
-                - Make TRACE mode less verbose, or make DEBUG mode more
-                useful.
-        - Fragmentation logic fixes
+                D List servers by nickname, not by IP, even in server logs.
+                o Make TRACE mode less verbose, or make DEBUG mode more
+                  useful.
+        . Fragmentation logic fixes
                 o Make the fragment path selection not suck.
                 o Send logic for client
-                - Deliver non-FRAGMENT fragment messages
-                - Don't allow 'FRAGMENT' exit type if no exit modules are
+                . Deliver non-FRAGMENT fragment messages
+                . Option to send messages for client-side reassembly
+                o Don't allow 'FRAGMENT' exit type if no exit modules are
                   supported.
                 - Catch wild mismatches between Max-Packets on FRAGMENT
                   and Max-Size on SMTP/MBOX/etc.
@@ -135,8 +143,6 @@
                           for all types
                 X Support SURB secret exchange format
                 - Specify SURB keyring format; support loading new format.
-        - Security
-               - Make sure clients always shuffle packets before delivery.
         - Specification
                 - Clear up specification for payload versions.
                 - Clear up specification for NEWS