Register one device at a time

main
Bob Mottram 2020-08-11 18:21:56 +01:00
parent b7be635aa3
commit fedbe18ad2
1 changed files with 2 additions and 21 deletions

View File

@ -5888,6 +5888,7 @@ class PubServer(BaseHTTPRequestHandler):
"""POST or GET with the crypto API
"""
if authorized and path.startswith('/api/v1/crypto/keys/upload'):
# register a device to an authorized account
if not self.authorizedNickname:
self._400()
return
@ -5895,27 +5896,7 @@ class PubServer(BaseHTTPRequestHandler):
if not deviceKeys:
self._400()
return
if isinstance(deviceKeys, list):
keyCtr = 0
for devKey in deviceKeys:
if not E2EEvalidDevice(devKey):
continue
E2EEaddDevice(self.server.baseDir,
self.authorizedNickname,
self.server.domain,
devKey['deviceId'],
devKey['name'],
devKey['claim'],
devKey['fingerprintKey']['publicKeyBase64'],
devKey['identityKey']['publicKeyBase64'],
devKey['fingerprintKey']['type'],
devKey['identityKey']['type'])
keyCtr += 1
if keyCtr > 10:
break
self._200()
return
elif isinstance(deviceKeys, dict):
if isinstance(deviceKeys, dict):
if not E2EEvalidDevice(deviceKeys):
self._400()
return