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)
Exemple #2
0
#!/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"