XSF Discussion - 2016-01-07


  1. ralphm

    MattJ: well yeah, Jaiku was acquired by Google, used as a vehicle to test app engine and then dismantled. There are some bits and pieces (idea-wise) in Plus.

  2. Kev

    Flow: If you can improve the xepdiff tool, I'm sure no-one's going to object. It works pretty well though (and has been useful for years), so I'm not going to say much bad about it :)

  3. dwd

    Flow, That's the RFCDIFF tool. It works on plaintext only. We could build a plaintext rendering of XEPs and use it that way.

  4. dwd

    Kev, Did you notice discussion about mixed content in the diff tool yesterday?

  5. Kev

    Panic not, my name is now on the list. And unlike 40% of Council, I can follow basic specs.

  6. Kev

    I did not.

  7. Kev

    I just saw Flow saying I wish XEP diffs would be like that: http://spec.commonmark.org/0.22/changes.html 22:23

  8. dwd

    Ah. One of the CSS files is referenced with a full HTTP (no S) URI, so it doesn't work with HTTPS.

  9. dwd

    Kev, http://logs.xmpp.org/xsf/2016-01-06/#11:08:44

  10. Kev

    Tobias: Are you still maintainer of the difftool? :)

  11. Tobias

    Kev, likely :)

  12. Kev

    See above :)

  13. Kev

    Although if we've got any sort of documentation of where the Git repo for it is and how to deploy new versions, I can probably sort out a fix in a bit (I'm about to go unavailable for an hour).

  14. Tobias

    git repo? :) i think your hopes are too high

  15. Tobias

    it's a collaboration of waqas and mine, should on perseus somewhere...but daisydiff hasn't been maintained for years...so maybe it's worth looking at alternative for the diffing

  16. ralphm

    Tobias: someone should introduce you to the wonders of Distributed Version Control Systems

  17. Kev

    Well, OK.

  18. Kev

    I might try to extract the code from perseus and put it up on the XSF's github repo, then.

  19. Kev

    Tobias/waqas: Assuming you're ok with that.\

  20. Kev

    AFK a bit.

  21. Tobias

    the code extracting the two different XML versions of a XEP shhould be nicely reusable

  22. dwd

    MIX §5.1 is "Common User Use Cases". What about posh users? Does one do things differently?

  23. Flow

    Kev: If it was me, I would simply replace to the XEP format from XML to CommonMark (with annotations). Then good difftools come for free :)

  24. waqas

    Kev: Sure

  25. waqas

    dwd: It would be pretty useful to have a RFCText version of XEPs…

  26. dwd

    waqas, XSLT has a text output mode, so it's possible. Could even have that output to CommonMark.

  27. dwd

    waqas, Or a transform from XEP-0001 schema to xml2rfc, of course.

  28. waqas

    Daisydiff has an intelligent (i.e., structured) HTML diffing mode. My primary contribution to daisydiff was major optimization, so that the PubSub XEP didn't take tens of gigs to diff.

  29. waqas

    Daisydiff does optimal diffs, so had O(n^2) complexity, and was too object-creation-happy.

  30. Zash

    dwd: does the existing xslt files have a nice text output already?

  31. Zash

    I wrote a thing that spits out markdown earlier

  32. Flow

    I've posted the the link to OX on hn: https://news.ycombinator.com/item?id=10857537

  33. Flow

    Is the MIX ProtoXEP acceptable as Experimental given that there are so many white spots?

  34. Kev

    Flow: I think so, given that the bits that aren't white were meant to be sufficient to get an implementation.

  35. Flow

    Kev: sounds reasonable, was just wondering

  36. Kev

    So essentially the white bits are useful in giving an indication of what's to come. We could have just left out the white bits, had a minimal XEP, and added new headings later as we wrote the new features, but I think what we've done is preferable in this instance. In another instance I might have a different opinion.

  37. Kev

    I also put TODO: List Discussion in there in a few places, which is very unorthodox, but I think was a good idea because I wanted a) list discussion and b) anyone implementing to understand likely future changes.

  38. goffi

    Kev: this list discussion mean there have already been discussions somewhere ? Or it's just a placeholder for future discussions ?

  39. Kev

    Meaning that there are some large questions that still need answers, and so I'd like discussion to happen on the lists.

  40. Kev

    And, probably, at the Summit.

  41. goffi

    I would be happy to do an experimental implementation for the client side, but a server component would help.

  42. Kev

    I'll be trying to schedule one of those as soon as I can, but it's not going to be imminent.

  43. dwd

    Flow, I'd rather have XEPs with large emtpy spaces marked "TODO" than no XEP.

  44. dwd

    Flow, Obviously at Experimental. I'd hope that by Draft it'll be more complete...

  45. moparisthebest

    is anyone familiar enough with XEP-0357: Push Notifications to explain the rationale for sending any sensitive data over push at all?

  46. moparisthebest

    vs a simple 'wake up and check your xmpp server'

  47. Zash

    It's optional, right?

  48. Kev

    moparisthebest: You won't be able to wake up to fetch the rest of the data until the user asks you to.

  49. moparisthebest

    Zash, yes, but why even make such a horrible decision optional?

  50. Zash

    Because use cases

  51. moparisthebest

    Kev, what do you mean? a push message wakes up the xmpp client to do network stuff right?

  52. xnyhps

    moparisthebest: Not on iOS.

  53. moparisthebest

    Zash, yes I'm asking about what use cases it could possibly have?

  54. Zash

    I would guess that it depends on the platform

  55. dwd

    moparisthebest, iOS is rubbish, basically.

  56. moparisthebest

    so it's so on ios it can display 'USER sent MESSAGETEXT"

  57. moparisthebest

    instead of 'you have a new message' ?

  58. Steffen Larsen

    dwd on some areas yes.. but still .. better in so many others. :-)

  59. Tobias

    who ever thought using a network router OS in the mobile realm…just crazy

  60. dwd

    Tobias, Oh, *that* IOS is OK.

  61. moparisthebest

    I still tend to think a simple 'You have a new message' would be much more preferable giving the security implications :/

  62. Zash

    moparisthebest: And that can't be decided by the implementers?

  63. moparisthebest

    seems kind of dangerous to allow that to be decided by implementers

  64. Zash

    FWIW I wrote an SMS based "app server" that just sent "You have chats"

  65. moparisthebest

    xmpp enforces encryption between all links, but this xep encourages unknown encryption on 3 links and 2 servers ?

  66. Tobias

    Zash, call this number to listen to the messages you've received while offline :)

  67. Zash

    Tobias: Ooooooh, that'd be fancy :)

  68. moparisthebest

    ok, new idea, if ios clients want to display messages, why not still encrypt sensitive data?

  69. moparisthebest

    client could send their xmpp server a public key with which to encrypt things before sending over the push network?

  70. Zash

    Tobias: Perfect for me who isn't usually that comfortable with phone calls at all

  71. Tobias

    Zash, thought so...finally you can use up all those "free minutes" :)

  72. Zash

    Does iOS let the client render the message?

  73. xnyhps

    Zash: No.

  74. xnyhps

    It can't process it at all until the user taps on it.

  75. Zash

    moparisthebest: So that's impossible.

  76. xnyhps

    Unless you do the decryption in your head, yeah. :P

  77. MattJ

    How about "if you care about privacy, don't use iOS"?

  78. moparisthebest

    the more I learn about iOS the more I'm convinced it's the absolute worst excuse for an "OS" in the world

  79. moparisthebest

    I figured there were reasons for including terrible stuff like that in the XEP, I just couldn't figure out why, now it makes sense :)

  80. Zash

    http://xmpp.org/extensions/xep-0357.html#security

  81. moparisthebest

    I saw that, but allowing bad decisions at all, even if accompanied by security considerations is a bad idea

  82. moparisthebest

    and with only knowledge of how android works I didn't see a reason for it

  83. Flow

    moparisthebest: that is correct, you don't need xep357 on Android

  84. moparisthebest

    Flow, apparently you do for android 6+ I recently learned... :(

  85. moparisthebest

    google is racing apple to the bottom I guess

  86. Flow

    moparisthebest: not true, you can request to whitelist your app

  87. Zash

    ... "request to whitelist"

  88. moparisthebest

    Flow, apparently it pops up an ugly confusing dialog the user has to 'consent' to, something about lowering battery life

  89. Flow does long living XMPP over TCP session on all versions of Android :)

  90. moparisthebest

    I mean, that's what I'm personally going to do, I don't have any google apps and therefore no push on my phone

  91. moparisthebest

    but an app without technical users like conversations probably can't assume everyone is going to do that, and therefore must implement xep-0357, but hopefully with no data going over the line :)

  92. Kev

    Flow: Well, you can't be sure that you're not going to get terminated, so 357 still makes sense.

  93. Flow

    Kev: That heavily depends on your use case

  94. Kev

    Assuming your use case is 'have the user able to get notifications of new messages while the phones in their pocket'.

  95. Flow

    I achieve good results doing a check for liveness every 30 minutes

  96. Kev

    How do you check for liveness?

  97. Flow

    server ping

  98. Flow

    xep199

  99. Kev

    But the server pinging you doesn't help if you've been terminated.

  100. Flow

    Kev: reconnect if the pong didn't arrive within a reasonable amount of time?

  101. Kev

    The server can't initiate the client starting!

  102. Flow

    No I ping the server

  103. Kev

    How, if you've been terminated?

  104. MattJ

    Flow, Kev means process termination, not connection termination

  105. Flow

    Then I reconnect

  106. Kev

    How, if you've been terminated?

  107. Flow

    START_STICKY

  108. Flow

    Android will restart the Service component if it's started sticky

  109. Flow

    usually wihtin a few seconds

  110. Flow

    sometimes within a few minutes

  111. moparisthebest

    I've never had conversations terminated by android personally, not sure if it's common elsewhere

  112. Kev

    Unless the user's using their web browser for a long time (or other memory-hogging process, but it's usually browsers from what I understand).

  113. moparisthebest

    what we need is an xmpp-based push service, where part of the design is end-to-end encryption across it

  114. moparisthebest

    then it can come by default with cyanogenmod and other roms, or be installed on rooted phones, and we are good

  115. Kev

    I accept that may be a reasonable trade of. I'm not convinced it always is, and in those cases it isn't, 357 continues to make sense.

  116. Kev

    +f

  117. Zash

    "xmpp-based push service" ...

  118. Flow

    Kev: It mostly comes down to if your users are ok that sometimes messages arrive a bit late, 30 minutes in the worst case. But GCM also doesn't provide any gurantees about when the push is delivered. So the trade off is perfectly fine for me. Plus I don't have to depend on third party services.

  119. Zash

    But they are or were all xmpp based. And XMPP itself is push, since TCP is push. I don't like the word "push" in this context, it's confusing.

  120. Kev

    Flow: Fair.

  121. moparisthebest

    Zash, probably are, it's a good choice, but I'm saying fully open source (ie you-can-run-your-own) and encrypted end-to-end always, ie client tells pushing service a public key to encrypt to, only fully encrypted messages transit push service

  122. Zash

    It's not about open source or even the protocol. It's about control, which Google and Apple does not give you, so there can be no nice solution here.

  123. moparisthebest

    the push service sdk would be easy too, it'd just be a minimal xmpp client, or anything capable of xmpp, could even integrate in the open source gapps replacement for android apps to use the same

  124. Zash

    And that's why 357 is ok. It's a compromise.

  125. Zash

    Even the architecture of XMPP itself is a compromise, one that happens to work really well.

  126. moparisthebest

    google does, something like this could come with cyanogenmod and all the other roms?

  127. moparisthebest

    you could use it on a 'jailbroken' ios device too I guess

  128. moparisthebest

    so does http://www.mitls.org/pages/attacks/SLOTH mean SCRAM is totally broken? and therefore XMPP authentication with untrusted servers?

  129. moparisthebest

    though most things I see use PLAIN anyhow :/

  130. Zash

    moparisthebest: No. It just means SCRAM-PLUS is not as secure as it should be.

  131. Zash

    But we knew that already

  132. moparisthebest

    ok good then :)

  133. Zash

    See also https://secure-resumption.com/

  134. stpeter

    have we all discussed PrivaTegrity here yet? http://www.wired.com/2016/01/david-chaum-father-of-online-anonymity-plan-to-end-the-crypto-wars/

  135. mathieui

    Zash, doesn’t the weakness exposed by sloth require you to use the same credentials on a trusted and on a malicious service?

  136. moparisthebest

    mathieui, yes that's how I read it

  137. moparisthebest

    it's not a good security policy, but you know many people do it all the time... :(

  138. Zash

    mathieui: Huh?

  139. dwd

    XEP-0369 - quite a good number.

  140. mathieui

    moparisthebest, it also requires a man in the middle from the malicious service, (in order to sync the tls-unique) afaik

  141. intosi

    stpeter: sounds like that council mention in the article is a job for the Elders of the InterNet

  142. ralphm

    dwd: numberist

  143. intosi

    ralphm: that doesn't make dwd any less right.

  144. moparisthebest

    mathieui, yep

  145. Zash

    https://en.wikipedia.org/wiki/369_%28number%29

  146. Zash

    magic number!

  147. dwd

    The only number better is XEP-0248, since that's increasing powers of two.

  148. Zash

    dwd: I quite like 313

  149. Zash

    It's a happy prime

  150. moparisthebest

    until 968 XEPs from now that is

  151. Kev

    I'm happy with both 313 and 369.

  152. Zash

    mathieui: I'm not sure what you mean that about same credentials, or how it applies.

  153. moparisthebest

    Zash, SLOTH allows credential forwarding with SCRAM, where SCRAM uses tls-unique to prevent credential forwarding

  154. moparisthebest

    stpeter, I'm sure the 5 eyes would be quite happy with PrivaTegrity, they'd only have to hack 4 other countries to ex-filtrate their keys and they'd have everything they always wanted :)

  155. MattJ

    I loved it when I found out 313 was a palindrome in binary as well as decimal

  156. MattJ

    and a prime number

  157. Zash

    and a happy number!

  158. intosi

    And that :)

  159. stpeter

    moparisthebest: yeah for sure

  160. moparisthebest

    and for literally the millionth time, criminals will just use non-backdoored crypto anyhow....

  161. Zash

    Question is, does TLS 1.3 fix tls-unique?

  162. moparisthebest

    that article mentions the md5 fixes for tls 1.3 but nothing about tls-unique, so I'd *guess* no

  163. Zash

    As it was already broken by that 3 handshake thing, which IIRC did not require finding a collision at all

  164. moparisthebest

    the 3 handshake thing says Mitigations pending modification to tls-unique or adoption of new TLS extension

  165. Zash

    Which isn't there yet afaik

  166. moparisthebest

    given the truncation of sha256 causing the SLOTH problem too, hopefully tls 1.3 will do SOMETHING about it?

  167. Zash

    https://tools.ietf.org/html/draft-bhargavan-tls-session-hash-01

  168. dwd

    moparisthebest, tls-unique is on the rocks anyway.

  169. Zash

    dwd: on the rocks?

  170. dwd

    Zash, In as much as we need to replace it with tls-session-hash or something.

  171. Zash

    dwd: I thougt the idea was to have the algorithm be replaced by what tls-session-hash says

  172. Zash

    Either negotiated or entirely in 1.3

  173. Zash

    Either negotiated as an extension or replaced entirely in TLS 1.3

  174. Zash

    I've looked at tls-server-end-point but it requires more asn1 introspection to be added to our tls library. :/

  175. dwd

    I thought that was just a hash of the server cert?

  176. dwd

    Well, the server cert in its DER form, at least.

  177. moparisthebest

    I like things that hash a der :)

  178. moparisthebest

    dane/hpkp etc

  179. Zash

    dwd: But the hash algorithm is determined by the hash used in the signature algorithm.

  180. moparisthebest

    as long as it's sha2+ it's fine

  181. dwd

    Ah, I see.

  182. Zash

    Yeah, I think you can cheat and always use sha256, but it'll break if it's signed with rsa-sha512

  183. Zash

    It would have been easier if the hash algo was fixed, or determined by having eg tls-server-end-point-sha256 and tls-server-end-point-512 etc

  184. Zash

    But then it's tricky since there's no negotiation, so client's can't know if anything other than tls-unique is supported

  185. thorsten

    Hi guys .... A small mistake in https://xmpp.org/extensions/xep-0369.html MIX has been accepted. :)

  186. thorsten

    Version 0.1 (2015-01-07) Initial published version approved by the XMPP Council. (XEP Editor (asw)) Version 0.0.1 (2015-10-12) First draft. (kis/psa) END

  187. thorsten

    Year should be 2016 ;)

  188. thorsten

    Hi guys .... A small mistake in https://xmpp.org/extensions/xep-0369.html MIX has been accepted. :) ​ Version 0.1 (2015-01-07) Initial published version approved by the XMPP Council. (XEP Editor (asw)) Version 0.0.1 (2015-10-12) First draft. (kis/psa) END ​ Year should be 2016 ;)

  189. MattJ

    Heh

  190. dwd

    Heh.

  191. Ash

    thorsten: Yeah - that's fixed now (might need a hard-refresh though). The copyright date was also still 2015.

  192. thorsten

    Ash: and I didn't see the copyright ..... Great Ash. ;)

  193. Ash

    It's far too early in the year still for this kind of thing! Thanks for spotting :)

  194. SamWhited

    It's still early in the year; we have not had enough coffee yet this year to be thinking about these kinds of things (pretty sure coffee works that way on any time scale).

  195. thorsten

    Ash: SamWhited just wanted to help a bit ;)

  196. Zash

    I have a serious problem. I'm out of coffee and it's too cold for me to want to go out and buy more. I guess I'm doomed.

  197. moparisthebest

    can you reuse the old coffee grounds until it warms up enough?

  198. thorsten

    Zash: that's what's missing: coffee delivery service for offices

  199. thorsten

    moparisthebest: I'll find a button place in conversations for it ;)

  200. Zash

    moparisthebest: That's worse than the emergency instant coffee I'm currently surviving on

  201. moparisthebest

    eek I'm not convinced it's WORSE, maybe the same

  202. thorsten

    Zash: u drink what?

  203. thorsten

    And my colleagues want to kill me when I out some hot water in my cappuccino to stretch it !

  204. thorsten

    Out=put

  205. SamWhited

    That's a brilliant idea… I wonder if there's a service that delivers coffee around here; I would love having a HipChat addon or something for that.

  206. SamWhited

    I would be broke very quickly.

  207. xnyhps

    Zash: There's no such thing as too cold to go out and buy coffee.

  208. xnyhps

    (Though that's easy for me to say while it's 7°C outside.)

  209. dwd

    Can't see the attraction of coffee, myself.

  210. dwd

    But if I ever ran out of tea the world would end.

  211. moparisthebest

    dwd, british?

  212. dwd

    Of course.

  213. MattJ doesn't like tea

  214. MattJ

    or cricket

  215. SamWhited

    MattJ: Isn't that illegal for you people?

  216. dwd

    Or bacon, though, which makes you officially weird.

  217. moparisthebest

    dwd, yea that's pretty much the most british-sounding thing I've ever heard, you guys really like your tea

  218. Zash

    I was sooooo close to saying "or ribs"

  219. thorsten

    https://www.bountysource.com/issues/25371199-feature-request-message-search

  220. Link Mauve

    So, I kind of have an implementation of this new OpenPGP for XMPP XEP. :)

  221. Link Mauve

    And an echo bot which decrypts the message and encrypts an answer with the same body.

  222. Link Mauve

    I didn’t implement verification yet, nor key publishing, I only have iq/presence/message encryption and decryption.

  223. Link Mauve

    (In slixmpp.)