[Twisted-Python] why insecureJelly
Stephan Popp
Stephan.Popp at iisb.fraunhofer.de
Fri Jul 29 02:46:45 MDT 2005
Hi,
I want to send objects accross the network and all I get is insecure Jelly.
My application looks like this:
-folder structure:
-dispyte
--common
--GACrysVUn
--baseclasses
in common is the declaration of the object which should be send:
from dispyte.baseclasses import Task #thats the abstract baseclass
from twisted.spread import pb
class SimpleTask(Task.Task, pb.Copyable, pb.RemoteCopy):
def __init__(self):
...
pb.setUnjellyableForClass(SimpleTask, SimpleTask)
these objects are created by a instance of a class located in GACrysVUn:
from dispyte.baseclasses import Producer
from dispyte.common import SimpleTask
class GACrysVUnProducer(Producer.Producer):
def foo(): #just as examlpe of the structure
task = SimpleTask.SimpleTask()
the task-object is given to another class instance lockated in common:
here the task object is send:
...
factory = pb.PBClientFactory()
reactor.connectTCP(parameters[0], parameters[1], factory)
def0 = factory.getRootObject()
...
def2 = self.root.callRemote("fitness", task, self.taskDescription,
self.ID)
def2.addCallback(self.callback)
def2.addErrback(self.errback, task, self)
the server looks like:
from twisted.spread import pb
from twisted.internet import reactor,threads
from dispyte.common import SimpleTask
from dispyte.common import ScriptedTaskDescription
import sys
class ServerObject(pb.Root):
...
def remote_fitness(self, task, taskDescription, serverID):
"""
calls calc in seperate thread and return a deferred
"""
self.ID = serverID
print "ServerObject::remote_fitness ..."
return threads.deferToThread(self.calc,task,serverID, taskDescription)
...
if __name__ == '__main__':
factory = pb.PBServerFactory(ServerObject(sys.argv[1]))
reactor.listenTCP(eval(sys.argv[1]), factory)
reactor.run()
I can't figure out, why insecureJelly is raised here. Can anyone help me?
And: Is there a possibility to turn off this feature, so that a server takes
objects no matter what class?
Thanks in advance.
Stephan
More information about the Twisted-Python
mailing list