XSF Discussion - 2018-07-11

  1. Seve/SouL

    Do you guys know if is there any MUC for Monal?

  2. Ge0rG

    AFAIK no

  3. MattJ

    Does Monal support MUC?

  4. Seve/SouL

    Yes it does, MattJ

  5. Yagiza

    One thought about XEP-0177: Jingle Raw UDP Transport Method...

  6. Yagiza

    Section 4.4 says, that upon sending/receiving session-accept action, entity should start immediately send media.

  7. Yagiza

    So, application level XEP's will start doing job before they even sure the connection succeed. Is it a good idea?

  8. Yagiza

    Maybe it's better for transport XEP start sending something meaningless, independent from application level XEP, like 1 datagram of '\0' byte 10 times per second.

  9. Yagiza

    And once it receives a datagram, stop sending it and notify application, that connection succeed, to let it send real media.

  10. flow

    How do you know for sure that a single null byte is meaningless?

  11. flow

    And to answer your first question: I don't see a problem doing what the XEP demands, but maybe I miss something?

  12. jonasw

    Yagiza, it doesn’t matter

  13. jonasw

    Yagiza, UDP is lossy anyways, and the media layer needs to be able to cope with loss

  14. Yagiza

    flow, I'm not sure. But at least it consumes less traffic and we may be sure that application won't start sending anything useful before connection succeed. And it will make transport level XEP really independent from application level XEPs.

  15. flow

    jonasw, I think Yagiza possibly had error cases like "could not connect to remote host" in mind

  16. flow

    But even those could be dedected after sending the data over the UDP stream

  17. jonasw

    flow, yupp, exactly

  18. jonasw

    and if everything is fine, it speeds up sending of media

  19. flow

    Yagiza, I still don't see the problem

  20. flow

    Yagiza, also UDP is stateless, there is no connection succeeded in TCP style

  21. jonasw

    and inventing your own handshake on top of UDP is...meh

  22. flow

    your network stack will eventually notify you if it became aware that the UDP packets don't arrive at the destination

  23. flow

    but they could also simply go down into a black hole

  24. Yagiza

    Yes. Receiving data is the sign, that connection succeed. So, I just want to separate application level XEP from transport level.

  25. Zash

    wouldn't it only notice that if they get bounced?

  26. Yagiza

    Transport establishes connection and application utilizes it.

  27. Zash

    UDP is connection-less tho

  28. Yagiza

    Zash, yes

  29. Yagiza

    Zash, but transport level implies some kind of connection, and it doesn't matter what on lower level goes on.

  30. jonasw

    Yagiza, no, it doesn’t

  31. jonasw

    UDP is transport level, UDP does not imply any type of connection

  32. jonasw

    if the application requires reliability of any sort, it needs to either use TCP or do something by itself on top of UDP

  33. Yagiza

    jonasw, UDP is not a fully transport level. It's somewhat between transport and network level.

  34. Ge0rG

    ISO/OSI or IETF levels? 😁

  35. Yagiza

    Ge0rG, at least OSI (^_^)

  36. Dave Cridland

    Gosh, I wish OSI levels would finally die.

  37. MattJ

    Didn't they? :)

  38. Dave Cridland

    Sometime in the '80's, everywhere other than Isode, I thought.

  39. SamWhited

    And at all universities

  40. Dave Cridland

    True. The concept of layers is quite useful, but the notion of trying to peg UDP's "layer" as something other than "UDP" isn't helpful.

  41. Ge0rG

    What about the concept of 0198 being the Session layer and 6120 the Presentation layer? Those who don't understand history are bound to repeat it?

  42. Dave Cridland

    6121 is the Application Layer? What's TLS?

  43. Dave Cridland

    I thought the Session layer included authentication, so I'm not sure 198 counts there. But I never paid much attention to it really.

  44. Ge0rG

    I'm not saying it's a perfect match. Actually, it's a set of horrible hacks created to mimic those layers, rather imperfectly

  45. Ge0rG

    TLS doesn't fit into the OSI model at all. You can't have Lawful Interception on top of it.

  46. Ge0rG

    And I'd count 6121 into Presentation as well.

  47. Dave Cridland

    I think our layers are now 1*(Physical, IP, Transport) [TLS] Application [SASL / 1*XEP]

  48. Dave Cridland

    Hmmm. Maybe the optional TLS layer is in the low-level repeating stack (for VPNs).

  49. Ge0rG

    I'm not sure about your notation.

  50. Dave Cridland

    Ge0rG, ABNF just 'cos.

  51. Ge0rG

    Or maybe it's just too late to do meaningful work today.

  52. lovetox

    In Gajim we have issues with Cisco Servers, it seems Gajim gets often disconnected with resource conflict error

  53. lovetox

    after that Gajim changes resource, but gets disconnected soon again

  54. lovetox

    does anyone know whats up with this?

  55. lovetox

    Is there a Cisco support channel for the xmpp server stuff?

  56. lovetox

    has anyone connections to some devs that working on this thing?

  57. Ge0rG

    I can't imagine that. Unless you are a paying customer.

  58. lovetox

    ok in theory what are reasons by the standard for resource conflict

  59. lovetox

    i know the rfc describes that its allowed to not let a resource connect 2 times

  60. Ge0rG

    when another client is logged in (or just logs in) with the same resource.

  61. lovetox

    then they have to issue that error

  62. Ge0rG

    typically, when a second client connects with that resource, one of them gets killed.

  63. lovetox

    ok defince second client

  64. Ge0rG

    sane servers kill the old one, because they assume that it's the same client, coming back from a network change

  65. lovetox

    if i disconnect because of wlan

  66. lovetox

    and reconnect without smacks

  67. lovetox

    am i considerd a second client?

  68. Ge0rG

    the server can't know if it's the same client or not, except *maybe* based on the resource you want to bind

  69. Ge0rG

    some developers say the server should just assign you a new random resource and have the zombie stay online

  70. lovetox

    ok so its definitly about the resource

  71. lovetox

    there is no other reason where this would be issued

  72. Ge0rG

    if it's a resource conflict, I'd assume that

  73. Zash

    Hand out new resource, ping the old, ???, profit!

  74. Ge0rG

    Is it https://xmpp.org/rfcs/rfc6120.html#streams-error-conditions-conflict

  75. Zash

    dwd said somesuch at some point iirc

  76. lovetox

    User says: "The dialog starts to appear within a minute to a few minutes after connection is established. "

  77. Ge0rG

    Zash: in theory I might agree, but in practice we haven't sorted out the MAM/Carbons mess and messages will get lost and/or bounced. Maybe with a significant delay.

  78. lovetox

    which makes no sense

  79. lovetox

    there is no second client involved

  80. lovetox

    why would it let me connect and issue that after a minute

  81. Ge0rG

    Great question.

  82. MattJ

    lovetox, does Gajim still support the RFC 3921 session iq?

  83. MattJ

    Old ejabberds used to have a similar behaviour if you didn't use that

  84. MattJ

    Random shot in the dark

  85. lovetox

    hm no thats not it, user just confirmed it was the same with gajim 0.16, so this was like this forever, just that gajim would automatically switch resource without user telling, so they might not noticed it

  86. lovetox

    so i might solve this again like that

  87. lovetox

    and just switch resource

  88. daniel

    Zash: will your tombstoning in prosody support the alternate jid?

  89. lovetox

    i think so daniel, the stanzas i saw included a alternate jid

  90. Zash

    daniel: yes, it saves the alternate jid from the destruction command and now includes it with the <gone> error

  91. daniel

    wait there is a gone error now?

  92. daniel

    i thought you wanted to do unavailable with destroy

  93. daniel

    Zash, can you give me an example of the stanza you want to implement?

  94. Zash


  95. Zash

    daniel: I changed it to a normal error reply

  96. MattJ

    Clients didn't like the unavailable, and flow pointed out on the list that error made more sense (which I agree with)

  97. daniel

    can you give me an example of that presence?

  98. Zash

    and jonasw

  99. Zash

    <presence from='room@muc.host/nick' type='error' id='1'><error type='cancel'><gone xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'>xmpp:long-long-time-ago@far-far-away.galaxy.invalid?join</gone><text xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'>Nuke it from orbit, it&apos;s the only way to be sure!</text></error></presence>

  100. Zash

    daniel: that ^ in reply to a join stanza

  101. daniel

    ok. thanks

  102. Zash

    MattJ: Our error reply code doesn't make it easy to attach text in <gone> :/

  103. MattJ

    lovetox, Holger: looks like that change was not publicly discussed as far as I can see

  104. MattJ

    So we'll probably never know

  105. Zash

    *THE* change

  106. Holger

    Seems it was applied by Ian Paterson who's long gone I guess ...

  107. lovetox

    then its time we bring it back :)

  108. Holger

    At least he probably won't stop you from doing that :-)

  109. MattJ

    Yeah, pretty sure he just disappeared

  110. MattJ

    He was quite active and authored a number of XEPs

  111. Zash


  112. MattJ


  113. MattJ

    Wrong MUC

  114. MattJ


  115. daniel

    We really need more mucs

  116. Zash


  117. MattJ

    With the same 20 people in all of them :)

  118. Holger

    Hah, I didn't notice either.

  119. ta

    plus the double amount of popcron chewing spectators

  120. Zash

    Until one day, The Great Merge

  121. MattJ

    Yeah. One big discussion venue. Twitter?

  122. Zash

    With hash tags instead of rooms

  123. Ge0rG

    Tags are the new groups. Even multi groups

  124. flow

    does "THE change" have a commit id?

  125. MattJ

    flow, no, I don't think anything from the CVS days is in git

  126. flow

    what a pity

  127. Ge0rG

    Is there somewhere a backup of the CVS? We could re-root the whole history onto reposurgeon

  128. Zash

    How many VCSes have we gone through?

  129. Dave Cridland

    Gosh. Zoofy. There's a blast from the past - he was on the first Council I got "elected" to. (uncontested of course).