Ge0rG, FWIW, any "stanza" prior to authentication (and, indeed, prior to binding being complete) is ugly and scary in a server. I'd love to rid us of all of those.
sjaakhas left
sjaakhas joined
marchas left
pdurbinhas left
j.rhas left
mukt2has joined
matlaghas left
sjaakhas left
winfriedhas left
winfriedhas joined
sjaakhas joined
sjaakhas left
mukt2has left
sjaakhas joined
sjaakhas left
sjaakhas joined
sjaakhas left
sjaakhas joined
sjaakhas left
sjaakhas joined
sjaakhas left
sjaakhas joined
mathijshas left
mathijshas joined
j.rhas joined
Ge0rG
dwd: what's your suggested mechanism that has iq semantics, minus the routing?
Marandahas left
Marandahas joined
j.rhas left
j.rhas joined
debaclehas joined
sjaakhas left
sjaakhas joined
Danielhas left
jonas’
<pre-auth-iq/> nonza!
pep.
Isn't it just a nonza if it's preauth?
pep.
Even if it's an iq
jonas’
pep., but since it matches the filters for IQs, it’s scary
Ge0rG
> A XMPP stream element is a Nonza, if its element name is not 'message', 'iq' or 'presence'.
From the nonza non XEP
Ge0rG
Apparently the author didn't have pre-auth in mind
Ge0rG
dwd: also IBR is using IQ and those are sufficiently close to each other to warrant using the same dirty hacks, IMVHO
jonas’
Ge0rG, I’m not so sure about that. Just because IBR made a mistake, we don’t have to repeat the same mistake all over again
dwd
Yeah, IBR is very sucky to implement in a server. It means you have rules and exceptions and exceptional rules. We are were we are, but that doesn't mean I'd like to double down on that mistake.
IQ was very straightforward to implement on the client, response callback and error handling included.
dwd
I don't have one. I'd be tempted to reach for the Swiss Army Knife of SASL2, though.
Ge0rG
You can't even stuff stanza errors on a nonza.
Ge0rG
dwd: yes, please do that. Until then, I'll go on with pre-auth IQ.
jonas’
Ge0rG, why not?
Ge0rG
jonas’: because those are stanza errors.
dwd
And yes, I should run about and implement SASL2 in some useful servers. I even have a public implementation of it for Openfire.
jonas’
so?
jonas’
nothing prevents you from ebedding a stanza error element in a nonza
Ge0rG
jonas’: you need to write your own parser for that special case.
dwd
Ge0rG, You know that XEP-0220 has stanza errors inside something that's not a stanza?
dwd
Ge0rG, I mean, sure, if you want to argue that stanza errors can only exist in stanzas, fine, but the evidence is strongly against you.
Ge0rG
dwd: no, I'm saying that it's impractical for client developers.
jonas’
it’s not
jonas’
trivial in aioxmpp
Danielhas joined
jonas’
so your generalisation doesn’t hold
Ge0rG
jonas’: I'm eagerly awaiting your PR for yaxim, replacing smack with aioxmpp
jonas’
Ge0rG, me too!
Ge0rG
dwd: I tried to minimize the number of wheels you have to reinvent.
Ge0rG
With SASL2, it's not about reinventing but about inventing new wheels.
Ge0rG
And I remember the last time we decided to use a new stream element instead of an IQ to configure a session, and it backfired.
MattJ
You're thinking of CSI?
MattJ
Because that was an intentional decision
Ge0rG
I'm speaking of CSI, which isn't counted by 0198 and thus has to be explicitly reconfigured after resumption. Also you can't just send a CSI request to the server without checking for support. An IQ would just error back, but CSI will kill your stream
MattJ
It was intentional that the stream is in a defined state after resumption, it was intentional that there was no ack
MattJ
I did consider iq, but it forced an ack (for a thing which the client shouldn't care about), and increased noise in a protocol that aims to reduce noise
Ge0rG
MattJ: you could have gone with a message as well 😉
MattJ
Yeah, pre-auth message would have been just great
Ge0rG
I'm just saying that it's a tradeoff decision where there's no obvious right solution.
MattJ
I don't deny that there are trade-offs
MattJ
I totally understand that if you have iq code, you want to reuse it as much as possible
flow
> Ge0rG> Apparently the author didn't have pre-auth in mind
Hu? What makes you think that?
MattJ
But from a server perspective, we don't want to be dealing with stuff that is usually routed in a context where it ought not to be routed
Ge0rG
flow: is an IQ prior to session binding a stanza or a nonza?
flow
> Ge0rG> jonas’: you need to write your own parser for that special case.
I also think that this is not strictly true
flow
Ge0rG, it's an IQ hence a stanza. But nothing prevents you from sending nonzas pre-auth with IQ semantics aka a required response
flow
But FWIW I am torn between using stanzas and nonzas pre-auth, both sides have valid arguments
flow
Although Smack recently got a mechanism to listen for nonza responses, as this is required anyway (pre and post auth)
Ge0rG
flow: no, but I need to write my own nonza filter and I need to integrate the stanza error parser and extension element parser into my special nonza parser
Ge0rG
And I'm not sure whether the error and extension parsers are even exposed for extensibility
flow
they are
flow
but you have a point here
flow
But so do the people who say that stanzas pre auth are harmful. Potentially XMPP is missing a generic container element for nonzas (non-routeable) with IQ semantics (mandatory response) that can be used pre-auth
Ge0rG
flow: yes
Ge0rG
We should rewrite all of session setup and encryption and compression in terms of that new pre-iq
Ge0rG
In XMPP 2.0
flow
but depending on the response, you may have to write a parser anyway
mathijshas left
mathijshas joined
Ge0rG
While we are at it, we could use HTTP REST JSON as the underlying protocol. I've heard there is a matrix specification 1.0 out there
Ge0rG
Or people copy&paste their IBR code to the invite module and we get a running implementation in 2019
pep.
Today?
pep.
What ibr code? (/me looks at poezio)
Ge0rG
pep.: the modified 0401 is live on yax.im for a week now
Ge0rG
You can `/ad-hoc yax.im` to create an invitation
Ge0rG
And you can run yaxim from play beta to use that and to redeem invitation links
Ge0rG
You just can't render the QR code in poezio because something something ncurses
betahas left
marchas joined
Shellhas joined
adiaholichas left
adiaholichas joined
j.rhas left
davidhas left
davidhas joined
betahas joined
j.rhas joined
sjaakhas left
sjaakhas joined
betahas left
pdurbinhas joined
pdurbinhas left
mukt2has joined
betahas joined
Shellhas left
goffihas joined
Shellhas joined
betahas left
mukt2has left
Marandahas left
Marandahas joined
debaclehas left
Guushas joined
Guushas left
sjaakhas left
sjaakhas joined
sjaakhas left
sjaakhas joined
betahas joined
sjaakhas left
sjaakhas joined
sjaakhas left
Marandahas left
Marandahas joined
sjaakhas joined
marchas left
sjaakhas left
sjaakhas joined
debaclehas joined
betahas left
Shellhas left
sjaakhas left
waqashas joined
sjaakhas joined
sjaakhas left
sjaakhas joined
j.rhas left
adiaholichas left
adiaholichas joined
sjaakhas left
sjaakhas joined
marchas joined
lovetox_has left
sjaakhas left
sjaakhas joined
mukt2has joined
Daniel
i’m exhausted from 36c3 and from traveling and i can’t tell if user-defined data transfer is some elaborte joke or not
Daniel
i heard you like extensible protocol; so we defined an extensible protocol and put it into your protocol
sjaakhas left
sjaakhas joined
sjaakhas left
Daniel
n
sjaakhas joined
pdurbinhas joined
sjaakhas left
sjaakhas joined
sjaakhas left
pep.
I was also under this impression
j.rhas joined
sjaakhas joined
andyhas left
sjaakhas left
sjaakhas joined
pdurbinhas left
Shellhas joined
sjaakhas left
sjaakhas joined
j.rhas left
mathijshas left
mathijshas joined
sjaakhas left
sjaakhas joined
Yagizahas left
mathijshas left
mathijshas joined
andyhas joined
betahas joined
mukt2has left
sjaakhas left
sjaakhas joined
sjaakhas left
sjaakhas joined
mukt2has joined
lovetoxhas left
betahas left
betahas joined
mukt2has left
mukt2has joined
mukt2has left
mukt2has joined
lorddavidiiihas left
lorddavidiiihas joined
j.rhas joined
lovetoxhas joined
sjaakhas left
sjaakhas joined
sjaakhas left
sjaakhas joined
emushas left
emushas joined
j.rhas left
mathijshas left
mathijshas joined
sjaakhas left
sjaakhas joined
mathijshas left
mathijshas joined
karoshihas left
karoshihas joined
mathijshas left
mathijshas joined
mathijshas left
mathijshas joined
mathijshas left
mathijshas joined
Shellhas left
Shellhas joined
Neustradamus
Happy New Year Eve to all
krauqhas left
krauqhas joined
mathijshas left
mathijshas joined
pdurbinhas joined
sjaakhas left
sjaakhas joined
sjaakhas left
sjaakhas joined
mukt2has left
mukt2has joined
mukt2has left
mukt2has joined
betahas left
betahas joined
Shellhas left
Shellhas joined
sjaakhas left
sjaakhas joined
sjaakhas left
sjaakhas joined
pdurbinhas left
sjaakhas left
sjaakhas joined
mukt2has left
mukt2has joined
marchas left
sjaakhas left
sjaakhas joined
emushas left
sjaakhas left
sjaakhas joined
rionhas joined
mukt2has left
mukt2has joined
Ge0rGhas left
Ge0rGhas joined
sjaakhas left
calvinhas joined
sjaakhas joined
sjaakhas left
sjaakhas joined
sjaakhas left
sjaakhas joined
mathijshas left
mathijshas joined
sjaakhas left
emushas joined
Shellhas left
sjaakhas joined
sjaakhas left
sjaakhas joined
sjaakhas left
sjaakhas joined
sjaakhas left
sjaakhas joined
sjaakhas left
sjaakhas joined
Shellhas joined
matlaghas joined
sjaakhas left
patrickhas joined
eevvoorhas joined
sjaakhas joined
mathijshas left
mathijshas joined
patrickhas left
wurstsalathas left
patrickhas joined
patrickhas left
sjaakhas left
sjaakhas joined
eevvoorhas left
pdurbinhas joined
mathijshas left
mathijshas joined
sjaakhas left
wurstsalathas joined
sjaakhas joined
patrickhas joined
sjaakhas left
sjaakhas joined
sjaakhas left
pdurbinhas left
sjaakhas joined
sjaakhas left
mathijshas left
mathijshas joined
sjaakhas joined
patrickhas left
patrickhas joined
patrickhas left
patrickhas joined
patrickhas left
patrickhas joined
Shellhas left
Wojtekhas left
patrickhas left
lorddavidiiihas left
Lancehas joined
davidhas left
davidhas joined
patrickhas joined
patrickhas left
sjaakhas left
winfriedhas left
winfriedhas joined
sjaakhas joined
sjaakhas left
debaclehas left
patrickhas joined
sjaakhas joined
sjaakhas left
sjaakhas joined
lovetoxhas left
sjaakhas left
patrickhas left
patrickhas joined
patrickhas left
sjaakhas joined
patrickhas joined
patrickhas left
lovetoxhas joined
mathijshas left
mathijshas joined
winfriedhas left
winfriedhas joined
patrickhas joined
patrickhas left
sjaakhas left
sjaakhas joined
sjaakhas left
sjaakhas joined
sjaakhas left
sjaakhas joined
sjaakhas left
mathijshas left
mathijshas joined
calvinhas left
calvinhas joined
sjaakhas joined
mukt2has left
mukt2has joined
adiaholichas left
adiaholichas joined
sjaakhas left
sjaakhas joined
sjaakhas left
sjaakhas joined
pdurbinhas joined
mukt2has left
sjaakhas left
mukt2has joined
sjaakhas joined
Arc
Ge0rG: wait, there's an xmpp client using ncurses to create qr codes? that's fricken awesome!
sjaakhas left
Arc
I want that!
sjaakhas joined
Arc
login to a server via ssh using oauth2 - they get a URL and associated qr code to login via website either on that device or mobile phone
sjaakhas left
sjaakhas joined
calvinhas left
calvinhas joined
mukt2has left
patrickhas joined
pdurbinhas left
mukt2has joined
sjaakhas left
Ge0rG
Arc: it's an experimental plugin for poezio
sjaakhas joined
sjaakhas left
sjaakhas joined
sjaakhas left
sjaakhas joined
mukt2has left
mukt2has joined
andrey.ghas left
Ge0rG
```
                                 █████████████████████████████████
                                 █████████████████████████████████
    █▀▀▀▀▀█   ▄█▀█▄█▄ █▀▀▀▀▀█    ████ ▄▄▄▄▄ ███▀ ▄ ▀ ▀█ ▄▄▄▄▄ ████
    █ ███ █ █ ██ ▀▄▀▀ █ ███ █    ████ █   █ █ █  █▄▀▄▄█ █   █ ████
    █ ▀▀▀ █ █▀ ▄   ▄█ █ ▀▀▀ █    ████ █▄▄▄█ █ ▄█▀███▀ █ █▄▄▄█ ████
    ▀▀▀▀▀▀▀ █▄█ █ █▄▀ ▀▀▀▀▀▀▀    ████▄▄▄▄▄▄▄█ ▀ █ █ ▀▄█▄▄▄▄▄▄▄████
    █▄▀███▀▄ ▄  ▀▄▄ ▄ ▀█▀█▀▄     ████ ▀▄   ▄▀█▀██▄▀▀█▀█▄ ▄ ▄▀█████
    █ ▄  █▀ ▄▀██▄█▀▀▄█▀ ▀▀ ██    ████ █▀██ ▄█▀▄  ▀ ▄▄▀ ▄█▄▄█  ████
    ▄▀ ▄ █▀▀ ██▀▀ ▀  ▀██▀▄▀▀     ████▀▄█▀█ ▄▄█  ▄▄█▄██▄  ▄▀▄▄█████
    █  ▀▀▄▀▀▀ ▀█▀ ▄█  ████ ▀█    ████ ██▄▄▀▄▄▄█▄ ▄█▀ ██    █▄ ████
    ▀ ▀▀▀▀▀ ▄▄▀▀▄▄▄ █▀▀▀█▄█▄     ████▄█▄▄▄▄▄█▀▀▄▄▀▀▀█ ▄▄▄ ▀ ▀█████
    █▀▀▀▀▀█ ▄█  ▄█▀ █ ▀ █▀▀██    ████ ▄▄▄▄▄ █▀ ██▀ ▄█ █▄█ ▄▄  ████
    █ ███ █ █▄▀ ▀ ▀▀▀██▀█▀▀▄█    ████ █   █ █ ▀▄█▄█▄▄▄  ▄ ▄▄▀ ████
    █ ▀▀▀ █ ▀█▀█▀ ▄█▄▀ █  ▀ █    ████ █▄▄▄█ █▄ ▄ ▄█▀ ▀▄█ ██▄█ ████
    ▀▀▀▀▀▀▀ ▀▀▀▀     ▀▀▀ ▀▀▀▀    ████▄▄▄▄▄▄▄█▄▄▄▄█████▄▄▄█▄▄▄▄████
                                 █████████████████████████████████
                                 ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
```