def request_authentication(self, client, authid, member_name): if "@" in member_name: member = Member.by_member_email(member_name) else: member = Member.by_member_name(member_name) if member is None: print "Could not fetch member. Failing authentication." self.deny.emit(client, authid) return pubkey = member.public_auth_key if pubkey is None: print "Could not fetch pubkey. Failing authentication." self.deny.emit(client, authid) return challenge, answer = cube2crypto.genchallenge(pubkey, format(random.getrandbits(128), 'X')) self.pending_auths[(client, authid)] = {'member': member, 'answer': answer} self.challenge.emit(client, authid, challenge)
#!/usr/bin/python import sys id_member = int(sys.argv[1]) if id_member < 0: print "Member ids must be positive." sys.exit(-1) import random import cube2crypto from BaseTables import Member, MemberGroup member = Member.by_member_id(id_member) if member is None: print "Could not retrieve member." sys.exit(-1) member.private_auth_key, member.public_auth_key = cube2crypto.genkeypair(format(random.getrandbits(128), 'X')) print "Successfully updated auth keys." sys.exit(0)
def set_offline(self, client, uid): member = Member.by_member_id(uid) if member is not None: member.ingame = "offline"