XSF Discussion - 2021-05-07


  1. Sam

    Ge0rG: would you be interested in doing an Office Hours about the traffic you've seen on your server due to Vaxbot and how you monitor / resolve it? Doesn't have to be anything formal, just a quick talk about how your monitoring setup works and some of the things you've tried to do to keep the service stable

  2. Sam

    Just something along the lines of your blog post

  3. marek

    > Ge0rG: would you be interested in doing an Office Hours about the traffic you've seen on your server due to Vaxbot and how you monitor / resolve it? Doesn't have to be anything formal, just a quick talk about how your monitoring setup works and some of the things you've tried to do to keep the service stable > Just something along the lines of your blog post I have also seen the question or more an offer of another server admin to spread the load via his server.

  4. emus

    The deployment worked finally: https://xmpp.org/2021/04/newsletter-04-april/

  5. Ge0rG

    marek: I'm interested in a server provider offering IBR without captcha as a fallback server.

  6. emus

    Hello and good Friday โค๏ธ The XMPP Newsletter on April has been published - again it would be fine if one could make a tweet based on this: https://fosstodon.org/web/statuses/106195170518281226

  7. lovetox

    251

  8. lovetox

    4

  9. lovetox

    '*

  10. Zash

    Kids or cats?

  11. lovetox

    please forgive me :/

  12. lovetox

    my kid

  13. lovetox

    :D

  14. moparisthebest

    so XEP-0352 doesn't give any indication (pun intended) of what stanzas should be dropped, which should be delayed, or really anything else in the implementation right?

  15. MattJ

    XEP-0352 is not about dropping, delaying or anything else, no

  16. moparisthebest

    shouldn't that be defined in places other than various server implementations ? :/ (they also don't seem to remotely agree)

  17. MattJ

    It's purely a signal to the server about the client's current state

  18. Ge0rG

    moparisthebest: please read the servers and write an Informational XEP

  19. MattJ

    What servers do with that info is their business. If you want to try to spec some optimizations, go for it :)

  20. Ge0rG

    I hate all these hand-wavy "implementation defined behavior" XEPs.

  21. moparisthebest

    there are, eh, semi-security considerations that exist with these implementations

  22. moparisthebest

    maybe not security, but I don't know how else to say it

  23. moparisthebest

    I think it'd be easy to regularly send silent stanzas to mucs and drain everyone's battery

  24. Ge0rG

    moparisthebest: you can do that without any XEPs.

  25. moparisthebest

    but you can't document that in XEP-0352 because it doesn't say you should do anything at all

  26. MattJ

    What would you even document?

  27. MattJ

    There will always be stanzas that need to be forwarded

  28. moparisthebest

    probably advice for both servers and clients

  29. moparisthebest

    stanzas with bodies will be displayed, not silent, no big deal

  30. MattJ

    and optimizations will only help, they're not the problem here

  31. MattJ

    Pretend 352 doesn't exist, and servers have no optimisations. The same silent stanzas will have the same behaviour...

  32. moparisthebest

    stanzas with https://xmpp.org/extensions/xep-0380.html with an unknown type might be simply dropped by clients, but forwarded by servers, that's a silent battery eater

  33. moparisthebest

    so the advice would either be for servers to drop ones without valid formats, or for clients to always display something on such a thing

  34. Zash

    If silently wasting battery is an attack, then let me tell you about xep 199

  35. MattJ

    :)

  36. moparisthebest

    yes, that too, the advice for that would likely just be don't have mucs forward that, do they now ?

  37. MattJ

    You can't broadcast iqs, but MUCs would usually forward those sent to occupant JIDs

  38. Zash

    ... to the full JID

  39. Zash

    Unless it's one of the special iq stanzas that get redirected to the bare JID

  40. Zash

    Unless it's not implemented like that and instead the server handles full JID iqs

  41. Zash

    Unless ...

  42. moparisthebest

    so what we need is a bot that can join MUCs and do everything that can possibly eat all the member's batteries silently? :)

  43. L29Ah

    challenge accepted!

  44. MattJ

    Please include OOB URLs to infinite HTTP streams

  45. moparisthebest

    that's probably interesting outside of MUCs too, probably all sorts of silent stanzas you can send to a known JID constantly

  46. moparisthebest

    ooh nice MattJ

  47. moparisthebest

    like an http server that responds to HEAD requests with an endless stream of random headers ?

  48. Zash

    That's actually perfectly legal.

  49. Zash

    Thanks HTTP!

  50. Zash

    IIRC the standards-mandated limits are ... per header...

  51. moparisthebest

    the question is how does your average HTTP library handle it

  52. L29Ah

    OOM on sight

  53. moparisthebest

    I'm going to assume most of them handle it by eating memory until they explode

  54. Zash

    Probably. You go have fun now. ๐Ÿ™‚

  55. moparisthebest

    ( echo -en 'HTTP/1.1 200 OK\r\nConnection: keep-alive\r\n'; while true; do echo -en 'bla: bla\r\n'; done ) | nc -l 8080 -w 1

  56. moparisthebest

    command line curl handles it fine by buffering nothing I guess

  57. moparisthebest

    and to test servers: ( echo -en 'GET / HTTP/1.1\r\nHost: www.moparisthebest.com\r\nUser-Agent: curl/7.76.0\r\nAccept: */*\r\n'; while true; do echo -en 'bla: bla\r\n'; done ) | nc -4 www.moparisthebest.com 80

  58. moparisthebest

    nginx responds with 400 Bad Request "400 Request Header Or Cookie Too Large"

  59. Zash

    pro-tip: `nc -C` if you have a version with that flag

  60. Zash

    to translate \n โ†’ \r\n

  61. moparisthebest

    I never know if a given machine has BSD or GNU nc :(

  62. Ge0rG

    moparisthebest [20:49]: > stanzas with https://xmpp.org/extensions/xep-0380.html with an unknown type might be simply dropped by clients, but forwarded by servers, that's a silent battery eater I'd love to have a server side filter that would drop all elements not listed in a client's disco features

  63. Zash

    Ge0rG: I tried something like that, tho it may have involved filtering stuff from presence. Vague memory of it causing breakage.

  64. moparisthebest

    I wonder how many stanzas clients receive in practice that they ignore, or at least end up invisible to the user

  65. MattJ

    Very many

  66. Zash

    If you're in a bunch of public channels, oh so much presence

  67. eta

    I need to install that prosody CSI module that just drops presence on the floor

  68. Zash

    Violates protocol and expectations, not recommended

  69. moparisthebest

    what prompted all of this was a person complaining in a muc about how much battery his conversations used, I counted that I'm in 53 mucs and mine hardly uses any battery, but there are so many things it could be I don't even know where to start

  70. Zash

    Tho maybe that got fixed so the dropped stanzas don't count in 198

  71. Zash

    moparisthebest: and did they check that CSI is enabled?

  72. moparisthebest

    yes but they use ejabberd, which at a glance does entirely different things than prosody's mod_csi_simple

  73. eta

    I constantly suspect conversations uses more battery than it lets on

  74. Zash

    IIRC the most common wake up reason for me is client activity in the form of periodic pings, and their responses

  75. moparisthebest

    it seems like the battery % android gives is utterly dependent on your rom, vendor, version, the color of the sky, and everything else too; but that's a different can of worms

  76. eta

    the issue I have is I suspect conversations is waking up for every irrelevant MUC message

  77. Zash

    I've got a thing for that, so I can mark MUCs as "unimportant" and then those won't trigger CSI flush

  78. Zash

    I would like to have that tied into Something in the future, possibly some bookmarks2 mini-extension.

  79. eta

    Zash: I saw that module, but it requires manually marking them all as unimportant

  80. eta

    I want them to be like, default unimportant

  81. eta

    (and important if it's a modern XMPP "groupchat" instead of "channel")

  82. Zash

    eta, you and me both

  83. eta

    the latter part requires more trickery though

  84. Zash

    But I'm told this doesn't work for Normal Users

  85. eta

    I've also done the radicalish thing of using bookmarks2 everywhere

  86. eta

    with hacked up Dino and conversations

  87. Zash

    If there were a way to distinguish "groupchat" from "channel" based on only the stuff you see on join... but you don't afaik

  88. eta

    yeah exactly

  89. eta

    well, no, invite only is a good one

  90. eta

    but I guess that's in data forms

  91. Zash

    which would require that the module do a disco, which is certainly possible, but complicates it a bit

  92. eta

    hence trickery

  93. Zash

    but that may not be a perfect method either

  94. eta

    how easy is querying bookmarks2

  95. Zash

    I mean, basing it only on whether a particular MUC is "channel" or "groupchat", but it could certainly be used as a default.

  96. Zash

    Some property saved by clients in BM2 would be nicer.

  97. eta

    Zash: I have a conversations commit that saves such a property :p

  98. Zash

    Neat

  99. eta

    mainly because I got tired of having to reconfigure notification prefs

  100. eta

    when it used to eat the database

  101. eta

    this required patching Dino to not instantly clobber the property when the bookmarks change

  102. Ge0rG

    Why not using mentions of the nickname if there is a body, or EME otherwise

  103. Ge0rG

    Private rooms will all have OMENNO, right?

  104. emus

    Ge0rG - no one apart from the Germans will understand your OMENNO ๐Ÿ˜‰

  105. sebastian

    > Private rooms will all have OMENNO, right? Not sure if subtle joke or autocorrect ๐Ÿค”

  106. Ge0rG

    sebastian: yes

  107. emus

    > sebastian escribiรณ: > Not sure if subtle joke or autocorrect ๐Ÿค” subtle German joke ๐Ÿ™‚