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

[minion-cvs] Check in some long-pending tweaks from my laptop. Impl...

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

Modified Files:
Log Message:
Check in some long-pending tweaks from my laptop.  Implements DNS, refactors.

NetUtils (New File):
- Added new module to hold general-purpose networking code.  Currently
  includes gethostname/getaddrinfo wrappers; timeout helper code; and
  IPv6-support testing.

- Finally remove the old build*Message calls and switch to the build*Packet
  messages.  The difference is that the old ones combined payload encoding
  with packet building, while the new ones take a complete (~28K) payload
  generated by encodeMessage.

- Debug lots of new code.
- Turn timeout from global to argument
- Use new NetUtils timeout logic.

- Make DROP packets work again.

Common, MMTPClient:
- Move TimeoutError into Common

- Add function to detect strings that look like hostnames
- Debug TimeoutQueue

- Add _parseHost and _parseIP6

- Handle DNS lookup for MMTPHostInfo code and (possible) IPv6 result.
- Use new NetUtils timeout code

- Don't allow MMTPHostInfo objects when hostname is not a possible hostname
- Force hostnames to lower case

ServerInfo, ServerKeys:
- Rename Packet-Formats to Packet-Versions
- Deprecate IP, add Hostname.
- Deprecate Key-Digest.
- Add getIP, getHostname
- Make getKeyDigest compute digest of identity key; we don't need Key-Digest
  any more.
- Refactor protocol matchup code
- Add canStartAt function to tell whether we can connect directly to a given

- Add test for new packet types and config types
- Change code to use new BuildMessage interfaces

- Handle panding requests correctly.
- Move getIP functions to NetUtils.

- Implement DNS farm hookup for MMTPHostInfo routing.

- Add hostnames to configuration.

Index: TODO
RCS file: /home/minion/cvsroot/src/minion/TODO,v
retrieving revision 1.157
retrieving revision 1.158
diff -u -d -r1.157 -r1.158
--- TODO	9 Oct 2003 15:26:15 -0000	1.157
+++ TODO	19 Oct 2003 03:12:01 -0000	1.158
@@ -12,6 +12,12 @@
+For 0.0.5.something:
+        - Get limited client timeouts working.
+        - Make sure we clean out Filestores used by clients.
+        - Don't remove currently-undeliverable messages from client
+          queue when flushing.
 For 0.0.6:  (The release for integrators, Windows users, senders of
 large replies, people with dynamically assigned IPs, people with high
 TCP latency, and me.)
@@ -45,6 +51,7 @@
         - UI improvements:
                 . Add some convenient way to list arbitrary server features.
                 - Timeouts should say 'timeout', not EINTR.
+                - Timeouts should be user-configurable.
                 - Logging UIErrors isn't a bad idea.
                 - Separate 'mixminiond' wrapper; 'mixminion server-foo'
                   confuses folk.
@@ -76,8 +83,8 @@
                    'Hostname', use FWD/HOST.  Else use FWD/IPv4.  In 0.0.7,
                    drop FWD/IPv4 support, and remove IP from ServerInfo.]
                         o Rename *FWD_TYPE to FWD_IPV4_TYPE
-                        - Implement DNS farm
-                        - ServerInfo changes
+                        . Implement DNS farm
+                        . ServerInfo changes
                         - Path generation changes
                                 o Implement stub canRelayTo and getRoutingFor
                                   in ServerInfo.
@@ -85,15 +92,20 @@
                                   how-to-i-route-to. (impl too)
                                 . Use above functions whenever appropriate
                                 - Extend above functions to use IPV4 or HOST.
-                        - Implement *FWD/HOST
+                        . Implement *FWD/HOST
                                 o Changes in Packet.py
                                 - Test changes in Packet.py
-                                - Multiplex on routingtype.
-         - Spec conformance
-                - Directory Spec
-                        - Implement Packet-Versions
-                        - Don't use Key-Digest; mark it for removal in 0.0.7.
-                        - Make sure Maximum-Size and Allow-From
+                                o Multiplex on routingtype.
+                        . Implement Host-based routing
+                                o Implement
+                                - Notice self-routing properly
+                                - Test
+         . Spec conformance
+                . Directory Spec
+                        o Implement Packet-Versions
+                        o Don't use Key-Digest; mark it for removal in 0.0.7.
+                        - Make sure Maximum-Size and Allow-From are obeyed
+                          for all types
          - Specification
                 - Clear up specification for payload versions.
                 - Clear up specification for NEWS