[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))