XSF Discussion - 2021-04-12


  1. moparisthebest

    wgreenhouse: XMPP messages can cross multiple lines though

  2. wgreenhouse

    moparisthebest: I'm aware; should've said no more than one message per line :)

  3. wgreenhouse

    (the MAM output I grabbed isn't pretty printed or anything)

  4. ben

    what format is it in?

  5. wgreenhouse

    ben: it's just all the xml stanzas from the MAM archive, in one xml file without a DTD, in between <message-archive xmlns="https://linkmauve.fr/protocol/pie-mam"> ... </message-archive>

  6. wgreenhouse

    without linebreaks, except where there happen to be linebreaks in a message body

  7. ben

    you could probably rig something up with the tools in html-xml-utils like hxselect or hxprune

  8. ben

    maybe even hxpipe

  9. wgreenhouse

    hmmmmmm

  10. moparisthebest

    A proper way may be an xpath query sent to xmllint --pattern ?

  11. moparisthebest

    But you could probably just sed out the XML...

  12. ben

    ah yeah xmllint could probably do it too

  13. wgreenhouse

    would want to preserve the from, to, and stamp tags, but the rest can be discarded

  14. moparisthebest

    sed can match and replace :)

  15. wgreenhouse

    I thought parsing xml in re brought about the coming of zalgo ;)

  16. wgreenhouse

    but thanks both, this gives me some to chew on

  17. ben

    yeah it might, but if your schema is regular/small you will probably be fine

  18. moparisthebest

    Sorry your requirements didn't say "I want this to work without summoning demons"

  19. wgreenhouse

    ;)

  20. wgreenhouse

    that said, what hxpipe makes for this file looks friendly to re search/replace

  21. ben

    nice

  22. Holger

    Does XEP-0077 support registration with an empty password?

  23. jonas’

    I guess you could just do <password/>, no?

  24. Holger

    Yes #3.1 says "the <password/> element MAY be empty". But later:

  25. Holger

    > If the requesting entity does not provide all of the requested information during registration [7] then the server or service MUST return a <not-acceptable/> error to the requesting entity.

  26. Holger

    Footnote [7] says:

  27. Holger

    > This includes providing an empty password element or a password element that contains no XML character data, i.e., either <password/> or <password></password>.

  28. Holger

    Regarding password _change_, the XEP is clear:

  29. jonas’

    ISTM that the footnote is worded poorly

  30. Holger

    > If the user provides an empty password element or a password element that contains no XML character data (i.e., either <password/> or <password></password>), the server or service MUST NOT change the password to a null value, but instead MUST maintain the existing password.

  31. jonas’

    aaagh

  32. jonas’

    confusing!

  33. jonas’

    I give up

  34. dwd

    Huh. Both <password/> and <password></password> are the same thing.

  35. Kev

    And it says they’re to be treated the same, doesn’t it?

  36. Holger

    Sure, I don't think the XEP says otherwise?

  37. Holger

    Question is, how to treat them :-)

  38. Ge0rG

    Is it like NULL, None, "" and False are the same thing?

  39. Holger

    They must be treated the _same_. But _how_?

  40. lovetox

    when registering (not password change), i dont see how the client would need to care how the server treats an empty password

  41. lovetox

    what i wonder is, can i do auth with an empty password?

  42. dwd

    Empty string as password? Sure.

  43. Holger

    lovetox: My question was how the server is supposed to treat it though :-)

  44. lovetox

    Holger, i would say if its not a valid password according to your policy decline it

  45. lovetox

    otherwise go with it

  46. lovetox

    or does that lead to a problem?

  47. Holger

    Well the question is whether empty passwords are supposed to be supported by the spec. If so it would obviously still be a policy decision of the admin, yes.

  48. lovetox

    ok is this a theoretical question, or is there an actual use case behind that?

  49. Holger

    Well I'm touching this part of our 0077 code and was interested in whether I'm supposed to support the empty password case.

  50. edhelas

    this remind me that I have to do my ejabberd upgrade 🤔

  51. lovetox

    i would not, because probably many clients dont support that

  52. edhelas

    !version movim.eu

  53. Holger

    If I had the answer to this question I could still decide whether or not to follow the spec. But seems the answer isn't obvious so I can just decide on my own :-)

  54. lovetox

    or i would wait until someone comes and at least asks for that with a concrete use case, and how clients and server are expected to act

  55. jonas’

    Holger, FWIW, I’d hide allowing empty passwords behind a huge red button labelled "world destruction"

  56. Holger

    lovetox: Yes yes I'll survive without clarification. I just had this weird idea that one of our core specs dealing with passwords could be clear on the topic of empty passwords :-)

  57. jonas’

    :D

  58. Holger

    I think we'll just reject them, partly to remain consistent with the password change case where empty passwords are explicitly not supported.

  59. Sam

    Reminder: Office hours are tomorrow. This week is a round table discussion "Towards XMPP 2.0" https://wiki.xmpp.org/web/XMPP_Office_Hours

  60. Sam

    13th April, 16:00 UTC as always

  61. Kev

    I don’t know if it’ll work out, but I’ll try to make this one.

  62. mathieui

    Sam, would it be acceptable to open a peertube channel that mirrors the videos available on youtube? (asking as I saw the new yt channel in the newsletter, we’re bound to have people asking why it’s only on youtube)

  63. mathieui

    (I am not asking you to do it at all, but asking for permission if I find the time to set it up)

  64. Sam

    mathieui: we've gotten a lot of that already :) I'm not against it, we just need someone who knows how to set all that up to do it. I couldn't find a good instance that actually had open registration, and don't want to do more work myself for something that's not likely to be widely used, so automatic sync would be nice.

  65. Sam

    Go for it as far as I'm concerned :)

  66. mathieui

    Ok, thanks!

  67. emus

    Yes, usually it is not that we dont want it, but lag resources or have technical limitations (unless we invest more resources)

  68. deuill

    On the subject of XMPP 2.0, I wonder why Jabber/XMPP was never really adopted for open source projects setting up public chats? IRC had (*really*) early-mover advantage, but it can't all be that...

  69. deuill

    You need a server/account to host a MUC? MUC doesn't scale to more than a couple hundred participants? IRC was good enough?

  70. L29Ah

    #nolibs

  71. L29Ah

    irc is implemented in half an hour, while xmpp is, well...

  72. deuill

    That doesn't matter when you're a user, right? That is, I'm more wondering, would something like Freenode for XMPP be able to exist then? Now?

  73. L29Ah

    ah, i misinterpreted the question for embedded chats

  74. deuill

    There's still a definite need for this, considering, ehm, IRC is still widely used, even with a lot of projects moving off to Discord/Gitter/Zulip/Mattermost/whatever.

  75. deuill

    There's still a definite need for this, considering that, ehm, IRC is still widely used, even with a lot of projects moving off to Discord/Gitter/Zulip/Mattermost/whatever.

  76. Sam

    Freenode considered switching to XMPP at one point, I think. I don't know the details though, but maybe you could find their reasons

  77. deuill

    Hah, interesting, I use Freenode as an example though, mainly because it is (was?) the default choice when you wanted to set up a room for your project.

  78. MattJ

    I spoke with some Freenode folk a year or two back. I got the impression that it was mostly just resources and need of a concrete plan

  79. L29Ah

    i don't recall having an IRC frontend for XMPP MUCs

  80. moparisthebest

    they exist but thar be dragons https://github.com/moparisthebest/xmpp-ircd

  81. Zash

    Outch, owie, my nightmares

  82. wgreenhouse

    > You need a server/account to host a MUC? MUC doesn't scale to more than a couple hundred participants? IRC was good enough? maybe the fact that fewer xmpp clients support anonymous login, whereas (at least in the past) most big irc support channels don't need a registered account

  83. deuill

    Yeah, the ease-of-setup aspect here is crucial I think, even as an operator. Find a channel name that's not used, *boom* you're a moderator.

  84. Ge0rG

    Well, installing and configuring an irc client for a given network, with servers limiting who may connect by geoip, is quite a challenge. I'm not sure how much easier it is than xmpp

  85. wgreenhouse

    geoip or open proxy bans today certainly make it harder to get started on irc. but 10-15 years ago I think it was simpler to get started without an "account"

  86. wgreenhouse

    path dependence is important too of course

  87. wgreenhouse

    deuill true, though nowadays it's pretty easy to create a MUC on [arbitrary server] maybe not even the same one where you have your own account

  88. wgreenhouse

    and it can be made persistent without the need of ChanServ, or someone with a good enough connection to sit on the channel

  89. wgreenhouse

    possibly in the past, when there were fewer public XMPP instances outside of proprietary installations, that was less true

  90. Zash

    Too much choice doesn't make it easier. Like, if you're a free software project then you'd probably go for something on Freenode, but in the XMPP world, where would you go?

  91. wgreenhouse

    good question. esp since current trends advise people to scatter

  92. wgreenhouse

    (e.g. formerly big public instances like jabber.ccc.de saying "go somewhere else")

  93. Ge0rG

    Also having an easy to deploy web chat is a good thing

  94. Ge0rG

    I've heard that yax.im is breaking apart under the load...

  95. Sam

    Ge0rG: wait, is that a joke that I don't get or are you having load problems? I'm curious because I've been pointing people there when they ask

  96. Ge0rG

    Sam: https://yaxim.org/blog/2021/04/09/vaxbot-performance-challenge/

  97. mathieui

    Sam, you are from now on named "sole source of yax.im performance problems"

  98. Sam

    oh cool, thanks for the link. Reading.

  99. Ge0rG

    Well, at least I have some prosody performance numbers now.

  100. MattJ

    Some SQLite performance numbers :)

  101. mathieui

    the best ones

  102. Ge0rG

    MattJ: well, do you have comparison numbers of different MAM backends from production?

  103. MattJ

    No, we've not run such tests on a production server

  104. Ge0rG

    So how am I supposed to decide, what to replace sqlite with?

  105. MattJ

    Just saying, I think the conclusion was that you reached the limits of SQLite on your hardware, right? (unless we give up some consistency guarantees)

  106. Ge0rG

    Yes, and it looks like psql will give me roughly 3x the performance, but that's from synthetic benchmarks

  107. MattJ

    We have performance tests, I guess you can try running them on your server (it doesn't actually have to be the running Prosody instance)

  108. Ge0rG

    I'd love to

  109. Ge0rG &

  110. MattJ &