Example #1
0
def cmd_fingerprint(args):
    """[Entry point] Print the fingerprint for this directory's key."""

    if args:
        raise UIError("mixminion dir fingerprint takes no arguments")
    d = getDirectory()
    key = d.getIdentity()
    print pk_fingerprint(key)
Example #2
0
def cmd_fingerprint(args):
    """[Entry point] Print the fingerprint for this directory's key."""

    if args:
        raise UIError("mixminion dir fingerprint takes no arguments")
    d = getDirectory()
    key = d.getIdentity()
    print pk_fingerprint(key)
Example #3
0
            directory = mixminion.ServerInfo.SignedDirectory(string=val,
                                  validatedDigests=validatedDigests,
                                  _keepServerContents=1)
        except ConfigError,e:
            log.warn("Rejecting malformed vote directory from %s: %s",src,e)
            continue
        try:
            checkVoteDirectory(voters, validAfter, directory)
        except BadVote, e:
            log.warn("Rejecting vote directory from %s: %s", src, e)
            continue
        log.info("Accepting vote directory from %s",src)

        # Remember server descs minimally to save room.
        sig = directory.getSignatures()[0]
        fp = pk_fingerprint(sig['Signed-Directory']['Directory-Identity'])
        serversByDir[fp] = []
        for s in directory.getAllServers():
            d = s.getDigest()
            serversByDir[fp].append(d)
            if not serverMap.has_key(d):
                serverMap[d] = s

        del directory.servers[:] # Save RAM
        if goodDirectories.has_key(fp):
            log.warn("Multiple directories with fingerprint %s; ignoring one from %s",
                     fp, goodDirectories[fp][0])
        goodDirectories[fp] = (src, directory)

    goodVotes = [ v for _,v in goodDirectories.values() ]
Example #4
0
 def getKeyFingerprint(self):
     return pk_fingerprint(self['Signed-Directory']['Directory-Identity'])
Example #5
0
 def getKeyFingerprint(self):
     return pk_fingerprint(self['Signed-Directory']['Directory-Identity'])
Example #6
0
            directory = mixminion.ServerInfo.SignedDirectory(string=val,
                                  validatedDigests=validatedDigests,
                                  _keepServerContents=1)
        except ConfigError,e:
            LOG.warn("Rejecting malformed vote directory from %s: %s",src,e)
            continue
        try:
            checkVoteDirectory(voters, validAfter, directory)
        except BadVote, e:
            LOG.warn("Rejecting vote directory from %s: %s", src, e)
            continue
        LOG.info("Accepting vote directory from %s",src)

        # Remember server descs minimally to save room.
        sig = directory.getSignatures()[0]
        fp = pk_fingerprint(sig['Signed-Directory']['Directory-Identity'])
        serversByDir[fp] = []
        for s in directory.getAllServers():
            d = s.getDigest()
            serversByDir[fp].append(d)
            if not serverMap.has_key(d):
                serverMap[d] = s

        del directory.servers[:] # Save RAM
        if goodDirectories.has_key(fp):
            LOG.warn("Multiple directories with fingerprint %s; ignoring one from %s",
                     fp, goodDirectories[fp][0])
        goodDirectories[fp] = (src, directory)

    goodVotes = [ v for _,v in goodDirectories.values() ]
Example #7
0
            directory = mixminion.ServerInfo.SignedDirectory(
                string=val, validatedDigests=validatedDigests, _keepServerContents=1
            )
        except ConfigError, e:
            LOG.warn("Rejecting malformed vote directory from %s: %s", src, e)
            continue
        try:
            checkVoteDirectory(voters, validAfter, directory)
        except BadVote, e:
            LOG.warn("Rejecting vote directory from %s: %s", src, e)
            continue
        LOG.info("Accepting vote directory from %s", src)

        # Remember server descs minimally to save room.
        sig = directory.getSignatures()[0]
        fp = pk_fingerprint(sig["Signed-Directory"]["Directory-Identity"])
        serversByDir[fp] = []
        for s in directory.getAllServers():
            d = s.getDigest()
            serversByDir[fp].append(d)
            if not serverMap.has_key(d):
                serverMap[d] = s

        del directory.servers[:]  # Save RAM
        if goodDirectories.has_key(fp):
            LOG.warn("Multiple directories with fingerprint %s; ignoring one from %s", fp, goodDirectories[fp][0])
        goodDirectories[fp] = (src, directory)

    goodVotes = [v for _, v in goodDirectories.values()]

    # Next -- what is the result of the vote? (easy cases)