automatically verify new fingerprints of group members
This commit is contained in:
parent
bc1a5d96d9
commit
a67496b025
1 changed files with 19 additions and 1 deletions
|
|
@ -1,11 +1,12 @@
|
||||||
import json
|
import json
|
||||||
|
import logging
|
||||||
import subprocess
|
import subprocess
|
||||||
|
|
||||||
import requests
|
import requests
|
||||||
|
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
|
|
||||||
|
logger = logging.getLogger(__name__)
|
||||||
rpc_id = 1
|
rpc_id = 1
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -35,6 +36,7 @@ def send(msg, to=None, group=None, preview_url=None, preview_title=None, preview
|
||||||
}
|
}
|
||||||
if group:
|
if group:
|
||||||
params["groupId"] = group
|
params["groupId"] = group
|
||||||
|
verifyGroupMembers(group)
|
||||||
else:
|
else:
|
||||||
params["recipient"] = to
|
params["recipient"] = to
|
||||||
if preview_url:
|
if preview_url:
|
||||||
|
|
@ -60,3 +62,19 @@ def send_reaction(target_address, target_ts, emoji, to=None, group=None, remove=
|
||||||
params["recipient"] = to
|
params["recipient"] = to
|
||||||
|
|
||||||
return api("sendReaction", params)
|
return api("sendReaction", params)
|
||||||
|
|
||||||
|
|
||||||
|
def verifyGroupMembers(group_id):
|
||||||
|
for group in api("listGroups", {})
|
||||||
|
if group["id"] == group_id:
|
||||||
|
for member in group["members"]:
|
||||||
|
if member["number"] != settings.SIGNAL_ACCOUNT:
|
||||||
|
for detail in api("listIdentities", {
|
||||||
|
"number": member["number"]
|
||||||
|
}):
|
||||||
|
if detail['trustLevel'] != 'TRUSTED_VERIFIED':
|
||||||
|
logger.error("%s verification numbers changed (accepting new numbers)", member["number"])
|
||||||
|
r = api("trust", {
|
||||||
|
"recipient": member["number"],
|
||||||
|
"verifiedSafetyNumber": detail['fingerprint'],
|
||||||
|
})
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue