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

[minion-cvs] Spelling fixes



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

Modified Files:
	BuildMessage.py ClientMain.py Common.py Crypto.py 
	MMTPClient.py Packet.py ServerInfo.py __init__.py benchmark.py 
	test.py 
Log Message:
Spelling fixes

Index: BuildMessage.py
===================================================================
RCS file: /home/minion/cvsroot/src/minion/lib/mixminion/BuildMessage.py,v
retrieving revision 1.48
retrieving revision 1.49
diff -u -d -r1.48 -r1.49
--- BuildMessage.py	30 Jun 2003 17:33:33 -0000	1.48
+++ BuildMessage.py	13 Jul 2003 03:45:33 -0000	1.49
@@ -352,7 +352,7 @@
 
 def _decodeReplyPayload(payload, secrets, check=0):
     """Helper function: decode a reply payload, given a known list of packet
-         master secrets. If 'check' is true, then 'secerets' may be overlong.
+         master secrets. If 'check' is true, then 'secerts' may be overlong.
          Return values are the same as decodePayload.
       [secrets must be in _reverse_ order]
     """
@@ -546,7 +546,7 @@
         rsaPart = subhead.pack() + underflow
         esh = Crypto.pk_encrypt(rsaPart, pubkey)
 
-        # Concatentate the asymmetric and symmetric parts, to get the next
+        # Concatenate the asymmetric and symmetric parts, to get the next
         # header.
         header = esh + header
 

Index: ClientMain.py
===================================================================
RCS file: /home/minion/cvsroot/src/minion/lib/mixminion/ClientMain.py,v
retrieving revision 1.100
retrieving revision 1.101
diff -u -d -r1.100 -r1.101
--- ClientMain.py	13 Jul 2003 02:59:30 -0000	1.100
+++ ClientMain.py	13 Jul 2003 03:45:33 -0000	1.101
@@ -349,7 +349,7 @@
 
         # Is the server expired?
         if info.isExpiredAt(time.time()):
-            raise UIError("Server desciptor is expired")
+            raise UIError("Server descriptor is expired")
 
         # Is the server superseded?
         if self.byNickname.has_key(lcnickname):
@@ -718,7 +718,7 @@
        address -- the address to deliver the message to; if it specifies
           an exit node, the exit node is appended to the second leg of the
           path and does not count against the number of hops.  If 'address'
-          is None, the exit node must support realy.
+          is None, the exit node must support relay.
        nHops -- the number of hops to use.  Defaults to defaultNHops.
        startAt/endAt -- A time range during which all servers must be valid.
        halfPath -- If true, we generate only the second leg of the path
@@ -1259,7 +1259,7 @@
     def clean(self, now=None):
         """Remove all entries from this SURBLog the correspond to expired
            SURBs.  This is safe because if a SURB is expired, we'll never be
-           able to use it inadvertantly."""
+           able to use it inadvertently."""
         if now is None:
             now = time.time() + 60*60
         allHashes = self.log.keys()
@@ -1286,7 +1286,7 @@
     #           ("PACKET-0",
     #             a 32K string (the packet),
     #             an instance of IPV4Info (the first hop),
-    #             the latest midnight preceeding the time when this
+    #             the latest midnight preceding the time when this
     #                 packet was inserted into the queue
     #           )
     # XXXX change this to be OO; add nicknames.
@@ -1421,7 +1421,7 @@
             servers1,servers2 -- lists of ServerInfos for the first and second
                legs the path, respectively.
             forceQueue -- if true, do not try to send the message; simply
-               quque it and exit.
+               queue it and exit.
             forceNoQueue -- if true, do not queue the message even if delivery
                fails."""
         assert not (forceQueue and forceNoQueue)
@@ -1812,7 +1812,7 @@
              -v | --verbose : run verbosely.
           DIRECTORY ONLY
              -D | --download-directory : force/disable directory downloading.
-          PATH-RELEATED
+          PATH-RELATED
              -t | --to : specify an exit address
              -R | --reply-block : specify a reply block
              -H | --hops : specify a path length
@@ -1864,11 +1864,11 @@
               is called.
            wantLog -- If true, configure logging.
            wantDownload -- If true, accept options pertaining to downloading
-              a new directory, and download the directrory as required.
+              a new directory, and download the directory as required.
            wantForawrdPath -- If true, accept options to specify a forward
               path (for forward or reply messages), and enable self.parsePath.
            wantReplyPath -- If true, accept options to specify a path for
-              a reply block, and enable seslf.parsePath.
+              a reply block, and enable self.parsePath.
            minHops -- Smallest allowable value for -H option.
         """
         self.config = None
@@ -2123,7 +2123,7 @@
   -f <file>, --config=<file> Use a configuration file other than ~.mixminionrc
                                (You can also use MIXMINIONRC=FILE)
   -H <n>, --hops=<n>         Force the path to use <n> hops.
-  -i <file>, --input=<file>  Read the messagefrom <file>. (Defaults to stdin.)
+  -i <file>, --input=<file>  Read the message from <file>. (Defaults to stdin.)
   -P <path>, --path=<path>   Specify an explicit message path.
   -t address, --to=address   Specify the recipient's address.
   -R <file>, --reply-block=<file>

Index: Common.py
===================================================================
RCS file: /home/minion/cvsroot/src/minion/lib/mixminion/Common.py,v
retrieving revision 1.100
retrieving revision 1.101
diff -u -d -r1.100 -r1.101
--- Common.py	10 Jul 2003 20:09:58 -0000	1.100
+++ Common.py	13 Jul 2003 03:45:33 -0000	1.101
@@ -88,7 +88,7 @@
 
 class UsageError(UIError):
     """Exception raised for an error that should be reported to the user
-       along with a usage mesage.
+       along with a usage message.
     """
     pass
 
@@ -154,7 +154,7 @@
         """Convert 's' to a one-line base-64 representation."""
         return binascii.b2a_base64(s).strip()
 else:
-    # Python 2.0 didin't allow a binascii to return more than one line.
+    # Python 2.0 didn't allow a binascii to return more than one line.
     def formatBase64(s):
         """Convert 's' to a one-line base-64 representation."""
         return encodeBase64(s, 64, 1)
@@ -347,7 +347,7 @@
 def checkPrivateFile(fn, fix=1):
     """Checks whether f is a file owned by this uid, set to mode 0600 or
        0700, and all its parents pass checkPrivateDir.  Raises MixFatalError
-       if the assumtions are not met; else return None.  If 'fix' is true,
+       if the assumptions are not met; else return None.  If 'fix' is true,
        repair permissions on the file rather than raising MixFatalError."""
     parent, _ = os.path.split(fn)
     checkPrivateDir(parent)
@@ -355,11 +355,11 @@
         st = os.stat(fn)
     except OSError, e:
         if e.errno == errno.EEXIST:
-            raise MixFatalError("Nonexistant file %s" % fn)
+            raise MixFatalError("Nonexistent file %s" % fn)
         else:
-            raise MixFatalError("Could't stat file %s: %s" % (fn, e))
+            raise MixFatalError("Couldn't stat file %s: %s" % (fn, e))
     if not st:
-        raise MixFatalError("Nonexistant file %s" % fn)
+        raise MixFatalError("Nonexistent file %s" % fn)
     if not os.path.isfile(fn):
         raise MixFatalError("%s is not a regular file" % fn)
     
@@ -672,7 +672,7 @@
        partition from the get-go... or to physically destroy and
        replace your hard drive every so often.)
 
-       So we don't even bother trying to make the data 'physcially
+       So we don't even bother trying to make the data 'physically
        irretrievable.'  We just zero it out, which should be good
        enough to stymie root for most purposes, and totally inadequate
        against a well-funded adversary with access to your hard drive
@@ -793,7 +793,7 @@
                  message or a connection.
               FATAL: nonrecoverable errors that affect the entire system.
 
-       In practise, we instantiate only a single instance of this class,
+       In practice, we instantiate only a single instance of this class,
        accessed as mixminion.Common.LOG."""
     ## Fields:
     # handlers: a list of logHandler objects.
@@ -919,7 +919,7 @@
         self.log("FATAL", message, *args)
     def log_exc(self, severity, (exclass, ex, tb), message=None, *args):
         """Write an exception and stack trace to the log.  If message and
-           args are provided, use them as an explanitory message; otherwise,
+           args are provided, use them as an explanatory message; otherwise,
            introduce the message as "Unexpected exception".
 
            This should usually be called as
@@ -1032,7 +1032,7 @@
 
 def formatFnameTime(when=None):
     """Given a time in seconds since the epoch, returns a date value suitable
-       for use as part of a fileame.  Defaults to the current time."""
+       for use as part of a filename.  Defaults to the current time."""
     if when is None:
         when = time.time()
     return time.strftime("%Y%m%d%H%M%S", time.localtime(when))
@@ -1096,7 +1096,7 @@
         return self
 
 #----------------------------------------------------------------------
-# InteralSet
+# IntervalSet
 
 class IntervalSet:
     """An IntervalSet is a mutable set of numeric intervals, closed below and
@@ -1240,7 +1240,7 @@
         return cmp(self.edges, other.edges)
 
     def start(self):
-        """Return the first point contained in this inverval."""
+        """Return the first point contained in this interval."""
         return self.edges[0][0]
 
     def end(self):
@@ -1250,7 +1250,7 @@
 #----------------------------------------------------------------------
 # SMTP address functionality
 
-# Regular expressions to valide RFC822 addresses.
+# Regular expressions to validate RFC822 addresses.
 # (This is more strict than RFC822, actually.  RFC822 allows tricky stuff to
 #   quote special characters, and I don't trust every MTA or delivery command
 #   to support addresses like <bob@bob."; rm -rf /; echo".com>
@@ -1294,7 +1294,7 @@
         return
     while 1:
         try:
-            # WIN32 This won't work on Windows.  What to do?
+            # WWWW This won't work on Windows.  What to do?
             pid, status = os.waitpid(-1, options)
         except OSError, e:
             return
@@ -1311,7 +1311,6 @@
 
     while 1:
         try:
-            # WIN32 This waitpid call won't work on Windows.  What to do?
             pid, status = os.waitpid(-1, os.WNOHANG)
             if pid == 0:
                 break

Index: Crypto.py
===================================================================
RCS file: /home/minion/cvsroot/src/minion/lib/mixminion/Crypto.py,v
retrieving revision 1.47
retrieving revision 1.48
diff -u -d -r1.47 -r1.48
--- Crypto.py	13 Jul 2003 02:59:30 -0000	1.47
+++ Crypto.py	13 Jul 2003 03:45:33 -0000	1.48
@@ -319,7 +319,7 @@
 #       ftp://ftp.rsasecurity.com/pub/rsalabs/rsa_algorithm/rsa-oaep_spec.pdf)
 
 def _oaep_mgf(seed, bytes):
-    ''' Mask generation function specified for RAESA-OAEP.  Given a seed
+    ''' Mask generation function specified for RSA-OAEP.  Given a seed
         and a number of bytes, generates a mask for OAEP by computing
         sha1(seed + "\x00\x00\x00\x00")+sha1(seed+"\x00\x00\x00\x01)+...
 
@@ -386,7 +386,7 @@
         raise CryptoError("Decoding error")
     return m
 
-# Use the fastest implementaiton of OAEP we have.
+# Use the fastest implementation of OAEP we have.
 if hasattr(_ml, 'check_oaep_padding'):
     check_oaep = _ml.check_oaep_padding
     add_oaep = _ml.add_oaep_padding

Index: MMTPClient.py
===================================================================
RCS file: /home/minion/cvsroot/src/minion/lib/mixminion/MMTPClient.py,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -d -r1.35 -r1.36
--- MMTPClient.py	10 Jul 2003 21:52:31 -0000	1.35
+++ MMTPClient.py	13 Jul 2003 03:45:33 -0000	1.36
@@ -6,7 +6,7 @@
    side of the Mixminion Transfer protocol.  You can use this client to
    upload messages to any conforming Mixminion server.
 
-   (We don't use this module for tranferring packets between servers;
+   (We don't use this module for transferring packets between servers;
    in fact, MMTPServer makes it redundant.  We only keep this module
    around [A] so that clients have an easy (blocking) interface to
    introduce messages into the system, and [B] so that we've got an
@@ -133,7 +133,7 @@
         # For now, we only support 1.0, but we call it 0.3 so we can
         # change our mind between now and a release candidate, and so we
         # can obsolete betas come release time.
-        LOG.debug("Negotiatiating MMTP protocol")
+        LOG.debug("Negotiating MMTP protocol")
         self.tls.write("MMTP %s\r\n" % ",".join(self.PROTOCOL_VERSIONS))
         # This is ugly, but we have no choice if we want to read up to the
         # first newline.
@@ -150,7 +150,7 @@
                 break
         if not self.protocol:
             raise MixProtocolError("Protocol negotiation failed")
-        LOG.debug("MMTP protocol negotated: version %s", self.protocol)
+        LOG.debug("MMTP protocol negotiated: version %s", self.protocol)
 
     def renegotiate(self):
         """Re-do the TLS handshake to renegotiate a new connection key."""
@@ -269,7 +269,7 @@
 class PeerCertificateCache:
     """A PeerCertificateCache validates certificate chains from MMTP servers,
        and remembers which chains we've already seen and validated."""
-    ## Fieleds
+    ## Fields
     # cache: A map from peer (temporary) KeyID's to a (signing) KeyID.
     def __init__(self):
         self.cache = {}

Index: Packet.py
===================================================================
RCS file: /home/minion/cvsroot/src/minion/lib/mixminion/Packet.py,v
retrieving revision 1.51
retrieving revision 1.52
diff -u -d -r1.51 -r1.52
--- Packet.py	13 Jul 2003 02:59:30 -0000	1.51
+++ Packet.py	13 Jul 2003 03:45:34 -0000	1.52
@@ -282,8 +282,8 @@
 # A singleton payload starts with a 0 bit, 15 bits of size, and a 20-byte hash
 SINGLETON_UNPACK_PATTERN = "!H%ds" % (DIGEST_LEN)
 
-# A fragment payload starts with a 1 bit, a 15-bit paket index, a 20-byte hash,
-# a 20-byte message ID, and 4 bytes of message size.
+# A fragment payload starts with a 1 bit, a 15-bit packet index, a
+# 20-byte hash, a 20-byte message ID, and 4 bytes of message size.
 FRAGMENT_UNPACK_PATTERN = "!H%ds%dsL" % (DIGEST_LEN, FRAGMENT_MESSAGEID_LEN)
 
 class _Payload:

Index: ServerInfo.py
===================================================================
RCS file: /home/minion/cvsroot/src/minion/lib/mixminion/ServerInfo.py,v
retrieving revision 1.50
retrieving revision 1.51
diff -u -d -r1.50 -r1.51
--- ServerInfo.py	7 Jul 2003 16:49:24 -0000	1.50
+++ ServerInfo.py	13 Jul 2003 03:45:34 -0000	1.51
@@ -463,7 +463,7 @@
 _trailing_whitespace_re = re.compile(r'[ \t]+$', re.M)
 _abnormal_line_ending_re = re.compile(r'\r\n?')
 def _cleanForDigest(s):
-    """Helper function: clean line endigs and whitespace so we can calculate
+    """Helper function: clean line endings and whitespace so we can calculate
        our digests with uniform results."""
     # should be shared with config, serverinfo.
     s = _abnormal_line_ending_re.sub("\n", s)
@@ -481,7 +481,7 @@
 
        info -- the string to digest or sign.
        regex -- a compiled regex that matches the line containing the digest
-          and the line containting the signature.
+          and the line containing the signature.
        digestField -- If not signing, None.  Otherwise, the name of the digest
           field.
        sigField -- If not signing, None.  Otherwise, the name of the signature

Index: __init__.py
===================================================================
RCS file: /home/minion/cvsroot/src/minion/lib/mixminion/__init__.py,v
retrieving revision 1.42
retrieving revision 1.43
diff -u -d -r1.42 -r1.43
--- __init__.py	12 Jun 2003 06:30:40 -0000	1.42
+++ __init__.py	13 Jul 2003 03:45:34 -0000	1.43
@@ -16,7 +16,7 @@
 #        100 for release.
 # The 5th is a patchlevel.  If -1, it is suppressed.
 # The 4th or 5th number may be a string.  If so, it is not meant to
-#   succeed or preceed any other sub-version with the same a.b.c version
+#   succeed or precede any other sub-version with the same a.b.c version
 #   number.
 version_info = (0, 0, 5, 0, 1)
 __all__ = [ 'server', 'directory' ]

Index: benchmark.py
===================================================================
RCS file: /home/minion/cvsroot/src/minion/lib/mixminion/benchmark.py,v
retrieving revision 1.44
retrieving revision 1.45
diff -u -d -r1.44 -r1.45
--- benchmark.py	8 Jul 2003 19:13:50 -0000	1.44
+++ benchmark.py	13 Jul 2003 03:45:34 -0000	1.45
@@ -41,7 +41,7 @@
 # If PRECISION_FACTOR is >1, we time everything for PRECISION_FACTOR times
 # more iterations than ususal.
 #
-# If PRESISION_FACTOR is 0, we only try stuff once.  Good for testing this
+# If PRECISION_FACTOR is 0, we only try stuff once.  Good for testing this
 # file in a hurry.
 PRECISION_FACTOR = 1
 
@@ -300,7 +300,7 @@
         print "[generating key...]"
         rsa2 = pk_generate(bits)
         t = time()-t
-        print "RSA genrate (%d bit)"%bits, timestr(t)
+        print "RSA generate (%d bit)"%bits, timestr(t)
         enc = pk_encrypt(s70b, rsa2)
         print "Pad+RSA public encrypt (%d bit)"%bits,
         print timeit((lambda rsa2=rsa2: pk_encrypt("zzz", rsa2)),it)
@@ -431,14 +431,14 @@
     print "Uncompress (1K, no max)", \
           timeit(lambda c=compressed: uncompressData(c), 1000)
     compressed = compressData("Hello!!!"*(128*28))
-    print "Unompress (28K, no max)", \
+    print "Uncompress (28K, no max)", \
           timeit(lambda c=compressed: uncompressData(c), 1000)
 
     compressed = compressData("Hello!!!"*128)
     print "Uncompress (1K, 1K max)", \
           timeit(lambda c=compressed: uncompressData(c, 1024), 1000)
     compressed = compressData("Hello!!!"*(128*28))
-    print "Unompress (28K, 28K max)", \
+    print "Uncompress (28K, 28K max)", \
           timeit(lambda c=compressed: uncompressData(c, 28<<10), 1000)
 
     payload = ("Junky qoph flags vext crwd zimb."*1024)[:22*1024]
@@ -595,7 +595,7 @@
     # Here we compare the time spent in an operation with the time we think
     # is required for its underlying operations, in order to try to measure
     # its efficiency.  If function X is pretty efficient, there's not much
-    # reason to try to optimise its implementation; instead, we need to attack
+    # reason to try to optimize its implementation; instead, we need to attack
     # the functions it uses.
 
     ##### LIONESS

Index: test.py
===================================================================
RCS file: /home/minion/cvsroot/src/minion/lib/mixminion/test.py,v
retrieving revision 1.137
retrieving revision 1.138
diff -u -d -r1.137 -r1.138
--- test.py	13 Jul 2003 02:59:30 -0000	1.137
+++ test.py	13 Jul 2003 03:45:34 -0000	1.138
@@ -819,7 +819,7 @@
         self.assertEquals(padhello, p.crypt(msg1,0,0))
         self.assertEquals(padhello, p.crypt(msg2,0,0))
         self.assertEquals(padhello, p.crypt(msg3,0,0))
-        # And make sure that neihter p2 nor p3 can decode them.
+        # And make sure that neither p2 nor p3 can decode them.
         self.failUnlessRaises(TypeError, p2.crypt, msg1, 0, 0)
         self.failUnlessRaises(TypeError, p3.crypt, msg1, 0, 0)
         # And make sure that we can't encode either as a private key
@@ -2988,7 +2988,7 @@
         noia = mix_mktemp("noia")
         subdir = os.path.join(noia, "subdir")
 
-        # Nonexistant directory.
+        # Nonexistent directory.
         self.failUnlessRaises(MixFatalError, checkPrivateDir, noia)
         # Bad permissions.
         os.mkdir(noia)
@@ -3585,7 +3585,7 @@
         self.assertEquals(f['Sec1']['Foo'], 'a')
         self.assertEquals(f['Sec2'], {})
 
-        # Now, try all the syntaxtical possibilities, and all the fields
+        # Now, try all the syntactical possibilities, and all the fields
         longerString = """[Sec1]
 
 Foo=  abcde f
@@ -4098,7 +4098,7 @@
                               mixminion.ServerInfo.ServerInfo,
                               None, badSig)
 
-        # Test superceding
+        # Test superseding
         ServerInfo = mixminion.ServerInfo.ServerInfo
         examples = getExampleServerDescriptors()
         bobs = [ ServerInfo(string=s, assumeValid=1) for s in examples["Bob"] ]
@@ -4250,7 +4250,7 @@
         lst.importServerInfo(examples["Bob"][4])
         self.failUnlessRaises(MixError,
                               lst.importServerInfo, examples["Bob"][1])
-        # Now, start with a fresh list, so we can try superceding bob later.
+        # Now, start with a fresh list, so we can try superseding bob later.
         baseDir = mix_mktemp()
         archiveDir = os.path.join(baseDir, "archive")
         serverDir = os.path.join(baseDir, "servers")
@@ -4276,7 +4276,7 @@
         self.failUnlessRaises(MixError, lst.importServerInfo,
                               examples["Bob"][0], 1)
 
-        ### Now test the removal of superceded servers.
+        ### Now test the removal of superseded servers.
         # Clean out archiveDir first so we can see what gets removed.
         for a in os.listdir(archiveDir):
             os.unlink(os.path.join(archiveDir, a))
@@ -4288,7 +4288,7 @@
         lst.importServerInfo(examples["Bob"][2]) # From  6 to 9
         lst.importServerInfo(examples["Bob"][3]) # Newer, from 0 to 3
         eq(4, len(lst.servers))
-        # Right now, nothing is superceded or expired
+        # Right now, nothing is superseded or expired
         lst.clean()
         eq(4, len(os.listdir(serverDir)))
         eq(4, len(lst.serversByNickname["bob"]))
@@ -4386,7 +4386,7 @@
          Total: 1
 """
         eq(s, expected)
-        # Test time accumultion.
+        # Test time accumulation.
         ES.log.save(now=tm+1800)
         self.assert_(abs(1800-ES.log.accumulatedTime) < 10)
         self.assertEquals(ES.log.lastSave, tm+1800)
@@ -4511,7 +4511,7 @@
         mod_dir = mix_mktemp()
         home_dir = mix_mktemp()
 
-        # Create an example module, and try to load iit.
+        # Create an example module, and try to load it.
         os.mkdir(mod_dir, 0700)
         writeFile(os.path.join(mod_dir, "ExampleMod.py"),
                   EXAMPLE_MODULE_TEXT)
@@ -4568,7 +4568,7 @@
         self.assertEquals(1, queue.count())
         # It should have processed all three.
         self.assertEquals(3, len(exampleMod.processedMessages))
-        # If we try to send agin, the second message should get re-sent.
+        # If we try to send again, the second message should get re-sent.
         time.sleep(.15) # so we retry.
         manager.sendReadyMessages()
         self.assertEquals(1, queue.count())
@@ -4780,7 +4780,7 @@
         bad("deny allhosts")
 
     def testMixmasterSMTP(self):
-        """Check out the SMTP-Via-Mixmaster module.  (We temporarily relace
+        """Check out the SMTP-Via-Mixmaster module.  (We temporarily replace
            os.spawnl with a stub function so that we don't actually send
            anything."""
         manager = self.getManager()
@@ -4858,7 +4858,7 @@
             clearReplacedFunctionCallLog()
 
     def testDirectSMTP(self):
-        """Check out the SMTP module.  (We temporarily relace sendSMTPMessage
+        """Check out the SMTP module.  (We temporarily replace sendSMTPMessage
            with a stub function so that we don't actually send anything.)"""
         FDP = FakeDeliveryPacket
 
@@ -4890,7 +4890,7 @@
                      "Free to speak, to free ourselves\n"+
                      "Free to hide no more.")
 
-            # Try queueing a valild message and sending it.
+            # Try queueing a valid message and sending it.
             queueMessage(FDP('plain', SMTP_TYPE, "users@everywhere", haiku))
             self.assertEquals(getReplacedFunctionCallLog(), [])
             queue.sendReadyMessages()
@@ -4985,7 +4985,7 @@
             clearReplacedFunctionCallLog()
 
     def testMBOX(self):
-        """Check out the MBOX module. (We temporarily relace sendSMTPMessage
+        """Check out the MBOX module. (We temporarily replace sendSMTPMessage
            with a stub function so that we don't actually send anything.)"""
         FDP = FakeDeliveryPacket
         # Configure the module
@@ -5050,7 +5050,7 @@
 
     def testDirectoryDump(self):
         """Check out the DirectoryStoreModule that we use for testing on
-           machines with unreliable/nonexistant SMTP."""
+           machines with unreliable/nonexistent SMTP."""
         FDP = FakeDeliveryPacket
         eme = mixminion.server.Modules._escapeMessageForEmail
         dir = mix_mktemp()
@@ -5420,7 +5420,7 @@
         finally:
             resumeLog()
 
-        # Now, for each starting time, generate a server desciprtor.
+        # Now, for each starting time, generate a server descriptor.
         _EXAMPLE_DESCRIPTORS[nickname] = []
         publishing = now
         for n in xrange(len(starting)):
@@ -5862,7 +5862,7 @@
 
         # 2. Failing cases
         raises = self.assertRaises
-        # Nonexistant server
+        # Nonexistent server
         raises(MixError, ppath, ks, None, "Pierre:Alice,*", email)
         # Two swap points
         raises(MixError, ppath, ks, None, "Alice:Bob:Joe", email)
@@ -5874,7 +5874,7 @@
         # NHops mismatch
         raises(MixError, ppath, ks, None, "Alice:Bob,Joe", email, nHops=2)
         raises(MixError, ppath, ks, None, "Alice:Bob,Joe", email, nHops=4)
-        # Nonexistant file
+        # Nonexistent file
         raises(MixError, ppath, ks, None, "./Pierre:Alice,*", email)
 
         ## Try 'expungeByNickname'.
@@ -5949,7 +5949,7 @@
     def testClientKeyring(self):
         keydir = mix_mktemp()
         keyring = mixminion.ClientMain.ClientKeyring(keydir)
-        # Check for some nonexistant keys.
+        # Check for some nonexistent keys.
         self.assertEquals({}, keyring.getSURBKeys(password="pwd"))
 
         self.assertEquals(None, keyring.getSURBKey(create=0))