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

[minion-cvs] Start implementing directory agreement.



Update of /home/minion/cvsroot/src/minion/lib/mixminion/server
In directory moria.mit.edu:/tmp/cvs-serv11348/lib/mixminion/server

Modified Files:
	ServerConfig.py ServerKeys.py 
Log Message:
Start implementing directory agreement.

DirFormats:
- New file.  Contains code to generate vote directories, validate vote
  directories, and generate and sign consensus directories.

ServerInfo:
- Add code to parse and validate new multiply-signed directory formats.
- Make Hostname, Contact, Maximum-Size, and Allow-From into mandatory fields
- Ignore Key-Digest and IP.
- Make the serverdesc-can't-supersede-itself check more explicit
- Remove unused "Packet-Formats" field
- Stop generating IPv4 routing, ever.

Config:
- Drop max nickname length to 24.  128-character nicknames are insane.
- Add capability for _ConfigFile objects to retain their original
  unparsed contents in a field.  Useful for directory generation.
- Add simple support for 'IGNORE'd fields, to make deprecation and removal
  of features easier to do.

test:
- Make sure DirFormats parses; stop enforcing Key-Digest
- Stop checking for IP in server descriptors.

ServerConfig:
- Mark IP for deprecation.

ServerKeys:
- Stop checking IP in server descriptors.



Index: ServerConfig.py
===================================================================
RCS file: /home/minion/cvsroot/src/minion/lib/mixminion/server/ServerConfig.py,v
retrieving revision 1.57
retrieving revision 1.58
diff -u -d -r1.57 -r1.58
--- ServerConfig.py	27 Jul 2004 04:33:20 -0000	1.57
+++ ServerConfig.py	24 Aug 2004 22:16:09 -0000	1.58
@@ -366,8 +366,7 @@
                                             "10 minutes",) },
         # FFFF Generic multi-port listen/publish options.
         'Incoming/MMTP' : { 'Enabled' : ('REQUIRE', "boolean", "no"),
-                            #XXXX008 deprecate or remove IP: hasn't been
-                            #XXXX008 needed since 0.0.5.
+                            #XXXX009 Stop looking at IP; not checked since 008.
                             'IP' : ('ALLOW', "IP", "0.0.0.0"),
                           'Hostname' : ('ALLOW', "host", None),
                           'Port' : ('ALLOW', "int", "48099"),

Index: ServerKeys.py
===================================================================
RCS file: /home/minion/cvsroot/src/minion/lib/mixminion/server/ServerKeys.py,v
retrieving revision 1.67
retrieving revision 1.68
diff -u -d -r1.67 -r1.68
--- ServerKeys.py	27 Jul 2004 04:33:20 -0000	1.67
+++ ServerKeys.py	24 Aug 2004 22:16:09 -0000	1.68
@@ -881,15 +881,15 @@
         warn("Mismatched ports: %s configured; %s published.",
              config_im['Port'], info_im['Port'])
 
-    info_ip = info_im.get('IP',None)
-    if config_im['IP'] == '0.0.0.0':
-        guessed = _guessLocalIP()
-        if guessed != info_ip:
-            warn("Mismatched IPs: Guessed IP (%s); %s published.",
-                 guessed, info_ip)
-    elif config_im['IP'] != info_ip:
-        warn("Mismatched IPs: %s configured; %s published.",
-             config_im['IP'], info_ip)
+##     info_ip = info_im.get('IP',None)
+##     if config_im['IP'] == '0.0.0.0':
+##         guessed = _guessLocalIP()
+##         if guessed != info_ip:
+##             warn("Mismatched IPs: Guessed IP (%s); %s published.",
+##                  guessed, info_ip)
+##     elif config_im['IP'] != info_ip:
+##         warn("Mismatched IPs: %s configured; %s published.",
+##              config_im['IP'], info_ip)
 
     info_host = info_im.get('Hostname',None)
     config_host = config_im['Hostname']
@@ -999,12 +999,14 @@
     mmtpProtocolsIn = ",".join(mmtpProtocolsIn)
     mmtpProtocolsOut = ",".join(mmtpProtocolsOut)
 
-    #XXXX008 remove: hasn't been needed since 0.0.5.
+
+    #XXXX009 remove: hasn't been checked since 007 or used since 005.
     identityKeyID = formatBase64(
                       mixminion.Crypto.sha1(
                           mixminion.Crypto.pk_encode_public_key(identityKey)))
 
     fields = {
+        # XXXX009 remove: hasn't been checked since 007.
         "IP": config['Incoming/MMTP'].get('IP', "0.0.0.0"),
         "Hostname": config['Incoming/MMTP'].get('Hostname', None),
         "Port": config['Incoming/MMTP'].get('Port', 0),