feat: handle and allow JIDs with trailing slashes

Make jid_is_valid() allow JIDs ending with a slash (`user@domain/`).
In these cases, the parser now treats the input as a Bare JID with no
resource part, rather than rejecting it as invalid.

We will then just get `user@domain`.
This commit is contained in:
Michael Vetter
2026-03-06 13:17:13 +01:00
parent 35a2f2990a
commit f251cc8bb3
4 changed files with 14 additions and 6 deletions

View File

@@ -150,6 +150,7 @@ main(int argc, char* argv[])
cmocka_unit_test(jid_create__returns__correct_parts_with_trailing_slash),
cmocka_unit_test(jid_fulljid_or_barejid__returns__fulljid_when_exists),
cmocka_unit_test(jid_fulljid_or_barejid__returns__barejid_when_fulljid_not_exists),
cmocka_unit_test(jid_create__returns__bare_from_trailing_slash),
cmocka_unit_test(jid_create__returns__null_from_invalid_localpart_chars),
cmocka_unit_test(jid_create__returns__null_from_empty_parts),
cmocka_unit_test(jid_create__returns__null_from_multiple_at_in_bare),