core: CALL_FUNCTION should check auth_id, not src_id

This commit is contained in:
David Wilson 2018-02-14 21:59:25 +05:45
parent f001eba23e
commit f3e51a7b18
2 changed files with 3 additions and 2 deletions

View File

@ -1247,8 +1247,8 @@ class ExternalContext(object):
for msg in self.channel:
data = msg.unpickle(throw=False)
LOG.debug('_dispatch_calls(%r)', data)
if msg.src_id not in mitogen.parent_ids:
LOG.warning('CALL_FUNCTION from non-parent %r', msg.src_id)
if msg.auth_id not in mitogen.parent_ids:
LOG.warning('CALL_FUNCTION from non-parent %r', msg.auth_id)
modname, klass, func, args, kwargs = data
try:

View File

@ -78,6 +78,7 @@ class Listener(mitogen.core.BasicStream):
context = mitogen.master.Context(self._router, context_id)
stream = mitogen.core.Stream(self._router, context_id)
stream.accept(sock.fileno(), sock.fileno())
stream.auth_id = mitogen.context_id
self._router.register(context, stream)
sock.send(struct.pack('>LL', context_id, mitogen.context_id))
sock.close()