mumble/scripts/testauth.py
2009-02-18 20:28:59 +00:00

90 lines
2.4 KiB
Python
Executable File

#!/usr/bin/env python
# -*- coding: utf-8
import Ice, sys
Ice.loadSlice('Murmur.ice')
import Murmur
class ServerAuthenticatorI(Murmur.ServerUpdatingAuthenticator):
def __init__(self, server, adapter):
self.server = server
def authenticate(self, name, pw, current=None):
if (name == "One"):
if (pw == "Magic"):
return (1, "One", None)
else:
return (-1, None, None)
elif (name == "Two"):
if (pw == "Mushroom"):
return (2, "twO", None)
else:
return (-1, None, None)
return (-2, None, None)
def nameToId(self, name, current=None):
if (name == "One"):
return 1
elif (name == "Twoer"):
return 2
else:
return -2;
def idToName(self, id, current=None):
if (id == 1):
return "One"
elif (id == 2):
return "Two"
else:
return None
def idToTexture(self, id, current=None):
return None
# The expanded methods from UpdatingAuthenticator. We only implement a subset for this example, but
# a valid implementation has to define all of them
def registerPlayer(self, name, current=None):
print "Someone tried to register " + name
return -2
def unregisterPlayer(self, id, current=None):
return -2
def getRegistration(self, id, current=None):
return (-2, None, None)
if __name__ == "__main__":
global contextR
print "Creating callbacks...",
ice = Ice.initialize(sys.argv)
meta = Murmur.MetaPrx.checkedCast(ice.stringToProxy('Meta:tcp -h 127.0.0.1 -p 6502'))
adapter = ice.createObjectAdapterWithEndpoints("Callback.Client", "tcp -h 127.0.0.1")
adapter.activate()
for server in meta.getBootedServers():
serverR=Murmur.ServerUpdatingAuthenticatorPrx.uncheckedCast(adapter.addWithUUID(ServerAuthenticatorI(server, adapter)))
server.setAuthenticator(serverR)
# server.registerPlayer("TestPlayer")
print "Done"
for server in meta.getBootedServers():
ids= server.getPlayerIds(["TestPlayer"])
for name,id in ids.iteritems():
server.unregisterPlayer(id)
server.registerPlayer("TestPlayer")
print 'Script running (press CTRL-C to abort)';
try:
ice.waitForShutdown()
except KeyboardInterrupt:
print 'CTRL-C caught, aborting'
meta.removeCallback(metaR)
ice.shutdown()
print "Goodbye"