special case server_notices_mxid

pull/3680/head
Neil Johnson 2018-08-18 12:31:08 +01:00
parent d49b77404b
commit ba1fbf7d5b
2 changed files with 9 additions and 1 deletions

View File

@ -173,7 +173,7 @@ class ResourceLimitsServerNotices(object):
referenced_events = pinned_state_event.content.get('pinned') referenced_events = pinned_state_event.content.get('pinned')
events = yield self._store.get_events(referenced_events) events = yield self._store.get_events(referenced_events)
for event_id, event in events.iteritems(): for event_id, event in iteritems(events):
if event.type == EventTypes.ServerNoticeLimitReached: if event.type == EventTypes.ServerNoticeLimitReached:
currently_blocked = True currently_blocked = True
# remove event in case we need to disable blocking later on. # remove event in case we need to disable blocking later on.

View File

@ -476,3 +476,11 @@ class AuthTestCase(unittest.TestCase):
self.assertEquals(e.exception.admin_uri, self.hs.config.admin_uri) self.assertEquals(e.exception.admin_uri, self.hs.config.admin_uri)
self.assertEquals(e.exception.errcode, Codes.RESOURCE_LIMIT_EXCEED) self.assertEquals(e.exception.errcode, Codes.RESOURCE_LIMIT_EXCEED)
self.assertEquals(e.exception.code, 403) self.assertEquals(e.exception.code, 403)
@defer.inlineCallbacks
def test_server_notices_mxid_special_cased(self):
self.hs.config.hs_disabled = True
user = "@user:server"
self.hs.config.server_notices_mxid = user
self.hs.config.hs_disabled_message = "Reason for being disabled"
yield self.auth.check_auth_blocking(user)