[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[minion-cvs] Add section on handling bad servers from Peter
Update of /home/minion/cvsroot/doc/spec
In directory moria.mit.edu:/tmp/cvs-serv13702
Modified Files:
dir-spec.txt
Log Message:
Add section on handling bad servers from Peter
Index: dir-spec.txt
===================================================================
RCS file: /home/minion/cvsroot/doc/spec/dir-spec.txt,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -d -r1.17 -r1.18
--- dir-spec.txt 6 Oct 2003 18:52:08 -0000 1.17
+++ dir-spec.txt 7 Oct 2003 19:49:37 -0000 1.18
@@ -32,8 +32,9 @@
2. Type-III information exchange format
2.1. Message format
2.2. Processing unrecognized information
- 2.3. Representing data
- 2.4. Calculating digests and signatures
+ 2.3. Processing corrupt information
+ 2.4. Representing data
+ 2.5. Calculating digests and signatures
3. Server descriptor format
3.1. Server identity
3.2. Descriptor liveness
@@ -166,7 +167,36 @@
When encountering an entry with an unrecognized identifier, the
processor must ignore the entry.
-2.3. Representing data
+2.3. Processing corrupt information
+
+ In case an implementation encouters information that is not correctly
+ signed or does not conform to the syntax specified in this document
+ the following behaviour is RECOMMENDED.
+
+ If a mandatory section of the directory is missing, or any field in
+ any of the mandatory directory sections is missing or does not
+ conform to the specified syntax, then entire directory SHOULD be
+ rejected.
+
+ If a server descriptor's digest or signature does not verify then the
+ entire directory SHOULD be rejected, as this is a sign of a
+ malfunctioning directory server.
+
+ If a mandatory section of a server descriptor, or a mandatory field
+ in a mandatory section of a server descriptor is missing, then this
+ server descriptor SHOULD be ignored.
+
+ If the value of any field (mandatory or not) of a mandatory section
+ in a server descriptor does not conform to the specified syntax, then
+ this server descriptor SHOULD be ignored.
+
+ If a mandatory field in an optional section is missing, then this section
+ SHOULD be ignored.
+
+ If the value of any field (mandatory or not) of an optional section does not
+ conform to the specified syntax, then this section SHOULD be ignored.
+
+2.4. Representing data
All formats use the following conventions to convert encoded values
to and from their underlying semantic meaning:
@@ -211,7 +241,7 @@
for 0.0.0.0/0.0.0.0. An omitted PortSpec defaults to 48099 for
'allow' entries and 0-65535 on 'deny' entries.
-2.4. Calculating digests and signatures
+2.5. Calculating digests and signatures
Several places in this specification require Messages to be
self-signed with a given identity key. The digest of a message is
@@ -241,8 +271,9 @@
promise, by a mix's administrators, to provide a given set of
services, keys, and exit policies over a set period of time.
- The first section must be a 'Server' section. This section MUST
- include each of the following entries in any order, exactly once.
+ A server descriptor consists of one or more sections. The first
+ section must be a 'Server' section. This section MUST include each
+ of the following entries in any order, exactly once.
'Descriptor-Version': the string '1.0'
@@ -256,11 +287,11 @@
exponent of this key must be 65537.
'Digest': The digest of this descriptor. The value of this
- entry is unsigned. (See section 2.4)
+ entry is unsigned. (See section 2.5)
'Signature': The signed digest of this block, signed by the
Identity key. The value of this entry is unsigned. (See
- section 2.4)
+ section 2.5)
'Published': The time when this block was generated.
@@ -453,11 +484,11 @@
between 2048 and 4096 bits long, and the exponent must be 65537.
- 'DirectoryDigest' : The digest of the entire directory. The
- value of this entry is unsigned. (See section 2.4)
+ value of this entry is unsigned. (See section 2.5)
- 'DirectorySignature' : The signature of the directory digest
with the directory server's identity key. The value of this
- entry is unsigned. (See section 2.4)
+ entry is unsigned. (See section 2.5)
The 'Recommended-Software' section MUST contain the following
entries: