jdev - 2020-04-24


  1. Link Mauve

    Not really no.

  2. Zash

    XEP-0215 client implementers, do you implemente the <credentials/> thing at all?

  3. Martin

    Forwarded to conversations muc.

  4. Zash

    thx

  5. Martin

    Zash: > i don’t use credentials From Daniel

  6. Zash

    Mhm

  7. Holger

    Philipp tried to explain on the list but I still don't get the point of the seperate `<credentials/>` request.

  8. Zash

    Imagine handing out a HTTP Upload slot in every disco#info. That's what it does.

  9. Holger

    Dunno the XEP is a super-trivial request-response thing plus two different syntaxes to allow the client to filter the response list; neither of which allow the client to query just the single service it wants.

  10. Zash

    I don't see a generic implementation of 215 working this way.

  11. Holger

    At the same time a single tag (`<services/>`) has different syntax depending on whether it's used in the request or the response so you can't properly schema-validate it.

  12. Holger

    Zash, generic implementation of 215 working what way?

  13. Zash

    Holger: More like how mod_disco in prosody works, with other modules adding 'items' (features, identities, stuff) and then mod_disco composes replies from that.

  14. Holger

    Ah, right.

  15. Zash

    Gets awkward if those items are supposed to be dynamic.

  16. Holger

    Ah there's also the push support of course.

  17. Zash

    The <credentials/> lets you limit your dynamicness

  18. Zash

    The <credentials/> query lets you limit your dynamicness

  19. Zash

    And if it's something where it's expensive to produce those crendentials you don't wanna do that a lot just becasue the client wants to know what's available.

  20. Holger

    Heh, ok.

  21. Holger

    I implemented the `<credentials/>` thing anyway, glad to hear a reasoning why that might make sense πŸ™‚

  22. pep.

    "Holger> At the same time a single tag (`<services/>`) has different syntax depending on whether it's used in the request or the response so you can't properly schema-validate it." not in the xml schema for sure (and I also find this meh) but you can have a In/Out Receiver/Sender foo/bar structure in the code for sure

  23. Zash

    Or we might as well rename 215 "TURN/STUN query protocol" and drop the genericness

  24. Holger

    pep., yeah. My XMPP library doesn't.

  25. pep.

    "Holger> At the same time a single tag (`<services/>`) has different syntax depending on whether it's used in the request or the response so you can't properly schema-validate it." not in the xml schema (and I also find this meh) but you can have a In/Out Receiver/Sender foo/bar structure in the code for sure

  26. Holger

    My library mostly just does (de)serialization based on XML-schema-like schemas. I can't tell it about in/out.

  27. Holger

    Zash, I think 0215 originally was STUN/TURN-specific and then switched to genericness.

  28. Zash

    Aha https://xmpp.org/extensions/xep-0215.xml#revision-history-v0.2

  29. pep.

    I would love for mine to do that but unfortunately it's not possible as schemas are (first not normative ?!?! but also) not always how you'd like to structure data :/

  30. pep.

    I think there's the same issue for <bind/>

  31. pep.

    and maybe others

  32. Holger

    Well it's just schema-like-schema πŸ™‚ We invented our own thing to describe XMPP syntax.

  33. Zash

    Well then why is http upload its own completely separate thing?

  34. Holger

    But issues such as the `<services/>` thing are the same for us as for standard XML schema.

  35. Zash

    One of these days I might have to invent one of those too

  36. Zash

    Schema / data mapping thingymajigger

  37. Holger

    I now gotta check syntax within the query handling code rather than in the deserialization layer.

  38. Zash

    Separation of syntax and semantics checking might be sensible tho?

  39. Holger

    > Well then why is http upload its own completely separate thing? Good question.

  40. pep.

    Holger, re bind: BindQuery: https://gitlab.com/xmpp-rs/xmpp-rs/-/blob/master/xmpp-parsers/src/bind.rs#L15 BindResponse: https://gitlab.com/xmpp-rs/xmpp-rs/-/blob/master/xmpp-parsers/src/bind.rs#L73