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)
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() ]
def getKeyFingerprint(self): return pk_fingerprint(self['Signed-Directory']['Directory-Identity'])
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() ]
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)