Re: [Standards] XEP-0124 and XEP-0206

2015-06-04 Thread Sergey Dobrov

Hi,

XEP-0124 defines a way for maintaining bi-directional streams over HTTP. 
It can be any stream, not just XMPP. XEP-0206 advises how to use 
XEP-0124 for streaming XML streams that are in use in XMPP.


Thanks.

On 19/05/2015 07:43, Vaibhav Ranglani wrote:

Went through the specifications of both XEP-124 and XEP-206.

Can somebody please throw a pointer as to how they are related.

Thanks
Vaibhav



--
With best regards,
Sergey Dobrov,
XMPP Developer and JRuDevels.org founder.


Re: [Standards] Proposed XMPP Extension: Unique and stable message IDs

2015-06-04 Thread Dave Cridland
I'm in broad agreement with what Kurt writes below.

I think the only point where we differ is that the does MUC issue new ids
question is really one we could answer now (and if not directly answer,
certainly fix).

I would also add that using the stanza's id and from attributes, plus a
(possibly server-provided) public tracking identifier for the stream,
should be unique - and in at least most cases where we care we can mandate
it.


On 4 June 2015 at 11:56, Kurt Zeilenga kurt.zeile...@isode.com wrote:

 It’s not clear to me that the problems that this extensions proposes to
 address can be addressed through use an extension to XMPP.  Extensions
 ought to be truly optional.  This ProtoXEP appears to be making mandates
 which are more appropriate made, if the community were to support them
 being made, in a revision of the XMPP base specification.

 For instance, the ProtoXEP not only says XMPP entities, which are
 routing stanzas, MUST NOT strip the message-id element from message
 stanzas” but seems to be rely on all servers adhering to this MUST NOT.
 That’s never going to be case… certainly not for implementations not
 purporting to implement this extension… and likely not for some
 implementations which might purport to implement this extension.   This
 spec needs to consider and discuss what happens in face of elements it
 suggests be added are stripped by another entity.

 I have a big problem with one ID to rule them all… and a bigger problem
 with the last ID being that ID (the overrride requirement).   To the extent
 IDs are needed, they need to “stable”.  This means they cannot be
 overridden.

 For operational and security reasons, it unwise for one entity to rely on
 IDs for services it provides (such as MAM) provide by some other entity.
 To the extent IDs are needed, we need per-entity IDs… possibly even
 per-enitty handling IDs (that is, when an IM handles a stanza for the
 second time (such as after being handled by an MUC service, it might need
 to separately ID the stanza).  This because stanza content can and will
 change as its handled by other entities.

 It’s not clear to me how this id provided by this extension would or could
 be used in message type=error stanzas.  It’s not clear to me why this
 extension proposes a message/ only solution, when it seems likely that
 stanza id= problems are not necessarily specific to message stanzas.

 It seems that there’s many security risks here associated with ID forgery,
 replay, etc., but I’m not sure what, if any, mitigation is needed.

 I suggest instead an element allowing entities to provide IDs in stanzas
 they originate or handle.

 stanza-id xmlns=‘…’ id=‘ID’ provider=“JID”/

 where ID is some opaque ID and JID is the providers JID.  Servers which
 need to provide different IDs in different contexts can use different JIDs.
  (or possibly better to allow a context attribute or something).

 I’m not convinced having an extension providing an ID (whether by the
 ProtoXEP suggestion or mine or other) reliably solves any problem I’m faced
 with.

 For the MUC use case, I rather we solve this as part of the MUC2 effort…

 For the MAM case, to the extent what it offers in the current Experimental
 XEP is not sufficient, I suggest MAM XEP be modified to provide for
 reliable identification of archived content.

 — Kurt



[Standards] Fwd: [Council] Minutes 2015-06-03

2015-06-04 Thread Kevin Smith
FYI

Begin forwarded message:
 From: Kevin Smith
 Subject: [Council] Minutes 2015-06-03
 Date: 4 June 2015 08:19:49 BST
 To: XMPP Council
 Reply-To: XMPP Council
 
 Room logs: http://logs.xmpp.org/council/2015-06-03/
 
 1) Roll call
 
 Lance, Matt, Kev, Dave, Fippo present
 
 2) Date of next meeting
 
 2015-06-10 15:00Z
 
 3) Any other business
 
 No Council action (for general discussion, see logs)
 
 Fini



Re: [Standards] Proposed XMPP Extension: Nonzas (are not Stanzas)

2015-06-04 Thread Kevin Smith
On 3 Jun 2015, at 16:02, XMPP Extensions Editor edi...@xmpp.org wrote:
 http://xmpp.org/extensions/inbox/nonza.html

I like short XEPs - much easier to scan through :)

The definition here seems potentially useful. I would add a ‘generally’ to 4 so 
that it becomes “...they are generally used in a more…”, so as not to be seen 
as prescriptive.

I’m not sure that the business rules in 5 are useful - particularly given that 
(2) then has to be clarified to already not apply in some cases. None of the 
current nonzas are routed, but it doesn’t seem impossible that one might be in 
the future, and I don’t see a reason to forbid it here. Noting that they’re not 
expected to be routed seems useful and sufficient, to me.

/K

Re: [Standards] Proposed XMPP Extension: Unique and stable message IDs

2015-06-04 Thread Matthew Wild
On 3 June 2015 at 16:02, XMPP Extensions Editor edi...@xmpp.org wrote:
 The XMPP Extensions Editor has received a proposal for a new XEP.

 Title: Unique and stable message IDs

 Abstract: This specification describes unique and stable IDs for message 
 stanzas.

 URL: http://xmpp.org/extensions/inbox/mid.html

Yay, thanks Florian!

My feedback so far:

## client-id

This is much better than the first draft I saw containing 'client-id'.
However I'm still unconvinced that it belongs here. It has different
uses, and different semantics. If it stays in this XEP (which I'm ok
with), I think it should be in another element, which the server
doesn't have to even care about.

However for the use-cases that I understand it to be solving, I don't
believe it should even be necessary. The id attribute is the client's
id and it should be preserved. Duplicating it in a content element is
a silly hack in my opinion.

## replacing message-id's

This revision says that there must only be a single id at any point in
time. This would prevent you from learning the id that a remote MUC
service (or any other entity) assigned it (in case you want to query a
MUC's archive).

I would probably go for the same approach as the original archived/
element in MAM, and have a 'by' attribute (similar also to delay/):

   message-id id=1234-- by=example.com /

This would also allow clients to use it if they really wanted to, by
putting their JID in the 'by'.

Regards,
Matthew


Re: [Standards] Proposed XMPP Extension: Unique and stable message IDs

2015-06-04 Thread Kurt Zeilenga
It’s not clear to me that the problems that this extensions proposes to address 
can be addressed through use an extension to XMPP.  Extensions ought to be 
truly optional.  This ProtoXEP appears to be making mandates which are more 
appropriate made, if the community were to support them being made, in a 
revision of the XMPP base specification.

For instance, the ProtoXEP not only says XMPP entities, which are routing 
stanzas, MUST NOT strip the message-id element from message stanzas” but seems 
to be rely on all servers adhering to this MUST NOT.  That’s never going to be 
case… certainly not for implementations not purporting to implement this 
extension… and likely not for some implementations which might purport to 
implement this extension.   This spec needs to consider and discuss what 
happens in face of elements it suggests be added are stripped by another entity.

I have a big problem with one ID to rule them all… and a bigger problem with 
the last ID being that ID (the overrride requirement).   To the extent IDs are 
needed, they need to “stable”.  This means they cannot be overridden.

For operational and security reasons, it unwise for one entity to rely on IDs 
for services it provides (such as MAM) provide by some other entity.  To the 
extent IDs are needed, we need per-entity IDs… possibly even per-enitty 
handling IDs (that is, when an IM handles a stanza for the second time (such as 
after being handled by an MUC service, it might need to separately ID the 
stanza).  This because stanza content can and will change as its handled by 
other entities.

It’s not clear to me how this id provided by this extension would or could be 
used in message type=error stanzas.  It’s not clear to me why this extension 
proposes a message/ only solution, when it seems likely that stanza id= 
problems are not necessarily specific to message stanzas.

It seems that there’s many security risks here associated with ID forgery, 
replay, etc., but I’m not sure what, if any, mitigation is needed.

I suggest instead an element allowing entities to provide IDs in stanzas they 
originate or handle.

stanza-id xmlns=‘…’ id=‘ID’ provider=“JID”/

where ID is some opaque ID and JID is the providers JID.  Servers which need to 
provide different IDs in different contexts can use different JIDs.  (or 
possibly better to allow a context attribute or something).

I’m not convinced having an extension providing an ID (whether by the ProtoXEP 
suggestion or mine or other) reliably solves any problem I’m faced with.

For the MUC use case, I rather we solve this as part of the MUC2 effort…

For the MAM case, to the extent what it offers in the current Experimental XEP 
is not sufficient, I suggest MAM XEP be modified to provide for reliable 
identification of archived content.

— Kurt

Re: [Standards] Proposed XMPP Extension: Unique and stable message IDs

2015-06-04 Thread Kevin Smith
On 3 Jun 2015, at 16:02, XMPP Extensions Editor edi...@xmpp.org wrote:
 Title: Unique and stable message IDs
 
 URL: http://xmpp.org/extensions/inbox/mid.html

Hoorah again for short XEPs.

3.1 - I think SHOULD is too strong for UUIDs here, isn’t it? There’s no 
interoperability concern - so I’d just go with ‘suggested’.

3.2 - I think MUST here is weird when combined with ‘some use cases’ being 
unnamed.

In general, is stamping multiple message-ids, together with who did the 
stamping, most elegant here?

/K

[Standards] Added elements (was: Proposed XMPP Extension: Unique and stable message IDs)

2015-06-04 Thread Thijs Alkemade

 On 4 jun. 2015, at 11:26, Matthew Wild mwi...@gmail.com wrote:
 
 I would probably go for the same approach as the original archived/
 element in MAM, and have a 'by' attribute (similar also to delay/):
 
   message-id id=1234-- by=example.com http://example.com/ /
 
 This would also allow clients to use it if they really wanted to, by
 putting their JID in the 'by'.

I fully admit that this is going to sound like an over-engineered solution to
a rare and unimportant problem, but anyway.

Servers adding elements to stanzas is tricky because the client needs to
determine whether it was actually that server that added them, not the sender
or some other server along the line, and I fear clients might mess up that
check. delay has the exact same problem.

Your server can't strip out elements that it knows nothing about. But instead
of adding stripping support for every new XEP to all servers, how about
making a new, general, XEP to indicate who added elements? For example, adding
a single attribute 'by' in a new namespace:

delay
   xmlns='urn:xmpp:delay'
   stamp='2002-09-10T23:41:07Z'
   added:by='conference.example.lit'
   xmlns:added='urn:xmpp:added' /

message-id
   xmlns='urn:xmpp:mid:0'
   id='de305d54-75b4-431b-adb2-eb6b9e546013'
   added:by='muc.capulet.lit'
   xmlns:added='urn:xmpp:added' /

This means the server does not need to know the XEP used to strip those
elements out, it can just remove all elements that have a 'added:by' value
that is obviously incorrect. As they are in a new namespace, the original
XEPs don't need to be updated and clients that don't understand this
specification can easily ignore them.

Alternatively, we could give 'from', as it is already used by Delayed
Delivery, extra meaning, (like required/ in stream features), but I fear
that may have unintended consequences.

Of course this doesn't protect clients from servers maliciously adding,
removing or changing elements, it only protects users from others
impersonating their own server.

Regards,
Thijs



signature.asc
Description: Message signed with OpenPGP using GPGMail