XSF Discussion - 2024-03-09


  1. MSavoritias fae.ve

    anyone has any points for this https://about.psyc.eu/XMPP#Technical_Problems_with_XMPP the context is somebody was saying they wanted to adapt xmpp to work over gnunet, which coincidentally is something i am doing :P and they got a reply here https://lists.gnu.org/archive/html/gnunet-developers/2024-03/msg00020.html besides the usual misinformation about "video" is not in the core protocol and xmpp is not p2p i was wondering about the link they sent

  2. MSavoritias fae.ve

    from a quick look it seems to push their own binary format

  3. MSavoritias fae.ve

    im drafting a reply atm :)

  4. MSavoritias fae.ve

    framing has been mentioned before as I remember

  5. Daniel

    https://xkcd.com/386/

  6. MSavoritias fae.ve

    pretty much yeah ^^'

  7. jonas’

    MSavoritias fae.ve, framing is also done in XMPP-over-Websockets, maybe that's something worth directing them at

  8. MSavoritias fae.ve

    will do. replied on other stuff so im going through the article now

  9. jonas’

    also tell them about SAX and streaming parsers -- I only know of one implementation which uses counting of `<` / `>` instead of proper sax-style parsing for XML streams, that's definitely not commonplace.

  10. jonas’

    this is also bogus " XMPP does not allow unescaped use of > according to the XML spec (see also Mr. Karneges' mail). "

  11. jonas’

    though I note that rxml::writer does indeed escape `>`...

  12. MSavoritias fae.ve

    ah ralph is mentioned > When asked about multicast, Ralph Meijer, member of the XSF Council, stated in a conversation at the FSW2011 that you cannot entrust subscriber nodes to correctly forward your message to further subscribers. They might censor or fake messages. FETHR approaches this problem by applying digital signatures and using hash chains. It's not such an attractive option for XMPP however, since all this cryptographic data cannot be transmitted in native binary form – inefficient base64 encoding is needed instead, but it would probably still be better than giving up on efficient distribution altogether.

  13. MSavoritias fae.ve

    it basically talks about multicasting in xmpp and also mentions this https://xmpp.org/extensions/xep-0253.html but this is above my knowledge i am afraid

  14. MSavoritias fae.ve

    they are basically saying that presence stanzas are a bottleneck. but afaik newer MUC and MIX and generally xmpp is relying less on the endless presence stanza around.

  15. MSavoritias fae.ve

    the article was more interesting than i thought actually because i wasnt aware xmpp has been forked before. and some efforts they did around improving xmpp. that was at 2006 mind you

  16. Guus

    MSavoritias fae.ve: it is wildly inaccurate to suggest that xmppnetwork.goodbytes offers an up-to-date server count. I know of many, many thousands of servers that are not on there.

  17. MSavoritias fae.ve

    i know. thats why i added > its opt-in tho so not every server is there. in the next line

  18. jonas’

    sj.

  19. jonas’

    s.j.n, at this point in time, knows about about ~1500 domains

  20. jonas’

    s.j.n, at this point in time, knows about ~1500 domains

  21. jonas’

    (which is not identical to "servers")

  22. Guus

    Still, that suggests that it is a representation of a good deal of the network. It really really isn't.

  23. MSavoritias fae.ve

    after i saw the article is from 2006 to 2008 probably? i just left it there too many points to address

  24. jonas’

    322 of the domains identify as "user account server"

  25. MSavoritias fae.ve

    my point was that it shows that its not a "few" big servers because xmpp cant scale

  26. MSavoritias fae.ve

    as suggested in the article

  27. MSavoritias fae.ve

    not that we are many. anything above 100 is good anyway to show that it scales

  28. MSavoritias fae.ve

    imo at least

  29. Guus

    Fair. I'm just cautious about people thinking that my site gives any kind of accurate representation

  30. MSavoritias fae.ve

    personally i think when somebody says: stickers are not integrated natively into the protocol, and we should fork telegram server/client and convert it to another OSI model the argument is suspect from the beginning

  31. jonas’

    sure

  32. MSavoritias fae.ve

    that was what was proposed in the email

  33. Guus

    Heh

  34. MSavoritias fae.ve

    and i mean the *whole* OSI

  35. MSavoritias fae.ve

    not just a protocl

  36. jonas’

    also (re that wiki article again) it may be worth pointing out that the things XMPP disables are by no means related to "the full potential of XML". They are security vulnerabilities waiting to happen. The full potential of XML is built-in namespacing.

  37. MSavoritias fae.ve

    yeah. i still have a lot to read and implement because i want to understand what namespaces are, why xmpp doesnt use them much, and why we should

  38. jonas’

    we use them a lot

  39. jonas’

    the only thing we don't use are namespaced attributes because people are afraid that some obscure parsers may break at them

  40. MSavoritias fae.ve

    any link what are namespace attributes?

  41. jonas’

    namespace*d* attributes

  42. MSavoritias fae.ve

    that

  43. jonas’

    example: <foo a="b" xmlns:ns0="http://example.com/some-ns" ns0:a="c"/>

  44. jonas’

    a is a namespace-less attribute, ns0:a is an attribute `a` in the namespace `http://example.com/some-ns`

  45. jonas’

    `a` is a namespace-less attribute (very common), ns0:a is an attribute `a` in the namespace `http://example.com/some-ns`

  46. Guus

    I have so much fun at the expense of people insisting that XML is terrible, only for them to get bogged down with Json schema ...

  47. MSavoritias fae.ve

    right. so if we had namespaced attributes then we could scope ns0 to that namespace

  48. jonas’

    even in `<ns0:foo a="b" xmlns:ns0="http://example.com/some-ns" ns0:a="c"/>`, `a` is namespace-less (but sementically still associated with `ns0:foo`, it's a bit icky in that corner of the XML standards)

  49. jonas’

    https://www.w3.org/TR/REC-xml-names/ for the full namespacing spec

  50. jonas’

    MSavoritias fae.ve, I'm not sure I understand.

  51. MSavoritias fae.ve

    > I have so much fun at the expense of people insisting that XML is terrible, only for them to get bogged down with Json schema ... yeah and the article is just comparing xmpp to what an ideal protocol with perfect efficiency would look like. but guess what tech is never optimal so :P

  52. MSavoritias fae.ve

    > MSavoritias fae.ve, I'm not sure I understand. i was thinking that we cant "assign" or namespace that ns0 to a because we dont have namespaced attributes. so ns0 needs to be unique to a xml document

  53. jonas’

    ns0 is the namespace prefix

  54. MSavoritias fae.ve

    but will read the w3 rfc to understand

  55. jonas’

    yeah, do that, I guess.

  56. jonas’

    It's a bit hard to explain in a text conversation without a whiteboard otherwise :)

  57. MSavoritias fae.ve

    yeah xml is still mapic to me. sure :)

  58. MSavoritias fae.ve

    yeah xml is still magic to me. sure :)

  59. edhelas

    > In XEP-0343, the `&lt;sctpmap&gt;` elements use `number` attribute for the port in all the examples, but the §4.2 syntax says to use `port` instead. Which one must be used? Is the author (Jens Bavendiek) here? goffi Daniel from what I see the only thing I did is the Jingle <-> SDP conversion of the element, nothing more

  60. edhelas

    My whole media stack is actually handled by the browser, so I just pass the SDP to it and it "deals with it"

  61. Daniel

    edhelas, yes thanks. that’s confirming what i thought

  62. goffi

    edhelas: OK I see. Why is XEP-0343 advertised in your DOAP then? Thanks for the update.

  63. Zash

    Anything to do with https://en.wikipedia.org/wiki/Goodhart's_law ?

  64. pep.

    Namespaced attributes, they're coming! See 0463 :)

  65. edhelas

    > edhelas: OK I see. Why is XEP-0343 advertised in your DOAP then? Thanks for the update. I'll change it to partial support, there's partial SCTP support in the browsers

  66. goffi

    Daniel: in your gist, I see a proprietary namespace ("http://gultsch.de/xmpp/drafts/jingle/transports/ice-udp/option"). I'd really like to avoid the OLDMEMO situation with proprietary namespace and people starting to build on this. Would it be possible to make protoXEP with proper namespace of that?

  67. goffi

    edhelas: but at this stage we can't do data channel with Movim at all, it's misleading to see it in supporting client. For instance, I was planning to test it with Movim because I saw it in supporting clients list.

  68. Daniel

    goffi: fwiw you don't need this for data channels

  69. Daniel

    That's unrelated and just me copy pasting stuff directly from the debug output

  70. goffi

    OK

  71. Zash

    > I have so much fun at the expense of people insisting that XML is terrible, only for them to get bogged down with Json schema ... Mouhahah, /me uses JSON Schema for XML purposes 😈️

  72. edhelas

    > edhelas: but at this stage we can't do data channel with Movim at all, it's misleading to see it in supporting client. For instance, I was planning to test it with Movim because I saw it in supporting clients list. Guess I'll just remove it

  73. goffi

    edhelas: probably better for now. But would be nice to have Jingle FT with data channel on Movim, it's a really neat feature in web clients.

  74. goffi

    and with Jingle already implemented, the most difficult part is already done.

  75. singpolyma

    > the only thing we don't use are namespaced attributes because people are afraid that some obscure parsers may break at them I use namespaced attributes. But I agree it's not popular in most xeps

  76. jonas’

    use them more, make people get over their fear

  77. singpolyma

    I should draft link preview this year, which is one place I'm using them because link previews are rdf

  78. jonas’

    seen any server or client choke on that?

  79. singpolyma

    Not yet

  80. jonas’

    supports my theory that this was 95% FUD.

  81. goffi

    Daniel, larma: after reading a bit more, your change seems sensible. Indeed XEP-0343 is a streaming transport based on UDP, so it makes sense to encapsulate it. I'll do the implementation based on Daniel's gist, but I feel uncomfortable to work like this, with unofficial spec (make me think about the bad side of ActivityPub). I know that you are all busy and all, but do you have to publish a XEP update with your change in coming weeks? I can help if necessary.

  82. goffi

    *do you have plan to publish a protoXEP

  83. goffi

    no XEP update, not protoXEP sorry

  84. MattJ

    lovetox, Gajim is marked as "partial" for XEP-0377. I assume that's because it supports reporting JIDs but not messages, or something?

  85. MattJ

    tmolitor, why is Monal marked as "wontfix" for XEP-0377 (spam reporting)?

  86. lovetox

    you mean attaching the stanza-id?

  87. MattJ

    Yeah

  88. lovetox

    yeah we dont do this yet

  89. lovetox

    is this important?

  90. lovetox

    or rather helpful?

  91. MattJ

    It's helpful, not essential

  92. lovetox

    should be trivial to add, i will add a issue for it on the tracker

  93. MattJ

    Thanks! Let me know if you need any help testing

  94. MattJ

    I made https://xmppbl.org/software with an overview of the state of implementations (to the best of my knowledge/research so far)

  95. cal0pteryx

    Ah great! Maybe tracking issues could be added as well, once there are some