File tree Expand file tree Collapse file tree 2 files changed +8
-13
lines changed Expand file tree Collapse file tree 2 files changed +8
-13
lines changed Original file line number Diff line number Diff line change @@ -196,15 +196,11 @@ def add_new_tables(conn):
196
196
"""
197
197
CREATE TABLE user_request_nonces (
198
198
"user" BIGINT NOT NULL REFERENCES users ON DELETE CASCADE,
199
- nonce BLOB NOT NULL,
199
+ nonce BYTEA NOT NULL UNIQUE ,
200
200
expiry FLOAT NOT NULL DEFAULT (extract(epoch from now() + '24 hours'))
201
201
)
202
202
"""
203
203
)
204
- conn .execute (
205
- "CREATE UNIQUE INDEX user_request_nonces_nonce"
206
- " ON user_request_nonces USING HASH (nonce)"
207
- )
208
204
conn .execute ("CREATE INDEX user_request_nonces_expiry ON user_request_nonces(expiry)" )
209
205
210
206
added = True
@@ -426,9 +422,9 @@ def seqno_etc_updates(conn):
426
422
DELETE FROM pinned_messages WHERE message = OLD.id;
427
423
RETURN NULL;
428
424
END;$$;
429
- CREATE TRIGGER messages_insert_history AFTER UPDATE OF data ON messages
430
- FOR EACH ROW WHEN (NEW.data IS DISTINCT FROM OLD.data)
431
- EXECUTE PROCEDURE trigger_messages_insert_history ();
425
+ CREATE TRIGGER messages_after_delete AFTER UPDATE OF data ON messages
426
+ FOR EACH ROW WHEN (NEW.data IS NULL AND OLD.data IS NOT NULL )
427
+ EXECUTE PROCEDURE trigger_messages_after_delete ();
432
428
433
429
CREATE TRIGGER room_metadata_pinned_add AFTER INSERT OR UPDATE ON pinned_messages
434
430
FOR EACH ROW
Original file line number Diff line number Diff line change @@ -105,9 +105,9 @@ RETURNS TRIGGER LANGUAGE PLPGSQL AS $$BEGIN
105
105
DELETE FROM pinned_messages WHERE message = OLD .id ;
106
106
RETURN NULL ;
107
107
END;$$;
108
- CREATE TRIGGER messages_insert_history AFTER UPDATE OF data ON messages
109
- FOR EACH ROW WHEN (NEW .data IS DISTINCT FROM OLD .data )
110
- EXECUTE PROCEDURE trigger_messages_insert_history ();
108
+ CREATE TRIGGER messages_after_delete AFTER UPDATE OF data ON messages
109
+ FOR EACH ROW WHEN (NEW .data IS NULL AND OLD .data IS NOT NULL )
110
+ EXECUTE PROCEDURE trigger_messages_after_delete ();
111
111
112
112
113
113
CREATE TABLE files (
@@ -377,10 +377,9 @@ CREATE INDEX user_permissions_future_at ON user_permission_futures(at);
377
377
-- Nonce tracking to prohibit request signature nonce reuse (thus prevent replay attacks)
378
378
CREATE TABLE user_request_nonces (
379
379
" user" BIGINT NOT NULL REFERENCES users ON DELETE CASCADE ,
380
- nonce BYTEA NOT NULL ,
380
+ nonce BYTEA NOT NULL UNIQUE ,
381
381
expiry FLOAT NOT NULL DEFAULT (extract(epoch from now() + ' 24 hours' ))
382
382
);
383
- CREATE UNIQUE INDEX user_request_nonces_nonce ON user_request_nonces USING HASH (nonce);
384
383
CREATE INDEX user_request_nonces_expiry ON user_request_nonces(expiry);
385
384
386
385
You can’t perform that action at this time.
0 commit comments