XSF Discussion - 2017-03-21


  1. jonasw

    Kev, dwd, FWIW, I think the use of namespaced attributes there is very elegant and in the spirit of XML.

  2. jonasw

    dwd: re 'It's useful to have a device-specific token which can then be managed and/or revoked, independent of ISR': that kind of thing exists, it’s used with SASL EXTERNAL and called a Client Certificate ;-)

  3. Kev

    It might be in the spirit of XML, but it's not in the spirit of XMPP, and I'd say that's more important in this case.

  4. jonasw

    what’s the spirit of XMPP in that regard?

  5. Kev

    Not to use namespaced attributes.

  6. Kev

    And to use namespaced child elements instead.

  7. jonasw

    would probably work equally well

  8. Guus

    I don't think that I've ever seen a namespaced attribute being used in the wild. xml:ns, if that counts, perhaps.

  9. jonasw

    Guus: there are XML-based templating which use namespaced attributes to do magic

  10. jonasw

    think <ul><li engine:loop-over="some expression" engine:loop-var="x"><engine:insert expr="x" /></li></ul>

  11. Guus

    oh, I'm not arguing that you _can_ use them. i'm just observing that I don't recall ever working with them.

  12. Guus

    ah, yeah, good old JSTL does use some.

  13. Guus

    (actually, no, it doesn't I think - what I was thinking of are all namespaced elements)

  14. Guus

    point being: we can use them, but if there's no urgent need, why break a familiar pattern of not having them?

  15. jonasw

    I also still wonder which XML implementations there are out there which do not support XML Namespaces and which are actually used for XMPP.

  16. jonasw

    the ejabberd implementation was one of them (at least three years ago)

  17. Zash

    All the regex ones you don't wanna know about.

  18. jonasw

    right, nginx is probably one

  19. Zash

    That's not even regex

  20. jonasw

    it’s a finite state machine IIRC

  21. jonasw

    pretty much regex

  22. Zash

    http://www.smbc-comics.com/index.php?id=3907

  23. jonasw

    ;P

  24. dwd

    Our security guy is telling me there's a vulnerability in libpurple, for any folks using Adium or Pidgin.

  25. jonasw

    jus tone?

  26. jonasw

    *just one?

  27. Zash

    What else is new?

  28. dwd

    Well, this one has been fixed.

  29. Zash

    CVE?

  30. intosi

    I'm sure a new release of Adium will happen in about a year.

  31. Zash

    Is it CVE-2017-2640? Or something newer?

  32. dwd

    intosi, Aparently there is an update already.

  33. Ge0rG

    https://twitter.com/bbhorne/status/681832517096370176 "Libpurple is basically a flock a zero days flying in formation." - @ioerror #32c3

  34. Bunneh

    Ge0rG: Minor clarifications to XEP-0198 #32 https://github.com/xsf/xeps/pull/32

  35. Ge0rG

    Bunneh: no!

  36. Zash

    lol Bunneh

  37. Guus

    harharhar

  38. intosi

    Bad Bunneh!

  39. jonasw

    hrhr

  40. jonasw

    seriously though, CVE?

  41. dwd

    It wasn't on our internal thing. I've asked.

  42. intosi

    dwd: don't seen anything newer than 1.5.10.2 (03/09/2016 [sic])

  43. jonasw

    can’t find anything on oss-security :/

  44. dwd

    (Internal thing: custom UI on top of Buddycloud which acts as our internal social network. Given we're ditching it at some point, I should suggest this gets put out as Open Source as thrown-over-the-wall).

  45. dwd

    It is indeed CVE-2017-2640

  46. jonasw

    why the heck do they decode entities at all?!

  47. mimi89999

    What apps are vulnerable? Only Pidgin and Adium?

  48. jonasw

    mimi89999: anything using libpurple probably.

  49. jonasw

    this notably includes spectrum

  50. dwd

    jonasw, Most XML libraries decode entities as a matter of course.

  51. jonasw

    yes but why do they have their own entity decoding code then?

  52. jonasw

    (also, not if you’re using SAX, which makes sense for XMPP anyways)

  53. dwd

    jonasw, Oh, I've not read the CVE. It's obviously more stupid than I thought.

  54. jonasw

    that’s the fix: https://bitbucket.org/pidgin/main/commits/b2fc9e774cb9

  55. jonasw

    I haven’t looked deeply into it, but it contains entity processing.

  56. dwd

    That's weird.

  57. jonasw

    erm

  58. jonasw

    another question

  59. jonasw

    nevermind

  60. MattJ

    jonasw, we use expat (SAX) and it decodes entities for us

  61. jonasw

    MattJ: with expat + sax I get a callback on entities which I use to raise an exception to kill the stream.

  62. jonasw

    maybe that’s optional

  63. dwd

    jonasw, Even &#xabcd; stuff?

  64. dwd

    jonasw, Or &apos;

  65. Zash

    <stream:error><not-well-formed xmlns='urn:ietf:params:xml:ns:xmpp-streams'/></stream:error>

  66. jonasw

    ah, not those

  67. jonasw

    no, yes, it calls startEntity for those; I explicitly white-listed those

  68. Zash

    Wha

  69. Kev

    Even in attributes?

  70. jonasw

    let me write at test for that!

  71. Kev

    I'm surprised that e.g. &amp; in an attribute would generate a callback, but it's not impossible.

  72. jonasw

    expat actually does that

  73. jonasw

    but the callback only fires when the entity is known to expat

  74. jonasw

    so if you try to use &uuml;, it will reject that before startEntity is called

  75. dwd

    More importantly than all of this, my children have informed me that "Woof" in Welsh is "Wŵff", which fills me with unaccountable glee.

  76. jonasw

    I haven’t even the slightest idea how to pronounce that.

  77. Kev

    jonasw: "woof". Basically.

  78. Ge0rG

    dwd: because it allows one to use Combining Diacritical Marks?

  79. Guus

    vowels are overrated.

  80. Kev

    Guus: Welsh loves vowels. It loves them so much it invented more.

  81. Guus

    classic overcompensation.

  82. Guus

    Alex: is there / can you create an ics that I can subscribe to, with relevant XSF events (membership meetings primarily, but perhaps board and council meetings too)? I'm always struggling to get the time zone correct in Google's Calendar

  83. dwd

    Guus, I think Tobias did something. It might even work again.

  84. Guus

    Tobias: is there / can you create an ics that I can subscribe to, with relevant XSF events (membership meetings primarily, but perhaps board and council meetings too)? I'm always struggling to get the time zone correct in Google's Calendar

  85. Guus

    (upcoming DST for Europe is going to be yet another source of pain...)

  86. Tobias

    i see if i can revive that

  87. Guus

    Thanks

  88. Alex

    Guus: I have suggested something like Google CAL a while ago. I don't know who has access and manages the current calendars right now. I don't think I have write access to them right now.

  89. Guus

    Alex: that'd also work for me. I was not aware that we have any calendars in the first place.

  90. jonasw

    speaking of which, when’s the next council meeting?

  91. Ge0rG

    tomorrow afternoon?

  92. Alex

    there are ICS cals, not sure where the URIs for them are listed

  93. jonasw

    isn’t that when board meeting takes place, Ge0rG?

  94. Ge0rG

    jonasw: could update-entry.py provide a diff view instead of a 2x raw view?

  95. jonasw

    Ge0rG: can do

  96. Ge0rG

    jonasw: no, those are on Wed evenings

  97. jonasw

    isn’t today tuesday?

  98. Ge0rG

    jonasw: yes?

  99. jonasw

    so council and board meetings are on the same day-of-week?

  100. Ge0rG

    jonasw: as far as I understood, yes.

  101. Ge0rG

    the council meeting is before the board meeting

  102. jonasw

    fascinating

  103. Guus

    There are some ICS files under http://xmpp.org/calendar/

  104. Ge0rG

    2017-03-08, 2017-03-15, I think there's a pattern

  105. Guus

    but those appear outdated

  106. Alex

    Guus: gives me a 404

  107. Guus

    http://xmpp.org/calendar/xsf-council.ics

  108. Guus

    (there's no listing)

  109. Alex

    yes, on the old website they were lined from a page

  110. Guus

    Tobias: where these the ones that you referred to?

  111. Tobias

    yes

  112. Tobias

    they used to be generated from XML. probably not the most user friendly

  113. Guus

    given that they appear to stop working in 2014 ... perhaps explicitly delete them, and replace them by something else?

  114. Guus

    a Google Cal, as suggested by Alex, would do just fine for me

  115. Ge0rG

    dwd: it'd be nice if you could set your mark on https://trello.com/c/wF37u9DJ/169-vote-on-approve-xep-0045-changes-proposed-by-georg

  116. Tobias

    google calendar wfm

  117. Guus

    want me to create one?

  118. Alex

    +1

  119. Guus

    is there a XSF google account?

  120. Tobias

    Guus, good..question...i don't know

  121. dwd

    There was. I think we dropped it, but we used to have th XSF calendar on a Google account.

  122. dwd

    Ge0rG, I did.

  123. Zash

    Pretend that you see the obligatory anti-google rant here.

  124. Ge0rG

    dwd: oh, sorry. You did it on the ML, it just wasn't updated in trello.

  125. dwd

    Ge0rG, Yes. FWIW, I'd love it if we formally voted on a webapp for the purpose, I don't think it's fair on the Editors to expect them to track the mailing list in this way.

  126. Ge0rG

    dwd: I'm not sure what is lacking to achieve that. Write access to trello?

  127. dwd

    Ge0rG, I'd prefer more than that, something like the IETF's datatracker.

  128. Zash

    What's the source of truth here?

  129. dwd

    Zash, The mailing list and/or council chatroom. Depending.

  130. Ge0rG

    Zash: there is no need in an authoritative source of truth if we assume that council members are well-behaving

  131. Ge0rG

    dwd: it should be XMPP based!

  132. Ge0rG

    SCNR

  133. jonasw

    Ge0rG: will do when my update-manual feature branch is merged

  134. Guus

    I created a public calendar here: https://calendar.google.com/calendar/embed?src=64v3vs15qlalgqv0j7r99ikm1c%40group.calendar.google.com

  135. Guus

    ical: https://calendar.google.com/calendar/ical/64v3vs15qlalgqv0j7r99ikm1c%40group.calendar.google.com/public/basic.ics

  136. Guus

    could someone verify that it's behaving correctly please? This is the first time that I create a public calendar

  137. Ge0rG

    BTW, where are the rules codified how (and if) other people can participate in board/council meetings?

  138. Guus

    there's one event on it, on May 2nd (the member appl. meeting)

  139. dwd

    Ge0rG, They're not codified, but we have held both meetings in public by default for years now, and - while ultimately up to the chair - comments from the floor are normally welcomed.

  140. Ge0rG

    dwd: I've ran into a situation where I had the feeling of misbehaving multiple times already, when I only wanted to contribute to a (board) meeting.

  141. Guus

    I might have already messed up the time of that first meet, btw.

  142. Ge0rG

    jonasw: I'd also suggest making the README a .md and not an .rst

  143. jonasw

    why, Ge0rG?

  144. Ge0rG

    jonasw: my gut feeling is that markdown has become more common among developers

  145. mathieui

    it’s also the worst markup language

  146. mathieui

    worse*

  147. Zash

    "worse is better"

  148. jonasw

    Ge0rG: does it matter?

  149. SamWhited

    It's fine except for the two spaces at the end of a line being a line break… that drives me nuts.

  150. jonasw

    it is readable in plain text, it renders fine on github; for me, rst is easier to write because I do it every day.

  151. Zash

    SamWhited: Thou shallt not have line breaks

  152. jonasw

    and thou shalt not have trailing spaces

  153. jonasw

    :-)

  154. SamWhited

    I would not mind getting rid of both of those, yah.

  155. Ge0rG

    jonasw: in .md, you could get syntax highlighting of the json in the readme by using ```json quotes

  156. SamWhited

    That's only a GitHub thing, FWIW

  157. dwd

    I may be the only person who doesn't care here. It's a wonderful feeling.

  158. Ge0rG

    jonasw: personally, I don't care much, just wondered about your choice being anti-popular

  159. intosi grabs popcorn

  160. mathieui

    dwd, you’re not joining the holy war? heretic.

  161. jonasw

    Ge0rG: it’s because ~all docs for python are written in reStructuredText – and that’s what I do for most of my time.

  162. Ge0rG

    jonasw: I feel with you, a little bit.

  163. jonasw

    not sure what that’s supposed to mean :)

  164. Ge0rG

    SamWhited: there are other markdown parsers that support syntax highlighting of quotes

  165. Zash

    SamWhited: No pandoc can do syntax highlighting too with that syntax.

  166. Zash

    Pandoc is the best

  167. Ge0rG

    Pandoc FTW!

  168. Zash

    SamWhited: A, comma also.

  169. SamWhited

    Pandoc is the best; it also supports several flavors of Markdown (yey no proper standard), including GitHub flavored MD, IIRC

  170. dwd

    SamWhited, "Flavoured".

  171. dwd finds a Holy War to join.

  172. Ge0rG

    I'm actually writing my CVEs in Pandoc and converting them to .doc for our "corporate" "processing pipeline".

  173. SamWhited

    dwd: Why don't you go drink some tea or something?

  174. Zash

    Coffee!

  175. dwd

    SamWhited, Marvellous ida.

  176. dwd

    SamWhited, Marvellous idea.

  177. SamWhited

    (I saw even though I have a cup of tea in front of me at this very moment :) )

  178. SamWhited

    say, even.

  179. dwd

    SamWhited, If only you had a biscuit, you could apply to UK citizenship right away.

  180. Ge0rG

    Zash: we can't win the coffee-vs-tea war, it seems

  181. intosi

    nroff ftw

  182. jonasw

    dwd: if you want to fight *that* (gb vs. us) holy war, fix xep 143 (<https://xmpp.org/extensions/xep-0143.html#nt-idp1712848>) ;P

  183. Ge0rG

    dwd: what about the "flavor" thing above? re SamWhited's citizenship

  184. Zash

    pandoc can output troff, pandoc win again

  185. dwd

    jonasw, The irony of that example is: http://grammarist.com/spelling/authorise-authorize/

  186. Zash

    Whatever that page says is wrong.

  187. jonasw

    dwd: I fail to see the irony

  188. dwd

    jonasw, The Oxford English Dictionary, which usually favors British spellings, still lists authorize as the primary spelling

  189. jonasw

    ah, haven’t read that far :)

  190. Guus

    board, council, could you volunteer at least one from yourself to have access to the shared calendar (and add your meetings there?)

  191. Guus

    Tobias: might be good to explicitly delete the old ICS files.

  192. Tobias

    it might, yes

  193. Tobias

    will do that in a moment

  194. Guus

    Tobias: please delete the old ICS files? :)

  195. Kev

    Guus: And I'd like admin on anything XSFish, please.

  196. Guus

    ok :)

  197. Guus

    Kev: gladly

  198. Guus

    I only need a google account for you, I think

  199. Kev

    Assuming PMs are enabled in here (I forget), I think I just sent you one :)

  200. Guus

    you did

  201. Kev

    \o/

  202. ralphm

    Guus, the great thing about the old ICS files was that we had separate ones. I.e. one for board meetings, one for council, etc.

  203. Kev

    Yes, but they're not updated now, so I'm fine with Guus trying to start something simpler that works instead of the previous better system that isn't used :)

  204. Kev

    (I prefer the old system in principle, too)

  205. Guus

    ralphm: if that's of value, we can split them up - I have no issue with that. But so far, we had many, many, unused calendars. :)

  206. ralphm

    Oh, fully agree, Kev. The terrible thing about the ICS files was that they were not being updated.

  207. Tobias

    and it's not comfortable to make a commit every week to update a simple date

  208. Guus

    Google should give you an easier interface for that

  209. Tobias

    maybe we can tag them in google and have a script that creates filtered ICS based on the one google outputs

  210. Guus

    I've just added a recurring weekly Council meeting (16:00 - 16:30 Reykjavik time, right?)

  211. Tobias

    it's 17:00 Berlin time

  212. Guus

    when is the board meeting?

  213. Guus

    Iceland does not do DST and is therefor UTC. :)

  214. intosi

    Guus: board meetings follow European UTC usually.

  215. intosi

    * DST

  216. Tobias

    Guus, ahh

  217. SamWhited

    Guus: That's too good; are you sure Iceland is a real place?

  218. ralphm

    Is that why Iceland is not joining the EU?

  219. intosi

    Iceland is a chain of stores.

  220. Guus

    SamWhited: I think I recall a story from Arc in which he was locked up in its airport? :)

  221. Zash

    It's a trap?

  222. Guus

    Intosi: I'm happy to add the board and council meetings, but board and council should administer these meets themselves, ideally - if only to apply changes.

  223. ralphm

    Guus: what intosi said: peg the meetings to WE(S)T or CE(S)T

  224. jonasw

    "script" and "ics" doesn’t sound like a good combination

  225. Kev

    ralphm: Or London time, which is what they were traditionally pinned to :)

  226. ralphm

    WE(S)T is London time

  227. Guus

    guys, please give me a Google account so that you can do that yourselves :)

  228. ralphm

    ralphm.net

  229. moparisthebest

    What about a caldav server like nextcloud?

  230. Kev

    ralphm: I stand educated. Marginally :)

  231. SamWhited

    Guus: Can you add me so I can add editor meetings (not that those actually happen with any regularity)?

  232. SamWhited

    Google Account is the same as my JID

  233. ralphm

    Kev: that's rare. I'm savouring the moment.

  234. jonasw

    moparisthebest: nextcloud is *slightly* more than a caldav server.

  235. ralphm

    moparisthebest: seriously, caldav or any hope of functional interop between clients and servers is a lost cause at this point.

  236. Kev

    ralphm: I know. Im unteachable :)

  237. ralphm

    also, if this works, I don't see any reason to do yet another thing. Thanks Guus

  238. Guus

    Sam: you should have access now.

  239. ralphm

    Guus: ralphm.net@gmail.com

  240. Kev

    Indeed, thanks to Guus.

  241. Guus

    ralphm: you should have access now

  242. moparisthebest

    jonasw: doesn't have to be pretty sure it's all plugins now

  243. moparisthebest

    I just don't like relying on Google meh

  244. Guus

    happy to help

  245. jonasw

    moparisthebest: If I had to run the server, I wouldn’t like to rely on the bunch of PHP nextcloud is :-)

  246. Zash

    CalDAV is non-trivial to do.

  247. SamWhited

    If I had to have an account on the server and give it a password or any details at all, I wouldn't like to rely on the bunch of PHP nextcloud is…

  248. Guus

    all of you (+Alex) also have administrative powers - use them as you see fit.

  249. moparisthebest

    jonasw: there is a python one

  250. SamWhited cancels all the meetings!

  251. Guus takes screenshot for eternal blaming purposes.

  252. Zash

    Especially compared to hosting static .ics files

  253. jonasw

    Zash: writing static ICS files per hand or even with software is a non-trivial thing to do too though

  254. ralphm

    moparisthebest: seriously, you have no idea how terrible this stuff is in practice. You are free to create your own calendar, though.

  255. Tobias

    jonasw, that's why we used a python script to do that

  256. ralphm

    Kev: FWIW, it has only been since 2002 synchronized DST switchover dates with the EU.

  257. SamWhited

    Wait, so does the council meeting move with DST? I didn't actually realize that

  258. moparisthebest

    ralphm, I mean I use caldav all the time with my stuff, it seems to work pretty well, I can't say ics is better

  259. Guus

    Sam: I don't know, I changed that by popular demand here (and to avoid a scheduling conflict next week)

  260. moparisthebest

    I actually don't care caldav vs ics, I'd just prefer not to rely on google

  261. jonasw

    isn’t caldav just ics over http?

  262. jonasw

    + a few extra methods for querying

  263. ralphm

    SamWhited: it does, so does Board

  264. Zash

    jonasw: Not even close

  265. SamWhited

    That's confusing

  266. moparisthebest

    no jonasw , totally different

  267. Zash

    It's WebDAV with support for advanced queries into the calendar data.

  268. jonasw

    I don’t know. It just works™ for me

  269. ralphm

    SamWhited: start a support group with Arc

  270. SamWhited is going to just make the editors meeting fixed UTC, then I only have to figure out if I'm in DST and not if others are in DST to figure out the difference

  271. arc

    +1

  272. Guus

    dst is evil.

  273. moparisthebest

    right jonasw works great! :) what server do you use for it?

  274. jonasw

    radicale.

  275. moparisthebest

    nextcloud works good enough for me for now, I need contacts and calendar

  276. moparisthebest

    I don't love the php, but meh

  277. Flow

    > ‎SamWhited‎: That's only a GitHub thing, FWIW Certainly not: http://spec.commonmark.org/0.26/#example-110

  278. SamWhited

    Huh, didn't realize commonmark was based on GitHub flavored markdown.

  279. Flow

    github and stackexchange together with some other companies formed CCommonMark: see "Who are you?" at http://commonmark.org/

  280. Flow

    SamWhited: ^

  281. moparisthebest

    the funnier part was it originally had a different name and the markdown creator guy chewed them a new one, so they changed it :)

  282. Flow

    moparisthebest: yeah, that was one nice popcorn show

  283. SamWhited

    I guess it's good that they develop it to a spec, but creating something called commonmark just makes me think of that standards XKCD that people post into this room every few days

  284. Flow

    I'd also like to point out that John MacFarlane is behind CommonMark *and* pandoc

  285. Ge0rG

    The apocalypse call-out has started: https://lwn.net/SubscriberLink/717076/4c3593aa4cad8e66/ (Y2K38)

  286. moparisthebest

    iirc they explicitly mentioned that xkcd comic when they released it, so I'm fine with it :)

  287. Zash

    So it begins

  288. moparisthebest

    Ge0rG, so all us programmers are totally screwed but also have job security, a bit of a double edged sword :P

  289. Zash carefully makes sure to leave Y10k bugs everywhere

  290. Ge0rG

    Zash: that won't make for a good retirement plan, unless you intend to live forever.

  291. Zash

    Retirement, like that's going to be a thing in the future.

  292. bear

    hmm, is this old news or something we should talk about as XSF http://seclists.org/fulldisclosure/2017/Mar/57

  293. Guus

    bear, I think that was discussed earlier today

  294. Guus

    or perhaps your yesterday

  295. bear

    ah - thanks Guus

  296. Guus

    but, you likely are not the only one that has not been part of that discussion :)

  297. Guus

    so fire away :)

  298. Guus

    http://logs.xmpp.org/xsf/2017-03-21/#09:32:56

  299. lovetox

    should the new mam id inject on messages give the actual message a different mamid then the carbon copy of it? https://paste.gajim.org/view/157752b2

  300. lovetox

    or im missing something here, is this actually archived two times?

  301. lovetox

    is this again some self messaging corner case

  302. lovetox

    Holger

  303. lovetox

    or is this not even the new inject, was the archiv id always added to self messages

  304. Flow

    lovetox: it should be <origin-id/> for the outgoing stanzas

  305. Flow

    see xep359 § 2.2

  306. Flow

    ahh I'm confused

  307. Flow

    lovetox: why do you get a carbon *and* the stanza to the same resource?

  308. lovetox

    the question is why has the same message two different mam ids

  309. lovetox

    this happens when you adress a message to your own bare jid

  310. lovetox

    but this is viewed from the other side

  311. lovetox

    we get the actual message

  312. Flow

    ahh ok, I think you may want to add a <origin-id/>

  313. lovetox

    but then a sent carbon because we are not the sending resource

  314. Flow

    or dedup by the message-stanza-id

  315. lovetox

    i do this already, but the question is not why i get the messages i get, this was discussed at length and its ok for me

  316. Flow

    I think nothing in the MAM/stanza-id XEP prevents the involved parties from assigning multiple IDs to the same stanza

  317. lovetox

    the question is why does the server attribute two differen mam ids to the same message

  318. Flow

    (not saying that this is good)

  319. lovetox

    i would understand if the message was received twice by the server

  320. lovetox

    but it wasnt, we sent out one message