Re: [Standards] request for reviews: XEP-0045 v1.25rc5

2011-09-19 Thread Waqas Hussain
On Thu, Aug 18, 2011 at 6:43 PM, Peter Saint-Andre  wrote:
> I've completed a round of revisions to XEP-0045 (Multi-User Chat) in an
> effort to incorporate developer feedback I've received since the last
> version 3 years ago. The XMPP Council would like to vote on these revisions
> before the end of September or possibly early October, so it would be great
> if folks could check the diff in the next few weeks:
>
> http://xmpp.org/extensions/diff/api/xep/0045/diff/1.24/vs/1.25rc5
>

1. Using GC instead of "groupchat 1.0" in various places

This doesn't affect me, but new readers of the document might find it confusing.

2. Room subject

The current text suggests the room should send a subject if it's set.
I'd like it to send  in the case when it's not set.
The subject will then act as a clear end marker for room history.

3. Service changing room nick

I'd like some text stating that a service can change the occupant's
nick at any time, including room join. An occupant MUST listen for
status code=100 in available presence for their current nick.

4. Presence from existing occupant to bare room JID

The MUC's behavior is currently undefined. At least for the
type="unavailable" case (and perhaps also for the available case), the
MUC should handle and treat it as if it was sent to the occupant's
nick.

5. Both  and  in a single message

"(A message with a  and a  is a legitimate message,
but it SHALL NOT be interpreted as a subject change.)"

I object to this. It complicates subject handling. I believe much
existing MUC software considers a message a subject change if it has a
 in it. How should software determine this? Assume it's a
subject change if there's no ? What if there is not body, but
xHTML-IM is included? What if there's no body, but some
?

6. action nick and jid for kicks and bans

Examples 85 and 108 have been updated from  to
, but the text immediately before them still says
"the bare JID of the user who initiated [...]". What I'd like here is
to allow the room to include a nick and/or a bare/full JID. A nick is
useful for general consumption, but a service should be allowed to
turn this off. And a service should be allowed to include JID in the
stanzas going to occupants who are allowed to see JIDs (moderators).
And I don't see any particular reason to not make them full JIDs.

7. Section 16.1 restates what RFC6122 already specifies (and calls it
RFC6120 instead).

And I have mixed feelings about that MUST NOT.

8. Presence subscriptions

I've been wanting to add this in Prosody, but have worried about
client behavior on receiving both MUC-specific, and normal presence
from the same JID. I'm +1 to it though. Many users do add rooms as
contacts.

9. In schema section 18.2 http://jabber.org/protocol/muc#user

I'd like  changed to , to allow one 
element for each session in a multi-session nick when including 'jid'.

10. MUC child element in presence errors

"Note: If an error occurs in relation to joining a room, the service
SHOULD include the MUC child element (i.e., ) in the  stanza of
type "error"."

What is the rationale behind this SHOULD? 'id' attributes are the
canonical XMPP way for matching stanzas to error replies;
RFC6120#8.1.3 is quite clear that 'id' attributes can be depended on
to work fine with presence.

IIRC, in Prosody, we added this specifically because Gajim was having
issues with nick changes (I note that you didn't specify the above
quoted text for this and other error cases). But should this really be
a SHOULD?

11. Full-to-bare JID rewriting to support vCards

All(?) implementations are doing it, but it's not specified anywhere.
Should it be?

12. History management

Should it perhaps be noted that clients shouldn't depend on getting
only what they asked for? I don't think all MUC implementations
support history management. And 'maxchars' is particularly
troublesome, as anything between the MUC history code and the client
could modify the stanza.

Misc:

s/"non"/"none"/

"Nicknames can contain virtually any Unicode character introduces the
possibility of nick spoofing" - grammar fail.

s/hte/the/

All this came from skimming the diff. I'll probably have more feedback
when I manage to review the entire spec in detail while looking at
Prosody's code.

--
Waqas Hussain


Re: [Standards] request for reviews: XEP-0045 v1.25rc5

2011-09-19 Thread Alexander Holler

Am 20.09.2011 00:44, schrieb Peter Saint-Andre:

On 9/19/11 4:33 PM, Alexander Holler wrote:

Am 19.09.2011 20:47, schrieb Peter Saint-Andre:


- Which nicks are reserved? (owner, admins, members)
- Owners, admins ormembers without reserved nicks?


Nicks are reserved based on registering with the room. Nicks of owners
and admins are not reserved automatically, unless an implementation
decides that is a nice feature.


Registering with a room is getting the affiliation member. So how does
an owner or admin reserves a (his) nick? I think especially those want
to have their nick registered.


Nick are reserved by registering with the room.


Are, now I'm getting it. registering with a room does mean at first 
getting the nick reserved. Becoming a member (if not already) is just a 
minor matter. I've read it the other way, that registering with a does 
mean at first becoming a member.


Regards,

Alexander


Re: [Standards] request for reviews: XEP-0045 v1.25rc5

2011-09-19 Thread Peter Saint-Andre
On 9/19/11 4:40 PM, Alexander Holler wrote:
> Am 19.09.2011 20:23, schrieb Peter Saint-Andre:
>> On 9/6/11 10:38 AM, Alexander Holler wrote:
>>> Looking again at XEP-0045,
>>>
>>> I don't see a reason why a request for voice should be handled in
>>> another way than a request for membership. ;)
>>>
>>> In fact I would suggest to replace both with an unified "request for
>>> affiliation" which should work like the request for membership in 7.10
>>> (with an attribute 'affiliation' and maybe a xmlns something other than
>>> 'jabber:iq:register').
>>
>> Is there a strong reason to change this now, other than protocol hygiene?
> 
> No, but maybe adding some muc-features which are making it obvious what
> is supported by the server is an option. I don't know if there is an
> implemention which supports e.g. those voice-requests as described,
> those I've tested seem not to have it implemented.

If you test more implementations and find that none of them support the
feature (and the developers say they have no plans to implement the
feature), then it might make sense to remove the feature from the spec.

Peter

-- 
Peter Saint-Andre
https://stpeter.im/




Re: [Standards] request for reviews: XEP-0045 v1.25rc5

2011-09-19 Thread Peter Saint-Andre
On 9/19/11 4:33 PM, Alexander Holler wrote:
> Am 19.09.2011 20:47, schrieb Peter Saint-Andre:
> 
>>> - Which nicks are reserved? (owner, admins, members)
>>> - Owners, admins ormembers without reserved nicks?
>>
>> Nicks are reserved based on registering with the room. Nicks of owners
>> and admins are not reserved automatically, unless an implementation
>> decides that is a nice feature.
>
> Registering with a room is getting the affiliation member. So how does
> an owner or admin reserves a (his) nick? I think especially those want
> to have their nick registered.

Nick are reserved by registering with the room.

>>> - What happens with reserved nicks when someone changes his nick? Does
>>> the reserved nick changes too?
>>
>> Implementation specific.
> 
> Hmm, that means clients never can implement reserved-nick-handling
> because they just don't know how the server behaves.

Changing your in-room nick is temporary. If you want to reserve a
different nick, you can register it in the usual way. I have no idea if
current implementations let you reserve more than one nick (probably
not). We might want to define that behavior a bit more carefully.

Peter

-- 
Peter Saint-Andre
https://stpeter.im/




Re: [Standards] request for reviews: XEP-0045 v1.25rc5

2011-09-19 Thread Alexander Holler

Am 19.09.2011 20:23, schrieb Peter Saint-Andre:

On 9/6/11 10:38 AM, Alexander Holler wrote:

Looking again at XEP-0045,

I don't see a reason why a request for voice should be handled in
another way than a request for membership. ;)

In fact I would suggest to replace both with an unified "request for
affiliation" which should work like the request for membership in 7.10
(with an attribute 'affiliation' and maybe a xmlns something other than
'jabber:iq:register').


Is there a strong reason to change this now, other than protocol hygiene?


No, but maybe adding some muc-features which are making it obvious what 
is supported by the server is an option. I don't know if there is an 
implemention which supports e.g. those voice-requests as described, 
those I've tested seem not to have it implemented.


Regards,

Alexander


Re: [Standards] request for reviews: XEP-0045 v1.25rc5

2011-09-19 Thread Alexander Holler

Am 19.09.2011 20:47, schrieb Peter Saint-Andre:


- Which nicks are reserved? (owner, admins, members)
- Owners, admins ormembers without reserved nicks?


Nicks are reserved based on registering with the room. Nicks of owners
and admins are not reserved automatically, unless an implementation
decides that is a nice feature.


Registering with a room is getting the affiliation member. So how does 
an owner or admin reserves a (his) nick? I think especially those want 
to have their nick registered.





- What happens with reserved nicks when someone changes his nick? Does
the reserved nick changes too?


Implementation specific.


Hmm, that means clients never can implement reserved-nick-handling 
because they just don't know how the server behaves.


Regards,

Alexander


Re: [Standards] request for reviews: XEP-0045 v1.25rc5

2011-09-19 Thread Alexander Holler

Am 19.09.2011 20:49, schrieb Peter Saint-Andre:

On 8/18/11 3:00 PM, Alexander Holler wrote:

Am 18.08.2011 15:43, schrieb Peter Saint-Andre:

I've completed a round of revisions to XEP-0045 (Multi-User Chat) in an
effort to incorporate developer feedback I've received since the last
version 3 years ago. The XMPP Council would like to vote on these
revisions before the end of September or possibly early October, so it
would be great if folks could check the diff in the next few weeks:

http://xmpp.org/extensions/diff/api/xep/0045/diff/1.24/vs/1.25rc5

A rendered version is here:

http://xmpp.org/extensions/tmp/xep-0045-1.25.html


Thanks for the update. I will try to read (again) as much as I can.

At first I would strongly  suggest to replace at least that 'oldhag'
which is e.g. used for a new nick with something else. I've wondered
some minutes when I first read that example in 7.6 until I have read
further.

For other people like me, who like stupid looking but easy to read docs,
here is something I've done to my copy of XEP-0045 (.example and .test
are reserved by RFC 2606):

-
sed \
-e 's/chat.shakespeare.lit/chat.example/g' \
-e 's/shakespeare.lit/home.test/g' \
-e 's/firstwitch/occupant1owner/g' \
-e 's/secondwitch/occupant2admin/g' \
-e 's/thirdwitch/occupant3none/g' \
-e 's/crone1/user1owner/g' \
-e 's/wiccarocks/user2admin/g' \
-e 's/hag66/user3none/g' \
-e 's/oldhag/newnick/g' \
-e 's/coven/room1/g' \
-i xep-0045.html
-

;=)


Fun Shakespeare examples have kept me motivated in writing all this
documentation for the last 10+ years. I won't be changing them now.


Than, maybe, just bringing the examples in section 9 in line with the 
rest of the documentation is an option. Using the above sed is a good 
way to see the problematic examples. E.g. the example in 9.1 will change 
from


---

  

  

---

to

---

  

  

---

I don't remember which examples really confused me most during my first 
reading, but that one is surely one of those candidates because it isn't 
obvious what is room, service, occupant or real JID. The problem will 
become obvious (through the sed) because all JIDs are at home.test. ;)


Regards,

Alexander


[Standards] UPDATED: XEP-0220 (Server Dialback)

2011-09-19 Thread XMPP Extensions Editor
Version 0.12 of XEP-0220 (Server Dialback) has been released.

Abstract: This specification defines the Server Dialback protocol, which is 
used between XMPP servers to provide identity verification. Server Dialback 
uses the Domain Name System (DNS) as the basis for verifying identity; the 
basic approach is that when a receiving server accepts a server-to-server 
connection from an originating server, it does not process traffic over the 
connection until it has verified a key with an authoritative server for the 
domain asserted by the originating server. Although Server Dialback does not 
provide strong authentication or trusted federation and although it is subject 
to DNS poisoning attacks, it has effectively prevented most instances of 
address spoofing on the XMPP network since its development in the year 2000.

Changelog: Corrected several small errors and added sentence about the 
undesirability of the stream features child element, per list discussion. (psa)

Diff: http://xmpp.org/extensions/diff/api/xep/0220/diff/0.11/vs/0.12

URL: http://xmpp.org/extensions/xep-0220.html



Re: [Standards] request for reviews: XEP-0045 v1.25rc5

2011-09-19 Thread Peter Saint-Andre
On 8/18/11 3:00 PM, Alexander Holler wrote:
> Am 18.08.2011 15:43, schrieb Peter Saint-Andre:
>> I've completed a round of revisions to XEP-0045 (Multi-User Chat) in an
>> effort to incorporate developer feedback I've received since the last
>> version 3 years ago. The XMPP Council would like to vote on these
>> revisions before the end of September or possibly early October, so it
>> would be great if folks could check the diff in the next few weeks:
>>
>> http://xmpp.org/extensions/diff/api/xep/0045/diff/1.24/vs/1.25rc5
>>
>> A rendered version is here:
>>
>> http://xmpp.org/extensions/tmp/xep-0045-1.25.html
> 
> Thanks for the update. I will try to read (again) as much as I can.
> 
> At first I would strongly  suggest to replace at least that 'oldhag'
> which is e.g. used for a new nick with something else. I've wondered
> some minutes when I first read that example in 7.6 until I have read
> further.
> 
> For other people like me, who like stupid looking but easy to read docs,
> here is something I've done to my copy of XEP-0045 (.example and .test
> are reserved by RFC 2606):
> 
> -
> sed \
> -e 's/chat.shakespeare.lit/chat.example/g' \
> -e 's/shakespeare.lit/home.test/g' \
> -e 's/firstwitch/occupant1owner/g' \
> -e 's/secondwitch/occupant2admin/g' \
> -e 's/thirdwitch/occupant3none/g' \
> -e 's/crone1/user1owner/g' \
> -e 's/wiccarocks/user2admin/g' \
> -e 's/hag66/user3none/g' \
> -e 's/oldhag/newnick/g' \
> -e 's/coven/room1/g' \
> -i xep-0045.html
> -
> 
> ;=)

Fun Shakespeare examples have kept me motivated in writing all this
documentation for the last 10+ years. I won't be changing them now.

Peter

-- 
Peter Saint-Andre
https://stpeter.im/




Re: [Standards] request for reviews: XEP-0045 v1.25rc5

2011-09-19 Thread Peter Saint-Andre
On 8/19/11 1:02 PM, Alexander Holler wrote:
> Am 18.08.2011 23:00, schrieb Alexander Holler:
>> Am 18.08.2011 15:43, schrieb Peter Saint-Andre:
>>> I've completed a round of revisions to XEP-0045 (Multi-User Chat) in an
>>> effort to incorporate developer feedback I've received since the last
>>> version 3 years ago. The XMPP Council would like to vote on these
>>> revisions before the end of September or possibly early October, so it
>>> would be great if folks could check the diff in the next few weeks:
>>>
>>> http://xmpp.org/extensions/diff/api/xep/0045/diff/1.24/vs/1.25rc5
>>>
>>> A rendered version is here:
>>>
>>> http://xmpp.org/extensions/tmp/xep-0045-1.25.html
>>
>> Thanks for the update. I will try to read (again) as much as I can.
> 
> Here is my current list of open questions:
> 
> - Which nicks are reserved? (owner, admins, members)
> - Owners, admins ormembers without reserved nicks?

Nicks are reserved based on registering with the room. Nicks of owners
and admins are not reserved automatically, unless an implementation
decides that is a nice feature.

> - What happens with reserved nicks when someone changes his nick? Does
> the reserved nick changes too?

Implementation specific.

> I don't know why fully-anonymous rooms got removed, according tothe
> history this was done 2002. But I think there are good reasons for rooms
> where even moderators or owners shouldn't be able to see real JIDs. E.g.
> thinking about countries where people have to fear speaking freely
> without beeing anonymous. There might be possibilities to discover real
> JIDs when access to the machine running the service is available, but if
> someone (a owner or moderator) doesn't have such, he can't be get under
> pressure to reveal real JIDs because he just can't see them.
> 
> So here are my 2ยข for in regard to fully-anonymous rooms:
> 
> - muc_fullyanonymous in service discovery is missing,
> - make a note about problems with fully-anonymous rooms, e.g how to ban
> someone without revealing his jid in the list of outcasts, how to remove
> an outcast if the outcast was done based on the nick only, possible
> solution: outcasts with a timeout). Besides removing outcasts, I think
> anything else could be handled through the use of nicks only.
> 
> To not having the need to define how fully-anonymous rooms are handled,
> maybe the xep could just list the value 'none' for whois (no change
> needed), add muc_fullyanonymous to service discovery and say everything
> else in regard to how fully-anonymous rooms are handled (if supported)
> is implementation specific.

Feel free to write and submit a proposal for fully anonymous rooms. IMHO
this is out of scope for XEP-0045, and has been since 2002. We are
trying to *not* add new features to XEP-0045 at this point, and in fact
to remove features if they are not used.

Peter

-- 
Peter Saint-Andre
https://stpeter.im/




Re: [Standards] request for reviews: XEP-0045 v1.25rc5

2011-09-19 Thread Peter Saint-Andre
On 8/31/11 11:41 AM, Alexander Holler wrote:
> Just to summarize the problems I see with those requests (to change
> affiliation):
> 
> 1. I haven't found out how the user has to build such an request. E.g.
> the request for voice as described in the XEP doesn't work with either
> ejabberd or M-Link ( or I did something wrong during my short tests ;) ).
> 
> 2. The service has to parse and translate every request into a form
> which is then presented to moderators. The service has to replace all
> labels and has to check every type.
> 
> And because I think there should be standardized way for those requests
> I don't see why using a form for such a request offers any benefit over
> something like this:
> -
>   to='ro...@chat.example.com'>
>   
> 
>   
> 
> -
> 
> In both cases the service has to generate a form which is then
> send/presented to moderators, but parsing _and_ verifying something like
> the above message is much easier than parsing _and_ verifying a form.

I see no compelling reason to change this. I might see a reason to
remove the feature entirely, if no one supports it. At this point in the
life cycle of XEP-0045, we're trying to clean up some minor problems and
clarify some issues for implementers, not make any changes of
significance, and certainly not merely for the sake of consistency or
elegance.

Peter

-- 
Peter Saint-Andre
https://stpeter.im/




Re: [Standards] request for reviews: XEP-0045 v1.25rc5

2011-09-19 Thread Peter Saint-Andre
On 9/6/11 10:38 AM, Alexander Holler wrote:
> Looking again at XEP-0045,
> 
> I don't see a reason why a request for voice should be handled in
> another way than a request for membership. ;)
> 
> In fact I would suggest to replace both with an unified "request for
> affiliation" which should work like the request for membership in 7.10
> (with an attribute 'affiliation' and maybe a xmlns something other than
> 'jabber:iq:register').

Is there a strong reason to change this now, other than protocol hygiene?

Peter

-- 
Peter Saint-Andre
https://stpeter.im/




Re: [Standards] request for reviews: XEP-0045 v1.25rc5

2011-09-19 Thread Peter Saint-Andre
On 9/6/11 8:17 AM, Ralph Meijer wrote:
> On Tue, 2011-09-06 at 15:37 +0200, Alexander Holler wrote:
>> Am 06.09.2011 11:09, schrieb Ralph Meijer:
>>> On Tue, 2011-09-06 at 09:24 +0200, Alexander Holler wrote:
 [..]

 I don't see any reason why the user should send a form to the server.

 If using a form is wanted, the correct way would be that the user
 requests a form for the request from the server, and sends back the
 result, which is then processed by the server (resulting in a form for
 the moderator).

 The described way where the user generates a form only makes sense, if
 that form is forwarded to the moderator. But that would result in the
 possible problems I've described (e.g. hidden fields and wrong labels).
>>>
>>> I don't see how requesting a form from the service first somehow makes
>>> this better. An attacker could simply ignore that form and submit its
>>> own bad one.
>>
>> Whats the point that the user sends labels?
>>
>> Where do the user gets the list of required fields from?
> 
> Ah, these are valid concerns. Looking into it in more detail, of course
> the form for requesting voice, as shown in example 74 of XEP-0045
> v1.25rc5, is of type 'submit'. The form sent to the moderator for
> approval, as shown in example 103 is of type 'form', as at should be.
> The latter is thus an entirely different one, with additional fields
> muc#jid, muc#roomnick and muc#request_allow, constructed by the MUC
> service.
> 
> You are taking the associated prose, that suggests to 'forward the
> request', too literal.
> 
> The form sent by the user's client can be entirely constructed by the
> client, without displaying it as such to the user. As it is of type
> 'submit', no labels are required. The required field is 'muc#role' and
> the value is 'participant'. The type and label attributes should
> probably be removed from the example.
> 
> Even thought this is currently not specified, future extensions could
> define how an interaction might be, with additional fields required of
> the user. Your suggestion of first requesting a form to get these fields
> (as with registering a nick or configuring a room) seems the obvious
> solution to that. If there is no immediate need for this, I suggest we
> leave things as is, though.

I've reworded those sections to remove the ambiguity.

Section 7.13

The service then proceeds as described in the Approving Voice Requests
section of this document.

Section 8.6

As noted in the Requesting Voice section of this document, an occupant
requests voice by sending a voice request data form to the service. The
service then SHOULD use that voice request data form as the basis for a
voice approval data form that it generates and sends to the room
moderator(s). The voice approval data form is contained in a 
stanza, as shown below.

/psa



Re: [Standards] UPDATED: XEP-0220 (Server Dialback)

2011-09-19 Thread Peter Saint-Andre
On 9/19/11 11:03 AM, Peter Saint-Andre wrote:
> On 7/7/11 11:37 AM, Peter Saint-Andre wrote:
>> On 7/7/11 2:51 AM, Kevin Smith wrote:
>>> On Wed, Jul 6, 2011 at 5:59 PM, Peter Saint-Andre  
>>> wrote:
 On 5/17/11 2:26 PM, Kevin Smith wrote:
> On Tue, May 17, 2011 at 9:20 PM, Peter Saint-Andre  
> wrote:
 1. Child elements as in 0.9:

 
  

  
 
>>>
>>> I'm not opposed to this, I think. It has the advantage of not breaking
>>> the existing implementations.
>>
>> The concern is, what happens when someone adds new sub-features in the
>> future?
>
> Hopefully we wouldn't spec new features without versioning and start
> seeing interoperable implementations prior to realising in the future
> :)
>
>
 3. More features:

 
  
 
>>>
>>> This one breaks existing dialback error implementations, but not
>>> general dialback implementations. This one doesn't seem particularly
>>> harmful, compared to (2), and I'll go along with the majority if it's
>>> what's deemed sensible.
>>
>> #3 is more consistent with what we do in service discovery. IMHO that's
>> a good thing.
>
> Yes, #3 is what we have previously agreed is the Right Thing to do
> with features. In this case we didn't, and implementations sprouted up
> and were deployed before we noticed, so it's a question now of whether
> the pragmatic thing is to use what we have, or to break
> implementations and maintain spec-hygiene.

 Kev, I've thought about this some more and I think it's OK to retain this:

 
  

  
 

 That's what we've had since version 0.5 of the spec, published on
 2010-03-18. I don't like it and I think we need to add a note that this
 is not the recommended way of defining stream features so that other
 specs won't emulate this approach, but the protocol hygiene is just not
 important enough to me here.
>>>
>>> I'm happy with notes saying that this is the Wrong Thing to do, and we
>>> can even give a footnote of what the Right Way is, if we want.
>>
>> I'll work up some text along those lines for review on the list.
> 
> My apologies for the delay. I propose that we add the following
> paragraph at the end of Section 5.2:
> 
>As a general rule, stream feature elements containing child elements
>that advertise particular sub-features are not encouraged. The
>format shown above is used for the sake of backward compatiblity
>with existing implementations and deployments.

Sorry, I think that belongs in Section 2.4.2.

Peter

-- 
Peter Saint-Andre
https://stpeter.im/




Re: [Standards] UPDATED: XEP-0220 (Server Dialback)

2011-09-19 Thread Peter Saint-Andre
On 7/7/11 11:37 AM, Peter Saint-Andre wrote:
> On 7/7/11 2:51 AM, Kevin Smith wrote:
>> On Wed, Jul 6, 2011 at 5:59 PM, Peter Saint-Andre  wrote:
>>> On 5/17/11 2:26 PM, Kevin Smith wrote:
 On Tue, May 17, 2011 at 9:20 PM, Peter Saint-Andre  
 wrote:
>>> 1. Child elements as in 0.9:
>>>
>>> 
>>>  
>>>
>>>  
>>> 
>>
>> I'm not opposed to this, I think. It has the advantage of not breaking
>> the existing implementations.
>
> The concern is, what happens when someone adds new sub-features in the
> future?

 Hopefully we wouldn't spec new features without versioning and start
 seeing interoperable implementations prior to realising in the future
 :)


>>> 3. More features:
>>>
>>> 
>>>  
>>> 
>>
>> This one breaks existing dialback error implementations, but not
>> general dialback implementations. This one doesn't seem particularly
>> harmful, compared to (2), and I'll go along with the majority if it's
>> what's deemed sensible.
>
> #3 is more consistent with what we do in service discovery. IMHO that's
> a good thing.

 Yes, #3 is what we have previously agreed is the Right Thing to do
 with features. In this case we didn't, and implementations sprouted up
 and were deployed before we noticed, so it's a question now of whether
 the pragmatic thing is to use what we have, or to break
 implementations and maintain spec-hygiene.
>>>
>>> Kev, I've thought about this some more and I think it's OK to retain this:
>>>
>>> 
>>>  
>>>
>>>  
>>> 
>>>
>>> That's what we've had since version 0.5 of the spec, published on
>>> 2010-03-18. I don't like it and I think we need to add a note that this
>>> is not the recommended way of defining stream features so that other
>>> specs won't emulate this approach, but the protocol hygiene is just not
>>> important enough to me here.
>>
>> I'm happy with notes saying that this is the Wrong Thing to do, and we
>> can even give a footnote of what the Right Way is, if we want.
> 
> I'll work up some text along those lines for review on the list.

My apologies for the delay. I propose that we add the following
paragraph at the end of Section 5.2:

   As a general rule, stream feature elements containing child elements
   that advertise particular sub-features are not encouraged. The
   format shown above is used for the sake of backward compatiblity
   with existing implementations and deployments.

Peter

-- 
Peter Saint-Andre
https://stpeter.im/




Re: [Standards] XEP-0198: Stream Management - Clarifications

2011-09-19 Thread Alexander Holler

Hello,

Am 19.09.2011 10:20, schrieb Dave Cridland:


You don't appear to be disagreeing with me, but instead arguing about
something I've never mentioned.


Exactly, it was more a response to the original request (but I've just 
answered to the last message of the thread, yours).


I don't see any reason to modify the XEP, it's just fine. Therefore I've 
answered later on to another message in the thread. ;)


Regards,

Alexander


Re: [Standards] XEP-0198: Stream Management - Clarifications

2011-09-19 Thread Dave Cridland

On Sat Sep 17 18:44:28 2011, Alexander Holler wrote:

Am 16.09.2011 21:24, schrieb Dave Cridland:

On Fri Sep 16 17:58:17 2011, Kim Alvefur wrote:
I think it shouldn't hurt if  meant "I'd really like you to  
send an
 now, please", and the other party SHOULD reply with ,  
but not

MUST.


No, that would be bad. I do not wish to second guess why I'm not  
getting

an , I just want to get one.


If an implementation for whatever reason sends a whole bunch of
s at the same time, then why reply with more than one .


I don't want to optimize the protocol for poorly written
implementations. If the other end is asking for lots of
acknowledgements, either send them or go talk to a different peer.

Send as many  as you like, but at least one per  received.


I don't see any reason why there should be an error defined for.

It's just like if you never get an return for an iq stanza. If the  
sender for an   doesn't get an  in whatever time he wants  
one, it's the sender of the  decision what to do. It's extremly  
unlikely that a receiver of an  is interested in an error, if  
he doesn't send an  and through that clearly violates the MUST  
(send ) in the XEP.


And defining some arbitrary (response) time doesn't make sense  
(imho).


You don't appear to be disagreeing with me, but instead arguing about  
something I've never mentioned.


I'm saying that receivers of an  MUST send an . Receivers of  
two 's MUST send one  for each. If receivers of an   
withhold an , that indicates some problem with the connection  
(including application-level congestion).


If no  at all is sent, then the peer that's missing the   
response might do all sorts of things to try to recover, up to and  
including sending a timeout error, or simply dropping the connection  
- and that seems entirely fine; either the connection or the other  
peer is broken.


If a peer is sending lots of 's, then this is a poor  
implementation, but you still MUST reply to each individually. Could  
be there's been a period of congestion and you're actually seeing one  
 per minute coming through in a big bunch.


Introducing variance in whether or not to respond to an  or not  
simply breaks the protocol.


Dave.
--
Dave Cridland - mailto:d...@cridland.net - xmpp:d...@dave.cridland.net
 - acap://acap.dave.cridland.net/byowner/user/dwd/bookmarks/
 - http://dave.cridland.net/
Infotrope Polymer - ACAP, IMAP, ESMTP, and Lemonade