Document: draft-ietf-xmpp-core-23
Reviewer: Michael A. Patton
Date: April 29, 2004
Summary: This draft is ready for publication as a PS RFC
[Note: I'm not sufficiently up on XML details to be certain they got
them all correct. They looked right to me, but I may have missed
something. On the other hand, this is actually deployed, so I suspect
they did get it right. The same applies to the security stuff, I
reviewed it enough to say that the description seems good enough for
an implementer to follow, but I won't say anything about how secure it
is.]
I did find some things that I thought worthy of comment. All of these
are either not worth dealing with at this late stage, or trivial
enough to fix in the ID->RFC conversion.
The description of SRV is a bit spare...and really only as an aside in
security considerations... However, I think it's fine for PS as-is,
and can either be expanded or deleted at PS->DS stage.
They describe a strict correlation between domains (and specifically
subdomains of a given domain) and the server to server activities.
I'm not sure I believe this, but as is it's fine for PS and if anyone
uses it as-is then it can stay for DS, if noone uses it, it would go
away in the normal process, and if something completely different gets
done, that can be handled by the impl. reports at that time.
I think the ref to [RANDOM] in 4.4 makes it normative.
Conversely, I don't see why [IMP-REQS] is normative rather than
informative.
In 4.7.2 they have an "example", and then describe the details saying
that a "SHOULD possess an 'xml:lang' attribute". This
recommendation would be stronger if the example actually followed it,
ie. if the in the example had a xml:lang= attribute. 9.3.2
does the same thing.
At the end of 6.2 when they speak about sending the features again,
they mention leaving out STARTTLS, but do they also want to leave out
the SASL related ones now that SASL has been concluded? The example
later does do that. A related question is whether the early feature
sets can (or SHOULD) leave out features not involved with security.
In section 7 they actually _imply_ this later is a MUST (the
parenthetical comment at end of second paragraph). I suggest a short
additional sentence where the earlier feature transmissions are
described saying that if security is required before a feature, it
should not be mentioned.
The second paragraph of Section 3.1 is hard to follow, mostly because
it's essentially all one sentence. This could be improved by
rewording the paragraph to break up the run on sentence.
Another problem with this paragraph is the phrase "the Nodeprep
(Appendix A) profile of [STRINGPREP]" and another similar one later,
read as if the appendix it references is in that other document, but
it actually means that Appendix A in this document, which happens to
refer to that other document. It does actually say that, but not
until after the confusion has set in. This same construct also
appears later, as well. This could be fixed by just not mentioning
the [STRINGPREP] or rewording the reference to make it clearer. The
12.1 text works a little better, but could still use some help.
Section 4.3 is the first mention of the fact that this is XMPP 1.0, I
think that fact should be mentioned earlier, say in 1.1. Otherwise,
that reference needs clarification here...
Why does 12.1 say "a server SHOULD support...dialback" when elsewhere
it denegrates dialback and says it's only for compatability? That
suggests a "MAY" to me, not a "SHOULD".
Harald, they ref your language tags doc. If I remember correctly,
there is an updated one in prep. Is that right? Might want to note
that for RFC Editor, in case the new one can be refed instead. But it
shouldn't slow this down.
Typos
-----
4.7.3 "the streams namespace name" => "the stream's namespace name"
14.9 One reference to Base 64 leaves out the 64, resulting in a
sentence starting "Base encoding".