XSF Discussion - 2023-08-25


  1. MSavoritias fae.ve

    Is RFC 5122 used for non ascii adresses? I see RFC 8266 but that is the one that uses PRECIS so I am guessing its not right?

  2. MSavoritias fae.ve

    or wait is it the unicode is specified in core

  3. Ge0rG

    PRECIS is the official standard, but many implementations are still hanging in nodeprep land

  4. MSavoritias fae.ve

    yeah i remember that. so RFC 8266 is the one for PRECIS if we ever adopted i guess

  5. Ge0rG

    the funny thing is: there is no signalling, and PRECIS is a moving target due to Unicode consortium adding new characters to the classes every year

  6. MSavoritias fae.ve

    signaling in xmpp you mean? for PRECIS support

  7. MSavoritias fae.ve

    So I am guessing then we are using the unicode specified in core

  8. Ge0rG

    MSavoritias fae.ve: signalling for PRECIS/nodeprep and the accepted unicode version.

  9. MSavoritias fae.ve

    right

  10. Ge0rG

    I used to join some rooms with the nickname 🤖 and it was hilarious, because it made remote servers kick their clients out of the room due to JID malforming

  11. Ge0rG

    (only for certain definitions of "hilarious", obviously)

  12. nonono

    Is Matrix there to lead to the XMPP? Or do we want normies to use matrix instead?

  13. pep.

    Would it be possible to also advertise it? À la inbox/SLA?

  14. pep.

    In stream:features

  15. pep.

    nonono, wrong channel?

  16. pep.

    You can go troll elsewhere

  17. MSavoritias fae.ve

    also we dont do normies here

  18. MSavoritias fae.ve

    so am I right in thinking its basically a case of: Core says Unicode and then we follow what prosody/ejabberd do?

  19. MSavoritias fae.ve

    ah wait standard point to unicode 6.0 specifically

  20. MSavoritias fae.ve

    ok

  21. nonono

    yes wrong channel. don't answer trolls, don't call people normies here.

  22. MSavoritias fae.ve

    but why dont we add the signaling at least? I know its hard to upgrade unicode version. But we can at least add the signaling

  23. MSavoritias fae.ve

    since we are going to use it anyway

  24. Kev

    What does signalling help?

  25. MSavoritias fae.ve

    because even if magically upgrade to precis and newer unicode, unicode and precis keep changing

  26. Kev

    As far as I can see, either you have to flag day, or you're stuck on stringprep forever, so we're stuck on stringprep forever.

  27. MSavoritias fae.ve

    so pointing to what the server supports helps at least see what the network supports no?

  28. Kev

    > because even if magically upgrade to precis and newer unicode, unicode and precis keep changing That's answering a different question, though, that's answering "Why can't we mix unicode versions", not "what can we do with signalling".

  29. Ge0rG

    MSavoritias fae.ve: the problem is that technically, this is a stream property, but in a typical c2c situation, you have three streams, and with MUC you have four streams.

  30. Ge0rG

    so the question would be: where do you add the signal?

  31. Kev

    > MSavoritias fae.ve: the problem is that technically, this is a stream property, but in a typical c2c situation, you have three streams, and with MUC you have four streams. Four for C2C too :)

  32. MSavoritias fae.ve

    heh. point taken

  33. MSavoritias fae.ve

    its a headache all around

  34. Ge0rG

    Kev: we've managed to ban GC1.0, we can manage an eventual transition to unicode 15.0 if we add signalling now

  35. MSavoritias fae.ve

    ah i like an optimist :D i agree its possible to move at some point

  36. MSavoritias fae.ve

    but yeah i would think signalling is a requirment before we do anything

  37. Ge0rG

    IIRC the last time we were dead-ended at the question _where_ the signal needs to be attached

  38. Ge0rG

    naively, it sounds like perfectly placed in a stream feature, but you can't communicate stream features to the client for s2s

  39. Kev

    But you also can't do much with the information, even in the client. You can't somehow change your JID to not include things allowed by that particular version of unicode within precis because you're talking to a server that's on an older version.

  40. Ge0rG

    I could see it as an item in disco#info, which is probably good enough for querying your server, a remote domain or a remote MUC service.

  41. pep.

    Kev, you could downgrade if you knew the other server didn't support as higher as you do :/

  42. Kev

    How, though?

  43. Kev

    Your JID is your JID, you can't change it just because someone else is on an older unicode.

  44. Kev

    I guess you can in the limited case of resource setting, but not the general case.

  45. Ge0rG

    Kev: when joining a room, the client can restrict valid nicknames based on the remote domain's features. A server sending from an "invalid" JID to a remote server could use some mapping algorithm to make the JID look valid on the remote side

  46. Ge0rG

    XEP-0106 surely can be plugged in here.

  47. Ge0rG

    if we mandate that as part of the precis-signal, clients can automatically discover and un-escape

  48. Kev

    So before you share your JID with someone, you need to know what server they're on, so you can work out which NAT your server is going to need to perform to talk to them?

  49. MSavoritias fae.ve

    We cant escape that though can we? Even if we magically upgrade tomorrow everybody and everything. there is a new unicode version every year so we need negotiation and graceful degration of jids

  50. MSavoritias fae.ve

    so I basically implement 8266 with PRECIS right?

  51. Ge0rG

    Kev: the good thing is that their client will automatically apply the escaping when connecting to an old server :P

  52. MSavoritias fae.ve

    for newest Unicode

  53. MSavoritias fae.ve

    to come back to my original question

  54. Kev

    So we're assuming that all clients will be at least as new as all servers, then :p

  55. Ge0rG

    Kev: that said, I don't see any drawbacks for adding signalling, and after that we can talk about allowing a wider range of JID characters.

  56. Ge0rG

    I'm sure there are better options out there than closing c2s connections on "invalid" JIDs

  57. MSavoritias fae.ve

    > So we're assuming that all clients will be at least as new as all servers, then :p No. We are assuming that some servers support newer unicode than others. hence the signalling :) Otherwise you might as well through jids until you are not denied :)

  58. opal

    i'd suggest that rfc target utf-8 rather than unicode but then theres another class of issues with different security risks

  59. opal

    although if rfc 5122 doesnt address unprintable/lookalike characters then ignore that last part, utf-8 validation would suffice

  60. opal

    (and the xml parser may as well handle that, at that point)

  61. MSavoritias fae.ve

    we already have validation in PRECIS though

  62. Guus

    I'm not sure if there's any server implementation that supports PRECIS.

  63. MSavoritias fae.ve

    Could data forms be replaced with XHTML?

  64. MSavoritias fae.ve

    Because it says in the XEP that is used as a basic Forms alternative

  65. Kev

    "No", is the short answer, but there may be specific cases where they could. Why?

  66. MSavoritias fae.ve

    was just curious why we need a specific thing instead of just using XHTML directly

  67. MSavoritias fae.ve

    because its yet *another* xep

  68. Zash enters XForms in the ring

  69. Zash

    MSavoritias fae.ve: Yet another XEP that attempts to do one thing and do it well is the name of the game here ;)

  70. MSavoritias fae.ve

    thats exactly what i was thinking. XForms

  71. MSavoritias fae.ve

    heh. I dont like Unix so I may be biased here :P

  72. singpolyma

    I think it's history again. If xforms had really gone and been used at the time probably data firms would exist. But now xforms is basically unused by anyone anywhere and data forms is the basis for half of all XMPP features

  73. singpolyma

    I think it's history again. If xforms had really gone and been used at the time probably data forms would exist. But now xforms is basically unused by anyone anywhere and data forms is the basis for half of all XMPP features

  74. singpolyma

    I think it's history again. If xforms had really gone and been used at the time probably data forms wouldn't exist. But now xforms is basically unused by anyone anywhere and data forms is the basis for half of all XMPP features

  75. MSavoritias fae.ve

    wait can i see what xeps depend on data forms xep?

  76. MSavoritias fae.ve

    somehow

  77. singpolyma

    Hmm. Unsure

  78. MSavoritias fae.ve

    yeah looking at https://data.xmpp.net/explore/xmpp/xeps

  79. MSavoritias fae.ve

    i dont see anything obvious

  80. singpolyma

    Since service discovery uses data forms it's indirectly everything from a certain PoV ;)

  81. MSavoritias fae.ve

    like options for depedencies

  82. Link Mauve

    MSavoritias fae.ve, XEPs should put <spec>XEP-0004</spec> in their /xep/header/dependencies but probably not all of them are doing it.

  83. Kev

    And probably people put 30 in there without mentioning that 30 needs 4.

  84. Link Mauve

    You could grep for jabber:x:data and add this dependency to every XEP which actually uses it.

  85. Link Mauve

    Kev, ugh, XEP-0030 doesn’t even mention XEP-0004 as a dependency…

  86. MSavoritias fae.ve

    yeah it doesnt

  87. Link Mauve

    Kev, MSavoritias fae.ve, it is actually XEP-0128 we were thinking of.

  88. Kev

    Fair enough.

  89. MSavoritias fae.ve

    ah so 30 supports without data forms. nice

  90. MSavoritias fae.ve

    works*

  91. Link Mauve

    MSavoritias fae.ve, XEP-0030 only defines disco#items and disco#info, and XEP-0128 adds data forms extensions in disco#info.

  92. MSavoritias fae.ve

    noted

  93. Zash

    Prior art for adding stuff to arbitrary elements :)

  94. opal

    > we already have validation in PRECIS though ok now i see what it is, https://datatracker.ietf.org/group/precis/documents/ wikipedia was giving some entirely different shit for PRECIS

  95. opal

    nice name clash