XSF Discussion - 2017-11-10


  1. Guus

    Any webrtc aficionado here?

  2. edhelas

    o/

  3. marc

    \o

  4. jonasw

    possibly in the future

  5. edhelas

    I'm still waiting for clients that are proposing native WebRTC + native Jingle to do tests with Movim :)

  6. Guus

    (I'm a noob, my terminiology might be off): I'm looking for information on the SSLTCP ICE canidate. As far as I understand, it "mimics" a SSL/TLS handshake to fool some firewalls into accepting traffic, without doing actual SSL/TLS encryption (thus not fooling proper firewalls).

  7. Guus

    my questions: a) exactly what version of the clienthello (I think?) is mimiced? b) There appears to be something called TURNS which does full TLS that allows passage through proper filewalls (with the overhead of encryption). This is pretty hard to find via google - where's that documented?

  8. Guus

    </questions>

  9. jonasw

    Guus, https://tools.ietf.org/html/rfc5766

  10. jonasw

    that mentions "turns"

  11. jonasw

    (including the quotes)

  12. jonasw

    so maybe "TURN over TLS" is a good search term

  13. jonasw

    (that term at least works for me with google, but my google is well-trained on RFCs etc.)

  14. Guus

    tx

  15. jonasw

    a quick google suggests that ssltcp is propretary

  16. jonasw

    *proprietary

  17. jonasw

    so aside from reverse engineering google hangouts, it could be tricky to find out how it works

  18. Guus

    ah, Microsoft does document something similar, it appears. They're clalling that MS-TURN: http://interoperability.blob.core.windows.net/files/MS-TURN/[MS-TURN].pdf

  19. Guus

    "Pseudo-TLS over TCP"

  20. Guus

    so, yeah, the SSLTCP ICE pseudo clienthello is a SSL v2.0 clienthello with a specific challenge (yey for wireshark)

  21. jonasw

    sslv2, amusing. but I wouldn’t be surprised if the kind of firewalls fooled by that would also be the kind of firewalls not giving a lot about actual transport security :-)

  22. Guus

    exactly what I was thinking. It also answers my question on why the multiplexer I was using didn't seem to pick it up with the default "TLS" probe :)

  23. moparisthebest

    Guus: also stun and turn alpn IDs here https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids

  24. zinid

    still no our ALPNs in the list

  25. zinid

    xmpp-server and xmpp-client

  26. moparisthebest

    zinid: supposedly iana approved and they will be there next update

  27. moparisthebest

    I want to guess and say that was a month ago

  28. SamWhited

    daniel: the wording is a bit confusing, I'll have to think about how that whole section can be rewritten later, but here's a patch for the issue you mentioned: https://github.com/xsf/xeps/pull/539

  29. daniel

    SamWhited, yes. wording this is the only downside of this otherwise useful change... I think you did a good job though.

  30. SamWhited

    It may be better to rewrite that chunk as a list of rules in the order you should apply them when parsing

  31. daniel

    should probably contain a few 'negative' examples as well. like `*foo *bar` (indicate that this wont be styled)

  32. daniel

    but we can finish the XEP first before we add more examples

  33. SamWhited

    Good call, I should add some for this rule to that list (there is a list of things that aren't styled)

  34. SamWhited

    (added that one)

  35. daniel

    Conversations Master has already been updated to reflect that change by the way. That's going to be shipped with one of the bug fix releases that always follow my minor releases

  36. daniel

    Will be interesting to see where the broader 'leave keywords in' discussion leads

  37. SamWhited

    I still don't have the regular release for whatever reason

  38. daniel

    If people really end up hating the keywords we will have to think about and opt in annotations or what ever

  39. SamWhited

    Yah, I'll be curious about that. I still think it's an implementation detail and is up to individual clients/services, which is why I only made it a SHOULD after we upgraded it from MAY

  40. daniel

    I just promoted from beta to stable an hour ago

  41. daniel

    Guess you are not on the beta channel

  42. SamWhited

    oh, I thought it was already out, nevermind then

  43. SamWhited

    yah, I think the beta group didn't like my Google Apps account or something? I can't remember

  44. daniel

    > oh, I thought it was already out, nevermind then So did I 😀

  45. SamWhited

    hah, that explains it

  46. Guus

    has that / _ italics vs underline discussion come to an end?

  47. moparisthebest

    the problem with opt-in (client sending 'this is styled') is how would a client know I meant *bold*, that's sorta the whole point

  48. SamWhited

    Guus: I'm not sure. I didn't hear any compelling reason to change it other than one or two XMPP clients were doing / aleady, so I didn't, but if it's what the community wants I'm happy to do so.

  49. moparisthebest

    Guus, never

  50. SamWhited

    But I felt that didn't outweigh the fact that most other messengers seemed to be doing _ already and that _ has meant italics since the days of typewriters

  51. Guus

    I was discussing it with some frontend-oriented colleagues. They basically said: "Both underlining and italic are used to express emphasis. Never allow underlining for anything else than hyperlinks. Underlining has it's origin with typewriters, that (mechanically) didn't have skewed letters."

  52. SamWhited

    oh yah, I think you mentioned that; that seems like a good enough reason not to add underlines and to keep _ for italics to me.

  53. Guus

    is it an idea to simply define both as "emphasis" and let the client use whatever they prefer?

  54. SamWhited

    I defined it that way originally, where actually doing italics was a MAY; it's a SHOULD now, but I could be persauaded to go back.

  55. moparisthebest

    so do you support /this/ for italics too?

  56. SamWhited

    I just thought it made more sense to strive for consistency.

  57. Guus

    I personally prefer _ for italics - but most historical usage implies underline.

  58. moparisthebest

    I'm not actually sure where that comes from

  59. SamWhited

    There is of course nothing stopping clients from also supporting /this/, it just won't be as consistent

  60. SamWhited

    The typewriter historical usage implies italics, just not until you actually go to typeset it… maybe we should have a timer and it should randomly change into italics!

  61. moparisthebest

    does the XEP say both or not though

  62. SamWhited

    The XEP doesn't mention /

  63. moparisthebest

    I don't know the answer as to whether it should or not

  64. SamWhited

    I also thought it was likely that / would collide with paths

  65. Guus

    using / for markup is annoying, if your text has URLs (the stuff that ironically, requires an underline in rendering...)

  66. SamWhited

    /this/is/a/path/ would be italisized under the current rules

  67. SamWhited

    or "this" and "a" would anyways

  68. moparisthebest

    URLs wouldn't

  69. SamWhited

    just "this", rather.

  70. moparisthebest

    a folder file path would and a file path would not

  71. Guus

    meh, perhaps it's best to just go with something and stop discussing :)

  72. moparisthebest

    at least for me that falls under who cares territory

  73. SamWhited

    It seems like there is a slight upside to using _ over /, so unless someone *really* comes up with a compelling reason I'll probably leave it as is

  74. SamWhited

    Although, at this point I'm not even sure if this will be accepted so ¯\_(ツ)_/¯

  75. moparisthebest

    I have nothing compelling :) just that I've always done /italics/ and gajim does it too

  76. moparisthebest

    it doesn't matter

  77. SamWhited

    yah, I like /italics/ pretty well too

  78. Guus

    yeah, hence my suggestion to define _ as well as / as 'emphasis' and throw consistency out of the window.

  79. Guus

    not sure if it's a fair tradeoff though

  80. SamWhited

    It doesn't seem worth it to me

  81. moparisthebest

    what's 'emphasis' ? bold or italics?

  82. Guus

    emphasis is typically expresses with underline or italics

  83. Guus

    ... but your quesion alone proves that it's a bad idea :)

  84. SamWhited

    I call it "bold" and "italics" right now in the protoxep, but they're both a SHOULD. Maybe I should merge those sections and say that they're different types of "emphasis", someone asked for it and I said I would, I just didn't want to make the change unless it was accepted (although now I've already done more work, might as well do a bit more)

  85. moparisthebest

    to me, obviously, 'emphasis' is unclear so I'd say bold/italics etc

  86. moparisthebest

    if the only argument is 'accessible' clients well they have to decide the difference anyway so

  87. moparisthebest

    there isn't a XEP police going you translated that to voice wrong

  88. daniel

    /this/is/a/path/ would emphasize the whole thing

  89. daniel

    Because the inner / will be ignored

  90. Ge0rG

    paths are important, they need emphasis.

  91. daniel

    With the PR SamWhited just made

  92. daniel

    Not with the published rules

  93. moparisthebest

    but I think /this/is/a/path/to/a/file would not emphasize anything right?

  94. moparisthebest

    because only folders are important, not files

  95. daniel

    moparisthebest: yes

  96. moparisthebest

    :)

  97. Ge0rG

    so directories are more important than files.

  98. moparisthebest

    yep

  99. SamWhited

    daniel: I don't think the change I made affects that one will it?

  100. daniel

    oh you are right

  101. daniel

    it will emphasize /this/

  102. daniel

    with both the old and the new rules

  103. daniel

    still not cool though. and a reason not to use / as a keyword

  104. moparisthebest

    what if my OS uses _ as a path seperator, then I'm back to the same problem

  105. moparisthebest

    all of these messenger silently changes my send text is a problem I've always had in every client

  106. moparisthebest

    I wish they followed these rules where at least the characters were left in

  107. moparisthebest

    that fixes everything, so in my opinion what actually gets bolded/etc doesn't really matter

  108. moparisthebest

    try pasting code in 'lync' or 'skype for business' for example, it's a nightmare

  109. Guus

    whatsapp nicely fades the keywords a little, but keeps them in place

  110. moparisthebest

    perfect imho

  111. Guus

    SamWhited: what about nested formatting? formatting in code blocks is likely unwanted, but what about in quotations?

  112. SamWhited

    Guus: It's allowed by the spec

  113. Guus

    "Block quotes may contain any child block, including other quotations"

  114. Guus

    I misread that as "may contain other quotations"

  115. SamWhited

    I probably also need to define the block/span thing better

  116. Guus

    You're not mentioning hyperlinks - but I'd expect that most clients that do styling, would also make those clickable (and give them corresponding style). Maybe mention that?

  117. SamWhited

    I thought about it, but I didn't want to formally specify those (same with lists) because it's just something I'd expect clients to do by themselves and it's not really the same thing as the other indicators

  118. SamWhited

    Maybe just a quick mention to note that most clients probably will want to also auto-link hyperlinks

  119. Guus

    SamWhited: links shouldn't be rendered in preformatted blocks though.

  120. SamWhited

    and that lists were left off because users can type "1." easily enough

  121. Guus

    I'd not mention lists at all, I think.

  122. SamWhited

    I don't know if it matters if lists are rendered in preformatted blocks or not, but that does seem worth mentioning one way or another.

  123. SamWhited

    Even if it's just to say "clients may want to consider this and whether they want it or not"

  124. SamWhited

    Thanks!

  125. Guus

    ... I'm wondering if the adoption rate of the XEP would be significantly higher if you'd forget about blocks completely, and do spans only.

  126. Guus

    (that's an elaborate way to admit that I'm a lazy client dev)

  127. SamWhited

    I wouldn't be against that, although I think the blocks aren't very difficult to implement either. Did you run into any trouble while playing with it?

  128. Guus

    SamWhited: not 'trouble', but it does require me to rewrite parts of the displaying code. Things are easier when I only need to concern myself with single lines.

  129. Guus

    I quite dislike implementing stuff that has all kind of exceptional cases "if then do that except for when this is that"

  130. Guus

    the spans are already complex. Having to think of nesting spans or blocks in other blocks - meh, I'd rather fix another bug. :)

  131. Guus

    as I said, lazy.

  132. Guus

    also, preformatted blocks add little value for me, personally (I can see how they could be useful, but I'd much rather have people use a service like pastebin, isntead of cluttering up my MUC)

  133. Guus

    blockquotes could be useful to an extend, but the XEP would be interesting in itself without it.

  134. Guus

    also: people in open_chat now are experimenting with cowsay in the muc.

  135. SamWhited

    I thought about making that an easter egg in my little client… if you did ```cowsay it would pipe it through that first and then display

  136. Guus

    shouldn't block text be mono-spaced?

  137. SamWhited

    That was the idea

  138. Guus

    I don't think it mentions that explicitly

  139. SamWhited

    oops, thanks, I'll add that to my todo as well

  140. SamWhited

    It mentions it in one of the examples!

  141. SamWhited

    > This should show up as monospace, preformatted text ⤴

  142. SamWhited

    Probably need some normative language there

  143. Guus

    is this valued: ``` hello ```

  144. Guus

    also, lines with ``` could easily by accident end with some random whitespace - might be good to explicitly allow for that?

  145. SamWhited

    hmm, no, I just didn't expand that section as much as I thought I did

  146. SamWhited

    It should only be the sequence "```\n" at the beginning of a line followed by "\n```"

  147. SamWhited

    I think; I'm not sure how likely accidental use of it would be without that

  148. Guus

    ```<space>\n

  149. SamWhited

    why the space?

  150. Guus

    because people copy/paste stuff sloppy?

  151. SamWhited

    maybe it should just be any line starting with ``` and anything after it is ignored, then people can shove syntax highlighting hints in there like github does

  152. Guus

    I've had hell with the import of DER certs, because of a trailing space somewhere. It might be good to be somewhat lenient.

  153. SamWhited

    yah, makes sense

  154. Guus

    (then again, I'm leaning towards dropping all of this weird complexity by dropping blocks from the xep completely)

  155. Guus

    two xeps? Styled spans, Styles blocks?

  156. Guus

    well, I'm going to pour myself a drink and call it a night :)

  157. Guus

    will lurk on mobile

  158. Guus

    g'dnight!

  159. SamWhited

    I suppose they don't all have to be a must; if the ``` blocks don't provide value for you, it's not like they'll look terrible if someone else sends you one and your client doesn't style it

  160. Ge0rG

    Can we have a language identifier right after the initial ``` ?

  161. SamWhited

    I don't think I'd want to call it a language identifier specifically, but maybe just say that the start of preformatted blocks is any line that matches ```.*\n and then clients that want to could assume it was a language thing

  162. Ge0rG

    SamWhited: call it a syntax hint, then it's sufficiently free form

  163. Arc

    it rages on

  164. SamWhited

    Arc: It's all part of my secret plan to not be re-elected next term.

  165. Guus

    We'll punish you by reelecting you anyways.

  166. Arc

    its true.

  167. Arc

    idk tho, 5 people must be elected to council.

  168. Arc

    you're easily one of the most qualified

  169. SamWhited

    heh, thanks… drat though, I guess I'll have to think up more controversial proposals to create right before the election

  170. Kev

    I don't *think*, although I might misremember, that all the slots have to be filled.