Check inbox items for expected params

This commit is contained in:
bashrc committed 2019-07-02 16:07:27 +01:00
1 parent 33077ab8df
commit 20dc823398
2 files changed
+18

No files matched your search

+9
View File
@@ -20,6 +20,7 @@ from person import personKeyLookup
from person import personOutboxJson
from posts import getPersonPubKey
from inbox import inboxPermittedMessage
from inbox import inboxMessageHasParams
from follow import getFollowingFeed
import os
import sys
@@ -206,6 +207,14 @@ class PubServer(BaseHTTPRequestHandler):
messageBytes=self.rfile.read(length)
messageJson = json.loads(messageBytes)
# check the necessary properties are available
print('**************** Check message has params')
if not inboxMessageHasParams(messageJson)::
self.send_response(403)
self.end_headers()
self.server.POSTbusy=False
return
if not inboxPermittedMessage(self.server.domain,messageJson,self.server.federationList):
print('**************** Ah Ah Ah')
self.send_response(403)
+9
View File
@@ -11,6 +11,15 @@ import os
import datetime
from utils import urlPermitted
def inboxMessageHasParams(messageJson: {}) -> bool:
"""Checks whether an incoming message contains expected parameters
"""
expectedParams=['type','to','actor','object']
for param in expectedParams:
if not messageJson.get(param):
return False
return True
def inboxPermittedMessage(domain: str,messageJson: {},federationList: []) -> bool:
""" check that we are receiving from a permitted domain
"""