Re: [Standards] XEP-0045: requesting a unique room name

2008-08-13 Thread Kevin Smith
On Wed, Aug 13, 2008 at 12:24 AM, Peter Saint-Andre [EMAIL PROTECTED] wrote:
 Has any MUC implementation coded in support for the unique room name
 request feature described in Section 10.1.4 of XEP-0045? I think this
 feature is unnecessary and (in the interest of simplification) I would like
 to remove it from XEP-0045.

Without checking, that was in the spec for converting the chat to muc
case. I don't see the harm in leaving it there, but I think it'll come
down to another argument about the impossibility of collisions on a
guid.

/K


Re: [Standards] XEP-0045: requesting a unique room name

2008-08-13 Thread Remko Tronçon
 Without checking, that was in the spec for converting the chat to muc
 case. I don't see the harm in leaving it there, but I think it'll come
 down to another argument about the impossibility of collisions on a
 guid.

That was indeed the main discussion last time. Pros: it keeps the
client very simple (it just has to query a name), and leaves out all
the logic for GUID generation and collision detection. Others were
arguing that a SHA is simple to generate, and would never collide in
pratice anyway.

I'm slightly leaning towards the first proposal, as I'm not sure I
could sleep at night knowing that in theory, my client can give a
weird error. But maybe i should stop being a purist, and accept that
the clients have much bigger issues than that ;-)

cheers,
Remko


Re: [Standards] XEP-0045: requesting a unique room name

2008-08-13 Thread Peter Saint-Andre

Remko Tronçon wrote:

Without checking, that was in the spec for converting the chat to muc
case. I don't see the harm in leaving it there, but I think it'll come
down to another argument about the impossibility of collisions on a
guid.


That was indeed the main discussion last time. Pros: it keeps the
client very simple (it just has to query a name), and leaves out all
the logic for GUID generation and collision detection. Others were
arguing that a SHA is simple to generate, and would never collide in
pratice anyway.

I'm slightly leaning towards the first proposal, as I'm not sure I
could sleep at night knowing that in theory, my client can give a
weird error. But maybe i should stop being a purist, and accept that
the clients have much bigger issues than that ;-)


How hard is it to generate a UUID or SHA hash? I suppose not all clients 
have access to such utilities...


Peter




smime.p7s
Description: S/MIME Cryptographic Signature


[Standards] Proposed XMPP Extension: Direct MUC Invitations

2008-08-13 Thread XMPP Extensions Editor
The XMPP Extensions Editor has received a proposal for a new XEP.

Title: Direct MUC Invitations

Abstract: This specification defines a method for inviting a contact to a 
multi-user chat room directly, instead of sending the invitation through the 
chat room.

URL: http://www.xmpp.org/extensions/inbox/direct-invitations.html

The XMPP Council will decide at its next meeting whether to accept this 
proposal as an official XEP.



Re: [Standards] Proposed XMPP Extension: Direct MUC Invitations

2008-08-13 Thread Jonathan Schleifer
XMPP Extensions Editor [EMAIL PROTECTED] wrote:

 URL: http://www.xmpp.org/extensions/inbox/direct-invitations.html

Just spotted that typo:

 The venue/ element is REQUIRED, whereas the password/ and
 reason/ elements are OPTIONAL.

-- 
Jonathan


signature.asc
Description: PGP signature


Re: [Standards] XEP-0045: requesting a unique room name

2008-08-13 Thread Remko Tronçon
 How hard is it to generate a UUID or SHA hash? I suppose not all clients
 have access to such utilities...

It's not generating the hash that was bothering me at the time, it was
more that the hash is not unique in theory, and that you would still
need to have conflict checking code in case it wasn't. But I guess the
likelihood of that happening is immensely close to zero, and if you
have a timestamp in there, it would be even closer to zero happening
twice in a row (i.e. the Why didn't this work? I must have done
something wrong, let me try again). So I suppose I should learn to
live with imperfection ;-)

cheers,
Remko


Re: [Standards] XEP-0045: requesting a unique room name

2008-08-13 Thread Yann Leboulanger

Peter Saint-Andre wrote:
Has any MUC implementation coded in support for the unique room name 
request feature described in Section 10.1.4 of XEP-0045? I think this 
feature is unnecessary and (in the interest of simplification) I would 
like to remove it from XEP-0045.


In our client (Gajim), we use it for chat to muc convertion too.
If it's not supported by MUC component, we do nickname + random number, 
but it's convenient to be sure we won't have a confict.


--
Yann


Re: [Standards] XEP-0045: requesting a unique room name

2008-08-13 Thread Matthew Wild
On Wed, Aug 13, 2008 at 12:24 AM, Peter Saint-Andre [EMAIL PROTECTED] wrote:
 Has any MUC implementation coded in support for the unique room name
 request feature described in Section 10.1.4 of XEP-0045? I think this
 feature is unnecessary and (in the interest of simplification) I would like
 to remove it from XEP-0045.


Gloox uses it, and falls back to a simple hash if the server returns
an error (ie. doesn't support the request):
http://camaya.net/api/gloox-trunk/classgloox_1_1UniqueMUCRoom.html

Matthew.


Re: [Standards] Proposed XMPP Extension: Direct MUC Invitations

2008-08-13 Thread Pavel Simerda
On Wed, 13 Aug 2008 08:18:43 -0500
XMPP Extensions Editor [EMAIL PROTECTED] wrote:

 http://www.xmpp.org/extensions/inbox/direct-invitations.html

Hmm, good idea, this simple direct invitation protocol, it makes sense
to send invitation to the people I invite.

Just a sidenote, couldn't venue be replaced with something more
specific and well known in the XMPP community (e.g. conference). It
might also come first in the example, as it's the only important (and
REQUIRED) element.

Also, more about authorization and relation to other XEPs would be
nice. Passwords are IMO not a good *default* authorization technique
for MUC rooms.

It seems MUC authorization was removed from [xep 0235]. Isn't now
the time to find a better place for it?

Pavel


-- 

Web: http://www.pavlix.net/
Jabber  Mail: pavlix(at)pavlix.net
OpenID: pavlix.net


Re: [Standards] XEP-0045: requesting a unique room name

2008-08-13 Thread Pavel Simerda
Hello,

maybe you could use a hash function (or unique identifier) that has
lower probability of random conflicts than the probability of random RAM
errors :).

Just joking, with computers, you can be never sure, so almost sure is
usually good enough if it's just a matter of trying it again.

(Btw, in my father's work, SAP got down because it sent the time 24:00
to the database :D, it happens rarely but happens.)

I believe http://tools.ietf.org/html/rfc4122 is one of the possible ways
to go :).

Pavel

On Wed, 13 Aug 2008 16:30:38 +0200
Remko Tronçon [EMAIL PROTECTED] wrote:

  How hard is it to generate a UUID or SHA hash? I suppose not all
  clients have access to such utilities...
 
 It's not generating the hash that was bothering me at the time, it was
 more that the hash is not unique in theory, and that you would still
 need to have conflict checking code in case it wasn't. But I guess the
 likelihood of that happening is immensely close to zero, and if you
 have a timestamp in there, it would be even closer to zero happening
 twice in a row (i.e. the Why didn't this work? I must have done
 something wrong, let me try again). So I suppose I should learn to
 live with imperfection ;-)
 
 cheers,
 Remko


-- 

Web: http://www.pavlix.net/
Jabber  Mail: pavlix(at)pavlix.net
OpenID: pavlix.net


Re: [Standards] XEP-0045: requesting a unique room name

2008-08-13 Thread Kevin Smith
 I'd buy client-asserted hashes if conferencing was some peer-to-peer thing,
 but MUC is a client/server design.

Plus it's conceivable that a muc service would only want to serve
rooms at addresses it supplies.

/K


Re: [Standards] XEP-0045: requesting a unique room name

2008-08-13 Thread Matthew Wild
On Wed, Aug 13, 2008 at 6:41 PM, Justin Karneges
[EMAIL PROTECTED] wrote:
 There are many places where a UUID may be appropriate, but I don't think this
 is one of them.  You're desiring an unique handle to the MUC service, and the
 MUC itself is really the authority for that.


How about:

Client requests to create a room, using the best hash it can muster:
presence
to='[EMAIL PROTECTED]/nick''
from='[EMAIL PROTECTED]/home'
  x xmlns='http://jabber.org/protocol/muc'/
  unique xmlns='http://jabber.org/protocol/muc#unique' /
/presence

Server supports unique extension, and the room already existed, so it
replies with a new one:
presence
from='[EMAIL PROTECTED]/nick''
to='[EMAIL PROTECTED]/home'
  unique xmlns='http://jabber.org/protocol/muc#unique'[EMAIL 
PROTECTED]/nick/unique
  x xmlns='http://jabber.org/protocol/muc#user'
item affiliation='owner'
  role='moderator'/
status code='110'/
status code='201'/
  /x
/presence

This saves the round-trip, and the worst case result (the server
doesn't support the extension and the hash collides) is the same as
what we have now.

Matthew.


Re: [Standards] XEP-0045: requesting a unique room name

2008-08-13 Thread Peter Saint-Andre

Yann Leboulanger wrote:

Peter Saint-Andre wrote:
Has any MUC implementation coded in support for the unique room name 
request feature described in Section 10.1.4 of XEP-0045? I think this 
feature is unnecessary and (in the interest of simplification) I would 
like to remove it from XEP-0045.


In our client (Gajim), we use it for chat to muc convertion too.
If it's not supported by MUC component, we do nickname + random number, 
but it's convenient to be sure we won't have a confict.


But then you have a dependency on the server side, right? Why not just 
generate a UUID on the client side?


/psa



smime.p7s
Description: S/MIME Cryptographic Signature


Re: [Standards] XEP-0174: Serverless Messaging: Ending a Messaging Session

2008-08-13 Thread Peter Saint-Andre

Alban Crequy wrote:

Hi,

In a link-local conversation with XEP-0174, a client A sends the
ending stanza to the other end's client B: /stream:stream

http://www.xmpp.org/extensions/xep-0174.html#end

After that, B continues to send message stanzas to A but never sends
the ending stanza. The ending stanza from A is ignored by B. 


Why?


The
XEP-0174 seems to say B has to close the stream but there is no MUST
or SHOULD.


I think that's supposed to be a MUST. The text the other party then 
closes the stream in the other direction as well is not good 
specification language.



When the user of A wants to send a message, A can't send it using the
current connection because the ending stanza has already been sent on
this connection and sending stanzas after the ending stanza is
obviously not correct. The client A cannot closes the TCP connection
while it did not receive the ending stanza from B because it may miss a
message.


I think that A can indeed close the TCP connection, but will miss some 
messages. Indeed, we might want to say that A sends /stream:stream and 
closes the TCP connection immediately.



The XEP does not say whether A should open a second stream or should
wait the first stream to be closed by the remote end. The second option
seems better to me, 


Agreed.


but in this case B MUST closes the stream at some
point when A sends the ending stanza (otherwise, A's messages will
never be sent).


Also agreed.


It seems that iChat behaves like the client B in my scenario, i.e. it
does not close the stream when it receives the ending stanza. This
causes problems when the client A waits the connection to be closed in
order to open a new one.


I think we hadn't considered the complexities here when we first 
documented serverless messaging. The fact that clients can get in this 
state is a problem -- i.e., the state where A won't send stanza to B and 
does not expect stanzas from B, but B ignores A's stream close and 
continues to send stanzas to A. I consider this a bug in B, and I think 
we need to clarify the spec so that B sends a stream close as soon as it 
receives a stream close from A.


We probably also need to define how a client needs to handle stanzas it 
receives after it sends the closing stream tag (ignore them? show them 
to the user?).


Peter


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [Standards] comments on section 8.3, draft-saintandre-rfc3920bis-06.html

2008-08-13 Thread Peter Saint-Andre

Pavel Simerda wrote:

On Tue, 12 Aug 2008 00:31:00 -0700
Justin Karneges [EMAIL PROTECTED] wrote:


On Monday 11 August 2008 14:04:22 Pavel Simerda wrote:

On Mon, 11 Aug 2008 13:45:08 -0600

Peter Saint-Andre [EMAIL PROTECTED] wrote:

Server DOM grovelling to look for the right extension? That
doesn't sound very appealing to server developers.

What about:

A: presence type='meeting-request'/

I'm pretty sure any server developer who doesn't want to process the
XML inside a presence stanza would also be against adding new
presence types.

I think if any extending goes on, it would have to be through child
elements of the stanza.


I believe if the type is really different from the usual availability
(which the temporary availability is), we should not stick with the
current set of presence types only because it has been like that for a
long time.


The flow of your protocol is good, though.



Thanks.


Current implementations would send it to the client (if not
instructed to block everything) or no?

It's hard to say what current servers would do.  Presence stanzas are
treated specially in servers, much more than message/iq which are
usually just relayed as-is.  It wouldn't surprise me if sending
new/invalid presence types would cause the receiving server to drop
the stanza.


Still better than confusion with subscribe.


We need two new XEPs: Temporary Presence Exchange (for
exchanging caps/resource information with unknown/invisible
entities),

What more does that involve on top of directed presence containing
caps?


and Presence-based Privacy (which is TPE-aware).

I feel a lot of hoops here. How about a way to send a presence
subscription request but indicate that it's intended to be only
temporary?

presence type='subscribe'
   temporary/
/presence

That'll get through without all sorts of server upgrades etc.

That will, without a server upgrade be regarded as a subscription
request by the server, which is not a good backwards-compatible
scheme either.

Or maybe it is a fine backwards-compatible scheme?  Clients/servers
unaware of temporary subscriptions would at least be able to set up a
normal subscription.


Which is IMO bad and confusing when you only want temporary presence
session. This might even lead to the situation that people are angry
because you want subscription and you aren't supposted to.

What more, clients can do nothing to prevent it.

If you want to extend something, it would be better if it's not
subscriptions. We have enough problems with subscriptions without that.

(They sometimes don't work as expected and servers sometimes store
different subscription states for the same user relation.)


Look, we're trying to work around presence blocking. Some servers will 
only let presence type='subscribe'/ through because of privacy lists 
(or what looks like a privacy list anyway, a la Google Talk), and a new 
value for the 'type' attribute won't help here. So either we use 
subscribe or it won't work anytime soon. Choose one. :)


Personally I don't mind having a big roster, and I don't mind having 
people send me presence subscription requests, long-term or short-tterm, 
whatever. In fact I'd love to have a flag for short-tterm subscriptions 
when a presence subscription request comes in -- I'd be more likely to 
approve it, and maybe the short-term subscription turns into a 
long-lived subscription. I'm not sure how you present these options to 
the users (both the subscriber and the subscribee), but I think client 
developers can work on those issues and we can share those insights.


Peter


smime.p7s
Description: S/MIME Cryptographic Signature