fix consumer working with new mesh signin flow
This commit is contained in:
parent
d67e910fda
commit
9279e03636
1 changed files with 12 additions and 9 deletions
|
@ -197,7 +197,7 @@ class MeshConsumer(AsyncWebsocketConsumer):
|
||||||
await self.channel_layer.group_add(MESH_ALL_OTA_GROUP, self.channel_name)
|
await self.channel_layer.group_add(MESH_ALL_OTA_GROUP, self.channel_name)
|
||||||
|
|
||||||
# add this node as a destination that this uplink handles (duh)
|
# add this node as a destination that this uplink handles (duh)
|
||||||
await self.add_dst_node(src_node, parent=None)
|
await self.add_dst_node(src_node, parent_address=None)
|
||||||
self.dst_nodes[msg.src].last_msg[MeshMessageType.MESH_SIGNIN] = msg.content
|
self.dst_nodes[msg.src].last_msg[MeshMessageType.MESH_SIGNIN] = msg.content
|
||||||
|
|
||||||
return
|
return
|
||||||
|
@ -217,18 +217,21 @@ class MeshConsumer(AsyncWebsocketConsumer):
|
||||||
node_status.last_msg[msg.content.msg_type] = msg.content
|
node_status.last_msg[msg.content.msg_type] = msg.content
|
||||||
|
|
||||||
if isinstance(msg.content, messages.MeshAddDestinationMessage):
|
if isinstance(msg.content, messages.MeshAddDestinationMessage):
|
||||||
result = await self.add_dst_node(
|
try:
|
||||||
node=await MeshNode.objects.aget_or_create(address=msg.content.address),
|
node_status = self.dst_nodes[msg.content.via]
|
||||||
parent_address=msg.src,
|
except KeyError:
|
||||||
)
|
print('unexpected AddDestinations message with via not served by us:', msg.content.via)
|
||||||
if not result:
|
|
||||||
print('disconnecting node that send invalid destinations', msg.content)
|
|
||||||
await self.close()
|
await self.close()
|
||||||
|
|
||||||
|
await self.add_dst_node(
|
||||||
|
node=await MeshNode.objects.aget_or_create(address=msg.content.destination),
|
||||||
|
parent_address=msg.content.via,
|
||||||
|
)
|
||||||
await self.send_msg(messages.MeshMessage(
|
await self.send_msg(messages.MeshMessage(
|
||||||
src=MESH_ROOT_ADDRESS,
|
src=MESH_ROOT_ADDRESS,
|
||||||
dst=msg.src,
|
dst=msg.content.via,
|
||||||
content=messages.MeshSigninConfirmMessage(
|
content=messages.MeshSigninConfirmMessage(
|
||||||
address=msg.content.address
|
address=msg.content.destination
|
||||||
)
|
)
|
||||||
))
|
))
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue