Tobiasmoparisthebest, didn't you plan an update on https://xmpp.org/extensions/xep-0368.html security considerations after last week's discussions with SamWhited?
moparisthebestTobias, I updated it
Tobiasso it's just the editor that hasn't processed it yet, ok
moparisthebesthe wanted the description updated, and I changed something else too, I think it's good to go
moparisthebestI think he did? I'll check
moparisthebestyea that's the latest version
SamWhitedI thought I merged… refresh?
Tobiasyeah..seems it's the latest version
Tobiasah..seems it's about time
Tobias1) Roll call
Link MauveHere too.
Tobias2) Minute taker
Tobiasseems jc isn't here, so we need a volunteer
danieli can do it
Tobias3) Outstanding votes
Tobiashttps://trello.com/b/ww7zWMlI/xmpp-council-agenda there are 2 ProtoXEPs and 2 other voting issues on the trello, please see recent minute notes and reply on list to vote
Dave CridlandI've a few there.
Tobias4) Clarify CSI and Carbons state after SM resumption https://github.com/xsf/xeps/pull/402
TobiasSam added this earlier this month, Flow closed his PR and opened indepenent PRs instead. Please take a look and reply feedback in the PRs.
Tobias5) The Last Call for XEP-0333: Chat Markers ended, daniel is taking maintainership and will probably send in an update sometime so we can vote on advancing it
SamWhitedIf daniel plans on making more changes, I will extend the LC by another week.
Tobiasmore changes? haven't seen changes since the LC was issued
Tobias6) Vote on advancing XEP-0368: SRV records for XMPP over TLS, specifically Version 0.1.2, to Draft
TobiasI'll vote on list
SamWhitedI still don't like the direct TLS definition text, but that's an editorial change that can be made during draft
danielre extending the last call for xep333. please do. i will make changes in the next wee
TobiasDave Cridland, Link Mauve ?
Link MauveWasn’t there a pending PR to fix the direct TLS definition?
Link MauveApparently not.
Link MauveAnyway, will vote on list.
Dave CridlandI think '368 is ready to go Draft now.
Tobiasthat's probably supposed to be at least a +0
Dave CridlandFTR, I'm sure there's further editorial fixes, but the technical side seems solid.
Tobias7) Date of next
TobiasI'm probably traveling next Wednesday around this time
danielshould we do tuesday?
Link MauveI’m ok with Tuesday.
Tobiasthat could work better for me, yeah
Tobiasdoes that work for you, Dave Cridland?
Dave CridlandI think so.
Tobiasgreat..that would be 2017-02-28 16:00:00 UTC then
SamWhitedXEP-0233, 0280, 0334, 0352 had their LCs end today. One of them has a pending PR (0280), otherwise do we want to do anything about them?
Tobiasprobably see what the feedback was on them, if there was positive feedback indicating that they are fine and no changes are required, we can vote on them next week
Tobiasif the feedback indicates changes are required, they should stay proposed until we receive an update on the XEP
daniel334 and 352 are probably good to go
danielbut we can vote on that next time
danieli think with these widely deployed xeps no feedback is good feedback
SamWhited334 I'm a bit torn about, but I agree with 352
SamWhitedanyways, next week. In the mean time should I extend the LC or move them back to experimental?
Tobiasi'd request to extend the LC of XEP-0233 and i'll bug someone who implemented it to respond with feedback on the list
KevFWIW, I don't think that's true, 'no feedback' is generally a sign of no interest in XEPs, which implies they've probably not seen sufficient review.
Kev(Not saying that's the case with 334/352 necessarily, but as a general point)
danielKev, i was specifically talking about those day. as they seem to be used and implemented
Tobiasyup...and we should try bugging people having implemented those...even if they have little time they could simply reply with a mail answering the questions with a short Yes/No.
Link MauveTobias, that sounds sensible.
Tobiasany other AOB?
SamWhitedSounds reasonable; in that case I'll extend the LCs again.
TobiasSamWhited, sounds sensible
Tobiasdoesn't look like it
Tobiasbangs the gavel
Link MauveThank you!
Tobiasthank you daniel for writing up meeting minutes
moparisthebestnote with 368 I made a somewhat major change with the last version
moparisthebestSamWhited, pointed out 3.1 had no proper SHOULD/MUST etc language
moparisthebestin my mind that was always a MUST (mixing priorities of records), but he and ralphm convinced me it should be a SHOULD
moparisthebestso maybe it was only a major change in my mind :)
Tobiaswill give the XEP a total reread this evening then :) luckily it's not that big
moparisthebestyea and it works the same both ways, the server op can't tell if you mixed priorities or some ports were blocked
moparisthebestso in the grand scheme of things, no big deal
Dave CridlandSo it might be that there exist circumstances to not mix priorities properly, and it'll still interop? Feels like a SHOULD is OK here.
Dave Cridlandmoparisthebest, What were the cases ralphm and SamWhited were unable to mix priorities?
moparisthebestDave Cridland, ralphm pointed to the python twisted lib that connected to SRV records and how it'd be hard to mix them, but easy to try xmpps-client first then xmpp-client second
moparisthebestwhich is fair, and like you said doesn't affect interop, and moreover is invisible to the server
Zashmoparisthebest: I also believe that'd be easier to implement.
ZashKeeping track of 'this srv entry is with tls/with starttls' seems like a recipe for messing up
Dave CridlandZash, I found it easy enough, and RFC 6168 is the same, so it's not uncommon.
moparisthebestit was easy in conversations
moparisthebestyou already have to keep an object with 'target' and 'port', throwing 'directTls' in there is trivial?
Dave CridlandThat's basically what I did in Metre.
Dave CridlandIt treats a _xmpps-server._tcp record as if it were a _xmpp-server._tcp record with an extra field of "tls=true".
ZashI may have done somesuch for DANE
moparisthebestconversations code starts about here: https://github.com/siacs/Conversations/blob/master/src/main/java/eu/siacs/conversations/utils/DNSHelper.java#L184
moparisthebestand yea I think you'd do DANE the same way, store the key hash on the same object
moparisthebestI think, implementing dnssec+dane is fairly high on my priorities as a next patch for conversations
Dave Cridlandmoparisthebest, See the minidns work that the XSF had s a GSoC project a couple of years back - should work fine. Smack uses it already.
Dave Cridlandmoparisthebest, But just do DNSSEC+RFC 6125 names to beging with.
moparisthebestyea Dave Cridland conversations already uses minidns, so I think it's basically just writing a bit of code
moparisthebestso that brings up an interesting point, DANE can pin certs, public keys, and anywhere in the chain, but the RFC recommends implementations for a specific protocol pick one way and stick with it
moparisthebestlike for SMTP they just use public key pinning on the end device and that's all that is supported
moparisthebestsorry had to run off, but is there a standard like that for DANE with xmpp?
moparisthebestor can/should we make one?
Dave CridlandDANE-SRV is as close as we get. But I'm happy supporting all forms - I've seen use-cases for all of them.
moparisthebestpinning the end devices public key is the only way to go in my opinion
SamWhitedDave Cridland: I *can* mix priorities, I just don't want too. I'm going to try connecting and starting TLS and connecting and starting a plain stream at the same time probably; if TLS works, it wins, otherwise start using the plain stream that was already being negotiated.
moparisthebestattempting simultaneous connections sounds , not good for some reason
moparisthebestdo you do that now with existing SRV records? attempt them all at once and see which one wins?
SamWhitedmoparisthebest: I'm not doing it for each record, just for each type of record (xmpp vs. xmpps); weights and priorities are still used within those records.
SamWhitedHowever, yes, if you have a few servers with identical weights and priorities, I would like to connect to all of them and use whichever one wins.
SamWhited(and then if that fails, fall back to the next set of weights/priorities)
moparisthebestwhat's the difference? the server op mixed priorities when they defined them
moparisthebestI mean none of this really matters, you can do it however you like and interop and everything will work perfectly
SamWhitedIf the server op made plain a higher priority than TLS, I'm ignoring it. That's basically the only difference.
moparisthebestjust seems strange, I assumed people that wouldn't mix them would just try xmpps- first, then xmpp-
SamWhitedThat's what I'm doing; doing it at the same time is just an optimization (if we can't do xmpps, we just fallback to the connection that's already started)
moparisthebestyea but in doing both at the same time it's slower than just doing the first would be
moparisthebestif bandwidth is constrained or anything
SamWhitedmaybe, but I really doubt even the slowest connections are *that* slow (unless you're operating of HFR or something)
KevAnd no-one would do that, right? :)
SamWhitedHeh, I'm aware that it exists, I'm just not writing a library that aims to target every single use case (although, this will probably be an option when you configure the session, so it will probably support not doing it this way too, haven't figured the API out yet though)
Dave CridlandI was wondering about happy-eyeballs across multiple SRV records.
KevI think I've suggested before that happy-eyeballs across multiple same-priority records is sensible.
moparisthebesthow many domains have enough servers where it'd make a difference?
moparisthebestthat's a genuine question I really do not have any idea :)
SamWhitedI'm not sure; probably not many, but it's also not hard to do or anything, so I'm not sure that it matters. ¯\_(ツ)_/¯
moparisthebestit just kind of smells of premature optimization, multi-threaded code where connections are racing and one wins doesn't sound like the simplest thing to implement, especially if 99% of cases have 1 server anyway
SamWhitedNah, I've already done it, it was trivial.
moparisthebestprobably depends a lot on the language too :)
moparisthebestwhat are you using? go still?
SamWhitedYah, Go (which indeed is the reason why it was trivial)
moparisthebestis that code open source anywhere? I'd like to have a look
SamWhitedI just need to add it to my XMPP library and also add the XMPP/XMPPS version (although that's not a race, that's waiting on XMPPS and just pre-negotiating XMPP in case XMPPS fails)
moparisthebestyea I was thinking about how to implement it in java, but I'm not sure I'd call it trivial
SamWhitedNothing is trivial in Java… everything is harder than you expect it to be.