diff options
author | Michael Telatynski <7t3chguy@googlemail.com> | 2019-01-06 21:43:26 +0000 |
---|---|---|
committer | Richard van der Hoff <1389908+richvdh@users.noreply.github.com> | 2019-01-06 21:43:25 +0000 |
commit | a27e501b0920648458dd1a9a5516af6e52e060cf (patch) | |
tree | 25d51e3c22fde590bf49468fbf5fd23c63b75a5f | |
parent | Update debian Conflicts specifications (#4349) (diff) | |
download | synapse-a27e501b0920648458dd1a9a5516af6e52e060cf.tar.xz |
fix the check for whether `is_url` to match all the other ones in codebase (#3405)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
Diffstat (limited to '')
-rw-r--r-- | changelog.d/3405.bugfix | 1 | ||||
-rw-r--r-- | synapse/api/filtering.py | 11 |
2 files changed, 9 insertions, 3 deletions
diff --git a/changelog.d/3405.bugfix b/changelog.d/3405.bugfix new file mode 100644 index 0000000000..27f5226b3d --- /dev/null +++ b/changelog.d/3405.bugfix @@ -0,0 +1 @@ +Fix contains_url check to be consistent with other instances in code-base and check that value is an instance of string. diff --git a/synapse/api/filtering.py b/synapse/api/filtering.py index 677c0bdd4c..16ad654864 100644 --- a/synapse/api/filtering.py +++ b/synapse/api/filtering.py @@ -12,6 +12,8 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. +from six import text_type + import jsonschema from canonicaljson import json from jsonschema import FormatChecker @@ -353,7 +355,7 @@ class Filter(object): sender = event.user_id room_id = None ev_type = "m.presence" - is_url = False + contains_url = False else: sender = event.get("sender", None) if not sender: @@ -368,13 +370,16 @@ class Filter(object): room_id = event.get("room_id", None) ev_type = event.get("type", None) - is_url = "url" in event.get("content", {}) + + content = event.get("content", {}) + # check if there is a string url field in the content for filtering purposes + contains_url = isinstance(content.get("url"), text_type) return self.check_fields( room_id, sender, ev_type, - is_url, + contains_url, ) def check_fields(self, room_id, sender, event_type, contains_url): |