XSF Discussion - 2017-10-25


  1. jonasw

    poezio looks confused

  2. edhelas

    hey guys, already heard about that ? https://software-otomax.com/setting-jabber-di-otomax.html

  3. edhelas

    some services are using XMPP servers as money transaction system, mostly in Indonesia

  4. edhelas

    I'm considering those accounts created as spam and deleting them on my server

  5. Zash

    Isn't this more of an operators@ topic?

  6. edhelas

    oh sorry, will discuss about that on operators@

  7. Arc

    wait, crytocurrency transactions, or actual currency?

  8. zinid

    xmpp can be used for cryptocurrencies, because, despite the intention, they fall into "trust your server" category (e.g. there is full-mode node holding blockchain and lots of tiny clients)

  9. Arc

    ok

  10. Arc

    ralphm: nyco: you around?

  11. ralphm

    Yes

  12. Arc

    ok so team A today

  13. ralphm

    Awesome?

  14. Arc

    sure A can be awesome, refering to we either have mattj + martin, or ralph + nyco

  15. Arc

    do we have anything for the agenda?

  16. dwd

    Arc, I believe Martin is travelling right now.

  17. Arc

    meeting time

  18. Arc

    but do we have quorum?

  19. ralphm

    Hi

  20. ralphm bangs gavel

  21. ralphm

    0. Welcome + Agenda

  22. ralphm

    Who do we have?

  23. Arc

    Here

  24. nyco

    hey

  25. nyco

    sorry

  26. nyco

    late... :'(

  27. nyco

    quorum achieved

  28. ralphm

    Besides trello items, anything else we should discuss?

  29. nyco

    I don't see...

  30. Guus

    Summit/fosdem?

  31. Arc

    google code-in is happening

  32. Arc

    XSF missed the application window tho

  33. ralphm

    Guus: yeah, I was going to put that on

  34. MattJ

    Sorry, thought I was in the room but I wasn't

  35. ralphm

    Hi MattJ

  36. ralphm

    I see Draft/Stable

  37. ralphm

    And the eternal editor recruitment that I think we can remove

  38. ralphm

    Also elections

  39. nyco

    yeah, summit, only one day this year?

  40. ralphm

    So let's get going

  41. ralphm

    1. FOSDEM / XMPP Summit

  42. nyco

    we got the RTC devroom, thx to Saul, again, thx to him

  43. ralphm

    Why one day only? Last time we easily filled up two days.

  44. nyco

    we have no RTC lounge... yet... afaik

  45. ralphm

    nyco: yeah, I was aware of it all

  46. ralphm

    I will apply for the Lounge as always

  47. nyco

    thx

  48. nyco

    also, isn't that for the SCAM team? what would the board contribute to this?

  49. Guus

    ralphm: please educate me

  50. Guus

    So that I can do it next year

  51. ralphm

    Guus: I know I haven't been very communicative regarding SCAM, but I consider myself associated with it :_D

  52. Guus

    Scam lacks the experience

  53. ralphm

    It is just filling in a form, mostly copy/paste

  54. ralphm

    And the org knows me so that helps too

  55. Guus

    ralphm:cool, but still, you should not be the only capable one

  56. ralphm

    Agreed

  57. ralphm

    So I will list you as contact, too

  58. Guus

    I'm a car now, let's take this on later, scam MUC?

  59. ralphm

    Anyway, board-wise I can only think of two things

  60. ralphm

    a) do we do a Summit?

  61. Arc

    of course?

  62. ralphm

    b) what things do we need for Summit/FOSDEM and how much money would we need

  63. ralphm

    For b) I think we need to make a little plan within SCAM and then tell board

  64. ralphm

    For a), I totally think we should yes

  65. Guus

    +1

  66. nyco

    you are a car ?

  67. ralphm

    I am not a car.

  68. Guus

    In a car

  69. nyco

    summit, yeah, of course, why not?

  70. nyco

    I guessed, joking ;-)

  71. nyco

    question is rather: 1 or 2 days? and is it a real question?

  72. ralphm

    I'd go with 2 as always

  73. nyco

    why not 5? ;-)

  74. nyco

    2 days, +1 for me as well

  75. ralphm

    I pensiled in Feb 1 and 2

  76. nyco

    so, we pass the hot potato to the SCAM team?

  77. ralphm

    if SCAM has a good plan for more days, I'm very curious about it :-D

  78. nyco

    we can ask this team

  79. nyco

    team answers: none so far

  80. Arc

    the first 365-day summit

  81. ralphm

    Hah

  82. nyco

    oh wow

  83. nyco

    how about 366?

  84. Arc

    because after 365, the next summit begins

  85. nyco

    and, still an open question to the SCAM team: do we keep the very same format?

  86. ralphm

    Good questions. I'd love to answer that with Guus and whoever is in SCAM these days

  87. ralphm

    Is that just nyco?

  88. Guus

    Will formulate answer for next weeks board meeting

  89. Guus

    Daniel too

  90. ralphm

    Ok

  91. nyco

    and Daniel, and you

  92. ralphm

    right

  93. nyco

    left

  94. ralphm

    I didn't leave?

  95. Zash

    ↑↓↑↓

  96. ralphm

    ah

  97. ralphm

    funny

  98. ralphm

    anyway

  99. ralphm

    2. Elections

  100. nyco

    oh

  101. Arc

    they're up

  102. ralphm

    I read in the minutes from last time that Alex was on this, but no update?

  103. Arc

    the pages are on the wiki, official announcements have been made

  104. Guus

    Announcement was made

  105. Arc

    https://wiki.xmpp.org/web/Membership_Applications_Q4_2017

  106. nyco

    so, what do we have to discuss here?

  107. Arc

    https://wiki.xmpp.org/web/Board_and_Council_Elections_2017

  108. Guus

    Board should find candidates of possible

  109. ralphm

    Well, I haven't seen an announcement on that we are looking for candidates?

  110. nyco

    oh, Joe Demo is a candidate, welcome Joe Demo

  111. ralphm

    In any case, if anyone currently on Board wants to do another term, do add your name there

  112. Arc

    is joe demo a person or a placeholder page

  113. nyco

    placeholder

  114. Arc

    that's what i thought

  115. ralphm

    Well, it is a red link, so not even a page

  116. Arc

    i guess someone could be named Joe Demo...

  117. nyco

    why Joe Demo? we have Juliet and Romeo all over the places...

  118. nyco

    ok, interesting debate

  119. nyco

    so, what do we have to discuss/decide here?

  120. ralphm

    Well, we are responsible for making sure elections can happen

  121. nyco

    so, checklist ok?

  122. ralphm

    So I wanted to know what the current state is. I don't see Alex here

  123. Arc

    we're responsible for handing over the baton to the new board

  124. ralphm

    well that too

  125. nyco

    I don't have a baton

  126. nyco

    ok then

  127. nyco

    next agenda item?

  128. ralphm

    yes

  129. ralphm

    3. XEP-0001 Draft/Stable

  130. ralphm

    Where are we on this?

  131. Guus

    Iirc a request for more feedback was supposed to be sent, but in think our was not

  132. ralphm

    Minutes says MattJ will send a proposal

  133. Guus

    Mattj?

  134. ralphm

    didn't see one

  135. MattJ

    Errr, sorry, totally dropped that one

  136. ralphm

    Can we remove this from 'to be discussed'?

  137. MattJ

    Yeah

  138. MattJ

    Writing it on my todo now, like I should have done at the time

  139. ralphm

    I'll put it in commitments

  140. MattJ

    Thanks

  141. Guus

    Tx

  142. ralphm

    Ok

  143. ralphm

    I think that was it

  144. ralphm

    4. AOB?

  145. ralphm

    Anything?

  146. ralphm

    Taking that as a no.

  147. ralphm

    5. Date of Next

  148. ralphm

    +1W

  149. ralphm

    6. Close

  150. ralphm

    Thanks all!

  151. ralphm bangs gavel

  152. nyco

    ok, thx ;-)

  153. nyco

    wow, finished before :30!!!

  154. ralphm

    Yeah, I'm getting back to be on top of the game

  155. Arc

    thats amazing

  156. nyco

    great to see

  157. Guus

    Arc: Observatory docker status?

  158. Guus

    You volunteer ed for that iirc

  159. Arc

    still working on it

  160. Arc

    i have a bit of docker to do this month

  161. Guus

    Cool. Dare to ETA?

  162. zinid

    > So with 3 (+1) votes and 2 (-1) votes, we decide to change the state of XEP-0071: XHTML-IM to Obsolete Hehe

  163. zinid

    ah, then council decided not to deprecate, neat

  164. edhelas

    can't wait for JSON-IM

  165. SamWhited

    It was a misunderstanding of the rules; 0001 was confusing.

  166. SamWhited

    We thought it was a simple majority, but it's a majority +1s and no -1s

  167. MattJ

    (in this case I'm glad, *ducks*)

  168. SamWhited

    :'(

  169. MattJ

    We have problems, but declaring that we essentially don't have any way of communicating formatted messages (especially when most clients support it) would be wrong

  170. Kev

    Council didn't know how their voting worked, but thankfully someone else did ;)

  171. MattJ

    It's not like declaring it obsolete will solve the security issues, people will still implement it if other clients do, if there is no replacement

  172. Zash

    Rewrite it as 90% security considerations and get an audited JS implementation?

  173. zinid

    we can write it in ocaml, prove it in coq and compile to javascript :D

  174. edhelas

    I have a question, do we really need XHTML-IM at first ? I mean who is using it ?

  175. edhelas

    I'd like to have some clear usecases here, because if it's about embedding pictures and so we already have other XEPs for that

  176. Link Mauve

    Zash, sounds like the best course of action.

  177. Link Mauve

    zinid, I’d love if you did that. <3

  178. Wiktor

    edhelas: I'm sending command outputs as pre tags

  179. Link Mauve

    Wiktor, about that, I’m going to change poezio’s implementation to send <pre><code class="lang-python">print('Hello world!')</code></pre> instead of the current way, and hopefully specify this usage of the class attribute at the same time.

  180. Wiktor

    Sounds good 👍

  181. Wiktor

    With this nice Google coloring library I can just insert it into DOM...

  182. Wiktor ducks

  183. Wiktor

    No just kidding but images are already solved in a different way so for me preformatted text is the most important use case... I like code snippets and nicely aligned ASCII tables...

  184. MattJ

    XHTML-IM should be a whitelist of tags, no CSS and no dangerous attributes, it needs to have very clear guidelines on how to implement it safely

  185. MattJ

    and maybe that's a new XEP that replaces the current one, that's fine

  186. MattJ

    But changing the status of the current one is not the fix for the issue

  187. waqas

    MattJ: I went with a whitelist of attribute values, CSS keys and values

  188. MattJ

    Sanitizing CSS is not easy

  189. Zash

    Throw out CSS but have some predefined list of classes

  190. Zash

    {fg,bg}-$colorname if you want that kind of thing

  191. waqas

    So, I don't think the implementations are really paying attention to the spec's exact langauge…

  192. jonasw

    nice, one week away and still the same discussion <3. I was afraid I would be missing the key part :)

  193. Wiktor

    Also remember while list of protocol schemes so that <a href="javascript:... is unsafe

  194. waqas

    Wiktor: That too

  195. waqas

    (as part of allowed attribute values for a.href)

  196. waqas

    But really, I expect language lawyering in a XEP to have exactly zero impact on the security in the wild.

  197. Link Mauve

    waqas, the specification is currently quite unclear about the possible attacks on web clients.

  198. Link Mauve

    It should state what every web dev should know wrt user input, but it doesn’t currently.

  199. zinid

    jonasw: nah, I just resurrected it here :) /troll

  200. Wiktor

    Also enabling strict Content Security Policy mitigates a lot of these attacks, including script injection

  201. Link Mauve

    Yeah, that should be part of the security considerations.

  202. Link Mauve

    But that header obviously didn’t exist back in 2003.

  203. lovetox

    omg im here

  204. zinid

    "As for me; I recently moved from XMPP to matrix, mostly because I couldn't get XMPP to work reliably on ios, with my server"

  205. zinid

    citation from reddit

  206. zinid

    is everything bad on ios?

  207. ThurahT

    yes.

  208. SamWhited

    ios is fine, the clients are just terrible as far as I can tell. People complain because it kills TCP connections aggressively, but we should be tolerating that anyways.

  209. zinid

    yeah...

  210. SamWhited

    Although, does anything actually describe how reconnect behavior should work with XMPP? That might make a nice informational XEP.

  211. zinid

    there is a more fundamental problem

  212. Zash

    SamWhited: :´(

  213. zinid

    ios assumes your application to run as little as possible

  214. zinid

    so you almost always in "push" mode

  215. zinid

    and we have problems with IQs here

  216. zinid

    the solution is to implement A/V (jingle, sip, no matter) and then ios will allow you to run in background :)

  217. Zash

    Suppose you could do BOSH with high timeouts.

  218. pep.

    zinid, that seems like a win/win, for users and devs :P

  219. SamWhited

    but then you'd have to implement BOSH, and that way lies madness.

  220. zinid

    pep.: yes, however "voip certification" was quite notorious in apple store

  221. zinid

    dunno how it's now

  222. pep.

    I see

  223. zinid

    "For me the biggest advantage that Matrix gives over XMPP is the very simple JSON based communication over plain HTTP"

  224. zinid

    this reddit thread is brilliant

  225. pep.

    Nice :)

  226. SamWhited

    That is an advantage of Matrix, regardless of how complicated that all is under the hood it makes it way easier for most developers to get up and running. We can scorn it all we want, but it's a valid reason that a lot of people would chose to use something else.

  227. Zash

    Without a TCP socket, what's left of XMPP? You basically have to become a stateless HTTP-like thing and then we're competing againtst something that is that already.

  228. SamWhited

    I'm not suggesting we need to change the protocol or anything, just that pretending that advantages our competitors have aren't advantages isn't helpful.

  229. Zash

    I'd like to strongly object to the statement that iOS is fine. // FOSS person who wants to be in control

  230. zinid

    SamWhited: we have BOSH 😁

  231. Zash

    As a server dev, I'm not sure what madness lies in the direction of BOSH

  232. Zash

    Works fine afaik and negates the need for 198

  233. Wiktor

    Zinid, just for a little bit of context this is written by a Matrix developer: "For me the biggest advantage that Matrix gives over XMPP is the very simple JSON based communication over plain HTTP. XMPP on the other hand is complex XML."

  234. Wiktor

    The entire thread: https://www.reddit.com/r/privacytoolsIO/comments/678xfm/xmpp_vs_matrix_could_someone_explain_me_the/

  235. zinid

    Zash: there are several bug reports in ejabberd bugtracker and I have no idea how to fix them because the logic is very complicated (there is some mess with how to handle out of order or duplicates)

  236. SamWhited

    It's true. I don't especially like JSON or think it was the right tool for the job, but we have a culture that ignores the end user or developer point of view and only thinks about the experts designing the protocols point of view for whatever reasson. XML *is* too complex, to the point where the XMPP specs have to use a restricted subset of it.

  237. zinid

    Wiktor: ah, ok

  238. zinid

    Wiktor: we should have our spy on Reddit then 😀

  239. ralphm

    I mentioned this before and I think most agree: it is not about the actual wire protocol, but about libraries.

  240. Zash

    ralphm: Sounds true enough. Even SOAP is probably fine if the libs hide it from you :)

  241. zinid

    Lol

  242. SamWhited

    Indeed.

  243. Zash

    And yeah, trying to write your own lib from scratch when you actually want to make a client is not a recipie for a good time

  244. ralphm

    Right

  245. Zash

    Question is, is it better to take a tool that doesn't have what you need and hack those things on, or take a tool that has too much and disable features in it?

  246. ralphm

    Not sure. Somebody asked me if it was a good idea to build a chat system on MQTT. My response: if you don't mind inventing your own chat semantics from scratch.

  247. SamWhited

    On an unrelated note, I just gave an XMPP intro or overview sort of talk to my office, which was fun.

  248. ralphm

    Yay

  249. SamWhited

    (we do a Wednesday lunc-and-learn sort of thing and today was my day to present)

  250. SamWhited

    lunch-and-learn, even.

  251. Guus

    Sam, do you have some sort of template for that? Either to reproduce, or to distill in a blogpost or intro article or something.

  252. SamWhited

    Guus: not really, you can steal my slides if you want (warning, the PDFs are out of date): git@bitbucket.org:SamWhited/xmpp-intro-slides.git

  253. SamWhited

    But I never try to make presentation slides work well on their own; I probably should

  254. zinid

    ralphm: people indeed resort to using hand made chats because they think it's easier to write from scratch instead of fiddling with existing tools/libraries

  255. Zash

    Also don't underestimate the siren song of NIH

  256. ralphm

    SamWhited: I made these a while ago: https://ralphm.net/publications/xmpp_intro/#/

  257. ralphm

    zinid: writing a chat system is easy. Writing a good one is incredibly hard. In any language or protocol.

  258. SamWhited

    ralphm: oh nice! mind if I borrow from that?

  259. ralphm

    Totally, you have the source right there

  260. zinid

    ralphm: I understand that 😀

  261. SamWhited

    Thanks; I want to go back through and remove some of the XEPs I talk about (which were tailored for the same presentation for HipChat but which others probably don't care about) and add some of the bigger ones for common chat features.

  262. SamWhited

    So I might steal your bullets for Jingle/MUC/etc.

  263. Guus

    Nice, ralphm

  264. SamWhited

    I don't have my login on me to update the PDF of mine, but do have my SSH key so I just lazily comitted it to version control like a bad person: https://bitbucket.org/SamWhited/xmpp-intro-slides/src/f4e4c6fe52afd5783f8444325e69b2520fd02514/slides.pdf?at=master&fileviewer=file-view-default

  265. dwd

    Currently at Surevine, we have two guys working on XMPP clients (of sorts), and neither is touching XML.

  266. dwd

    Well. Almost not, anyway.

  267. Guus

    You make 'm work in the office at 10:27pm while the rest of you are at home? Harsh.

  268. Arc

    SamWhited: where you working these days?

  269. SamWhited

    Arc: Cloudflare