XSF Discussion - 2019-04-10


  1. jonas’

    flow, I suggest message

  2. jonas’

    you could make use of errors with error type='continue' along the way to introduce the traceroute-like backscatter...

  3. flow

    jonas’, yep, that was one reason to use IQ in the first place, but as IQ has no advantage over message with the correct type, I now also lean towards using message

  4. jonas’

    although I don’t see too much harm with modifying an IQ in-flight in a well-specified manner. however, that requires some type of support in the recipient when scattering it back.

  5. jonas’

    implementing the backscatter with error stanzas sent by the hops themselves might be nicer

  6. jonas’

    hm

  7. jonas’

    IQ has the advantage that the recipient will send you back at least service-unavailable

  8. jonas’

    so you know when to stop to listen for backscatter

  9. jonas’

    which makes me tend slightly towards IQ

  10. Ge0rG

    I'm not sure what the use case is, but having a generic stanza payload element that tells the server to send back a dedicated message with the annotation sounds like a more reasonable approach to me

  11. Ge0rG

    What if you never receive the actual pong?

  12. Ge0rG

    All trace route info is lost tung

  13. Ge0rG

    Then

  14. flow

    Ge0rG: What if you mostly receive the response, either in form of a pong or of an error type stanza?

  15. flow

    jonas’, isn't there a message type where an intermediate hop will send an error back, ideally with the full payload, in case the stanza can't be routed?

  16. jonas’

    flow, not built-in

  17. Ge0rG

    flow: what if you want to debug _why_ you don't receive a given response?

  18. flow

    jonas’, groupchat maybe?

  19. jonas’

    flow, no

  20. flow

    Ge0rG, then I could still go the traceroute approach and proceed with the next closest hop in case of no response

  21. Ge0rG

    flow: oh wait. you can just send three ping IQs to all the hops!

  22. jonas’

    flow, how would you know the next-closest hop?

  23. Ge0rG

    it's xmpp! it's got a fixed routing structure.

  24. Ge0rG

    my full jid -> my domain jid -> their domain jid -> their bare jid -> their full jid

  25. flow

    jonas’, ahh right there is a case where groupchat does not trigger an error respone: RFC 6120 § 8.5.3.2.1.

  26. jonas’

    Ge0rG, metre? :)

  27. jonas’

    Ge0rG, components?

  28. Ge0rG

    jonas’: how do you obtain traceroute results from a thing without a JID?

  29. jonas’

    it could have a JID, but not the one you expect

  30. jonas’

    In theory, I could assign my metre-like thing a JID for management/monitoring purposes, and that could be the JID which replies

  31. flow

    jonas’, both approaches have their advantage and disadvantage. I would lean towards the initial one, but that doesn't mean that we could also do the other one, i.e., by having an extra flag which indicates that intermediate hops send their data right away

  32. jonas’

    is there any reason for intermediate hops to *not* send their data right away?

  33. flow

    well if everything works according to the standard then they don't need do

  34. jonas’

    that’s wrong

  35. jonas’

    a recipient is not required to mirror the payload in an error message if it doesn’t understand it

  36. jonas’

    it is a MAY or a SHOULD, but not a MUST

  37. jonas’

    so if your final recipient does not understand the IQ based protocol, you won’t see the intermediate hops

  38. jonas’

    which is meh

  39. Ge0rG

    > well if everything works according to the standard then they don't need do well if everything works according to the standard then you don't need traceroute

  40. flow

    Ge0rG, I don't think I would conclude that

  41. flow

    jonas’, that is also true mostly for the message based protocol

  42. jonas’

    flow, which is why I’m leaning towards IQ and backscatter with type='error' type='continue'

  43. flow

    jonas’, yeah that is a strong argument for IQ

  44. dwd

    "matrix.org is not recognised by the IETF as an Open Standards body" - https://mailarchive.ietf.org/arch/msg/art/EjDTW6KhrOYebVS8SGsZh7BEE9g

  45. flow

    I am probably going to switch xep-traceroute from <ping/> to a custom IQ

  46. dwd

    FWIW, I have no idea what Metre would do in terms of a traceroute thing. It's intentionally invisible, beyond testing cases.

  47. Ge0rG

    flow: your proposal lacks a rationale so I can't say what you need it for when everything works

  48. flow

    I don't think I proposed something. But besides that, there is a short and possible incomplete note in the introduction.

  49. Ge0rG

    So what is it needed for when everything works?

  50. flow

    You probably shouldn't use something like traceroute to test if a channel to a remote entity is encrypted. But it sure would be nice, and if it is just to satisfy my and possible other people's curiosity about how the channel may look

  51. Ge0rG

    Is it possible to have asymmetric paths in XMPP?

  52. Ge0rG

    jonas’: btw, responding from an "unexpected" JID most probably won't work because you need to s2s auth that domain first

  53. dwd

    Ge0rG, With Metre and stuff like it, anything's possible.

  54. jonas’

    Ge0rG, what stops such a thing from actually having that JID available via s2s?

  55. jonas’

    e.g. gateway.company.example, could easily have s2s records :)

  56. Ge0rG

    jonas’: most probably: nobody testing for it

  57. dwd

    jonas’, One thing that stops it is that nobody would want to expose such infrastrcture without good reason.

  58. Ge0rG

    That, too. Nobody wants to expose themselves to xml deserialization.

  59. Ge0rG

    Oh. Wait.

  60. Zash

    dwd: What is an "Internet Standards body"? Those exact words are not in the RFC referenced?

  61. Guus

    completely off-topic, but this is the channel with most French nationals that I know of - is a company named AYOMI legit? Seems to be a crowd-funding platform, but Gmail warns about phishing.

  62. Zash

    dwd: What is an "Open Standards body"? Those exact words are not in the RFC referenced?

  63. dwd

    Zash, No idea. It just amused me. The XSF *is* considered an Open Standards Body, as far as I can tell, because otherwise we wouldn't have got "urn:xmpp:"

  64. Zash

    https://tools.ietf.org/html/rfc2026#section-7 I assume

  65. neshtaxmpp

    someoone receive my photo

  66. neshtaxmpp

    https://bgzashtita.es/upload/2648c95f187eff879a53c9890338a1a8d74210e6/5K0I4twyQ0gldJzYDaGx1guJq9vj23dsGsRMeIJm/20190410_145407.jpg

  67. Zash

    Is this relevant to XMPP standards?

  68. Guus

    I see the picture.

  69. neshtaxmpp

    Guus, thank... disroot didn;t see it.

  70. edhelas

    is is possible to bridge SIP and XMPP ?

  71. Zash

    Probably

  72. Zash

    Also see https://tools.ietf.org/html/rfc7573

  73. dwd

    edhelas, Do you mean bridging SIP and Jingle, or SIMPLE and XMPP-IM?

  74. edhelas

    both actually

  75. edhelas

    maybe the SIMPLE/XMPP-IM could be a nice first step

  76. dwd

    edhelas, So i think all the standards exist, but implementations, on the other hand, are harder. Asterisk might help for voice etc, I'm not so sure about IM.

  77. dwd

    edhelas, I have a very vague recollection that Openfire has a plugin, too - no idea what shape it's in.

  78. edhelas

    ok

  79. Dele Olajide

    There is a SIP plugin for openfire that is still very much in use. It maps the SIP credentials to an XMPP JID. I use for users and even SIP proxies

  80. edhelas

    nice

  81. Zash

    Would this make sense? (poke jonas’) $(all_xep_xmls): $(OUTDIR)/%.xml: %.xml - cp $< $@ + xmllint --nonet --noent --loaddtd "$<" > "$@"

  82. Zash

    Eg with how https://xmpp.org/extensions/xep-0226.xml can't be parsed by tiself because external entities

  83. jonas’

    Zash, make a PR, I’m happy to test it

  84. jonas’

    Zash, hm, instead you could copy xep.ent into the build/ too

  85. Zash

    MAYBE

  86. Zash

    So much indirection in the Makeflie

  87. Zash

    So much indirection in the Makefile

  88. Ge0rG

    Metafile

  89. Zash

    *hick*

  90. Ge0rG

    Somebody killed the bridge.

  91. Ge0rG

    burned?

  92. Zash

    Now if I can never leave a bridged Matrix room, can they leave bridged XMPP rooms?

  93. jonas’

    I recall there being a question/issue about that in the tracker

  94. Ge0rG

    https://github.com/matrix-org/matrix-bifrost/issues/63 maybe?

  95. Zash

    Hm, wait