Adds handlers to get and set admin session_key for remote admin

This commit is contained in:
Jonathan Bennett
2024-08-24 15:32:44 -05:00
parent 15b5e93563
commit 78399503c5
2 changed files with 17 additions and 2 deletions

View File

@@ -95,7 +95,7 @@ class Node:
else:
self.iface._acknowledgment.receivedAck = True
print("")
adminMessage = p["decoded"]["admin"]
adminMessage: admin_pb2.AdminMessage = p["decoded"]["admin"]
if "getConfigResponse" in adminMessage:
resp = adminMessage["getConfigResponse"]
field = list(resp.keys())[0]
@@ -833,7 +833,12 @@ class Node:
): # unless a special channel index was used, we want to use the admin index
adminIndex = self.iface.localNode._getAdminChannelIndex()
logging.debug(f"adminIndex:{adminIndex}")
if isinstance(self.nodeNum, int):
nodeid = self.nodeNum
elif self.nodeNum.startswith("!"):
nodeid = int(self.nodeNum[1:],16)
if ("adminSessionPassKey" in self.iface._getOrCreateByNum(nodeid)):
p.session_passkey = self.iface._getOrCreateByNum(nodeid).get("adminSessionPassKey")
return self.iface.sendData(
p,
self.nodeNum,