-
Guus
Example 26 in https://xmpp.org/extensions/xep-0178.html#example-26 shows an empty response being represented by a '=' character, "as shown in RFC 6120. I'm seeing the same example in RFC 6120 9.2.2 (https://www.rfc-editor.org/rfc/rfc6120#section-9.2.2), but where is that defined? Isn't the base64 encoding of an empty string an empty string?
-
flow
Guus, I think it is, but the designers of the rfc probably want to distinguish between an initial repsonse of the empty string and no intial response✎ -
flow
Guus, I think it is, but the designers of the rfc probably wanted to be able to distinguish between an initial repsonse of the empty string and no intial response ✏
-
flow
Guus, I think it is, but the designers of the rfc probably wanted to be able to distinguish between an initial repsonse being the empty string and no intial response ✏
-
flow
Guus, see rfc6120 § 6.4.2
-
Guus
ah, ace.
-
Guus
thanks
-
Zash
So <auth></auth> and <auth/> means NULL and <auth>=</auth> means empty string.✎ -
Zash
So <auth></auth> and <auth/> means no value and <auth>=</auth> means empty string. ✏
-
MattJ
Interestingly SASL2 does it differently (empty element vs absent element)
-
flow
which kind seems to be a saner design✎ -
flow
which seems to be a saner design ✏
-
Guus
Zash, I'd think that <auth/></auth> is forbidden by 6.4.2?
-
Zash
How?
-
flow
I would hope that we consider <element></element> and <element/> equal everywhere
-
Guus
not using '=' ,I mean
-
Guus
6.4.2 seems to state that 'zero-length' response MUST be represented with an '=' ?
-
flow
zero-length response on the sasl layer
-
flow
not on the XMPP layer
-
Zash
as in base64("") → "="
-
Zash
but base64(null) → "", sorta
-
Zash
aka <auth/>
-
flow
I get how this is confusing, but I believe <auth></auth> (and <auth/>) means "no initial data on the sasl layer", and <auth>=</auth> initial data on the sasl layer that is the empty string✎ -
Zash
correct
-
flow
I get how this is confusing, but I believe <auth></auth> (and <auth/>) means "no initial data on the sasl layer", and <auth>=</auth> means "initial data on the sasl layer that is the empty string" ✏
-
Guus
ok, thanks
-
flow
I get how this is confusing, but I believe <auth></auth> (and <auth/>) means "no initial data on the sasl layer", and <auth>=</auth> means "initial data on the sasl layer with a length of 0" ✏