fix: more issue #112 follow-ups (stanza-id disco gate, account sanitizer)
- xmpp: gate XEP-0359 stanza-id dedup on disco urn:xmpp:sid:0. Before honoring <stanza-id by='…'/> for archive_id dedup, check that the entity in `by` (or its domain — that's what profanity disco's on connect) announces the namespace; fall back to no-dedup when caps are unknown, matching the XEP §6 disco-gate (#1). - accounts: narrow group-name sanitizer to only the characters GKeyFile actually forbids in group headers (`[`, `]`, `\n`, `\r`); `=` and `#` are valid inside a header and stay (#2). - functional tests cover both branches of the disco gate — replayed stanza-id is flagged as duplicate when sid:0 is announced, and not flagged when it isn't. Refs #112
This commit is contained in:
@@ -253,6 +253,10 @@ main(int argc, char* argv[])
|
||||
PROF_FUNC_TEST(message_receive_console),
|
||||
PROF_FUNC_TEST(message_receive_chatwin),
|
||||
|
||||
/* XEP-0359 disco gate for stanza-id trust */
|
||||
PROF_FUNC_TEST(stanza_id_dedup_fires_when_server_announces_sid0),
|
||||
PROF_FUNC_TEST(stanza_id_not_trusted_when_server_does_not_announce_sid0),
|
||||
|
||||
#ifdef HAVE_SQLITE
|
||||
/* MUC (groupchat) database — export/import of type="muc" messages */
|
||||
PROF_FUNC_TEST(muc_export_sqlite_to_flatfile),
|
||||
|
||||
Reference in New Issue
Block a user