Re: [Standards] XEP-0424: Message Retraction - Remove Fastening

2023-02-21 Thread Marvin W
I think we came up with the common understanding that to reference a
previous message in a conversation, we use
- the origin-id or message id in direct chats
- the MUC service's stanza-id in MUCs + some kind of method (e.g.
presence tracking, occupant-id) to have certainty that the sender is
the same if necessary (would be required for retraction)
(These rules are currently duplicated in XEPs 0367, 0444, 0461 and
probably others)

The only exception right now is last message correction, which always
uses the message id (even in MUCs), but in that case it's fine, because
LMC always refers the last message and the id does not really serve the
purpose of referencing a message.

If we just properly spec those rules for referencing messages (in an
informational XEP) and just always refer to those rules, I think your
suggested by-attribute is mostly superfluous. In a MUC, any by-
attribute-value that is not the MUC would be spoofable, so it couldn't
be used for referencing.
That suggested by-attribute can even cause more confusion because one
might want to mention the sender of the message (XEP-0461 does that in
a 'to'-attribute)

Marvin

On Mon, 2023-02-20 at 10:32 +0100, Florian Schmaus wrote:
> On 13/02/2023 16.57, Daniel Gultsch wrote:
> > I’m currently looking at implementing 'Message Retraction' and I
> > think
> > it should get rid of Fastening.
> > 
> > I mentioned it during Summit and while it wasn’t discussed much
> > further my comment also didn’t get much protest: I think Fastening
> > is
> > dead.
> > 
> > A general purpose approach doesn’t seem to work for MAM.
> > 
> > Luckily I think removing it from Retraction is fairly simple.
> > 
> > We can just stick the ID into the retract element and send
> > something
> > 
> > 
> 
> Since origin-id is spoofable, one should not use it when referencing 
> other stanzas. Instead always use the 'id' *and* 'by' value of
> xep359's 
>  element.
> 
> So the example above should become something like
> 
> 
>    
> 
> 
> While one could argue that the 'by' attribute could potentially be 
> omitted and made implicit, e.g., it has the value of the MUC service 
> that hosts the MUC in which a message got retracted, I believe this 
> could lead far too easily to insecure implementations that only
> compare 
> the id value, making the technically unspoofable xep359 stanza-id 
> spoofable again [1]. Therefore I would strongly consider making it 
> mandatory and explicit.
> 
> - Flow
> 
> 
> 1: Similar to the insecure carbons implementations we saw in the
> wild.
> ___
> Standards mailing list
> Info: https://mail.jabber.org/mailman/listinfo/standards
> Unsubscribe: standards-unsubscr...@xmpp.org
> ___

___
Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: standards-unsubscr...@xmpp.org
___


Re: [Standards] XEP-0424: Message Retraction - Remove Fastening

2023-02-20 Thread Florian Schmaus

On 20/02/2023 11.05, JC Brand wrote:


On 20.02.23 10:32, Florian Schmaus wrote:

On 13/02/2023 16.57, Daniel Gultsch wrote:

I’m currently looking at implementing 'Message Retraction' and I think
it should get rid of Fastening.

I mentioned it during Summit and while it wasn’t discussed much
further my comment also didn’t get much protest: I think Fastening is
dead.

A general purpose approach doesn’t seem to work for MAM.

Luckily I think removing it from Retraction is fairly simple.

We can just stick the ID into the retract element and send something




Since origin-id is spoofable, one should not use it when referencing 
other stanzas. Instead always use the 'id' *and* 'by' value of 
xep359's  element.


So the example above should become something like


  


While one could argue that the 'by' attribute could potentially be 
omitted and made implicit, e.g., it has the value of the MUC service 
that hosts the MUC in which a message got retracted, I believe this 
could lead far too easily to insecure implementations that only 
compare the id value, making the technically unspoofable xep359 
stanza-id spoofable again [1]. Therefore I would strongly consider 
making it mandatory and explicit.



Fair enough. I searched in the XEPs repo to see if some other XEP uses 
 and no-one does, even though there are other XEPs 
that do similar things, like XEP-0444 reactions


That is probably because I just made that example up. But I am a long 
time advocate that referencing other stanzas must always use the 'id' 
*and* 'by' tuple.


That recent discussion motivated me to prepare
https://github.com/xsf/xeps/pull/1272

- Flow

___
Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: standards-unsubscr...@xmpp.org
___


Re: [Standards] XEP-0424: Message Retraction - Remove Fastening

2023-02-20 Thread JC Brand


On 20.02.23 10:32, Florian Schmaus wrote:

On 13/02/2023 16.57, Daniel Gultsch wrote:

I’m currently looking at implementing 'Message Retraction' and I think
it should get rid of Fastening.

I mentioned it during Summit and while it wasn’t discussed much
further my comment also didn’t get much protest: I think Fastening is
dead.

A general purpose approach doesn’t seem to work for MAM.

Luckily I think removing it from Retraction is fairly simple.

We can just stick the ID into the retract element and send something




Since origin-id is spoofable, one should not use it when referencing 
other stanzas. Instead always use the 'id' *and* 'by' value of 
xep359's  element.


So the example above should become something like


  


While one could argue that the 'by' attribute could potentially be 
omitted and made implicit, e.g., it has the value of the MUC service 
that hosts the MUC in which a message got retracted, I believe this 
could lead far too easily to insecure implementations that only 
compare the id value, making the technically unspoofable xep359 
stanza-id spoofable again [1]. Therefore I would strongly consider 
making it mandatory and explicit.



Fair enough. I searched in the XEPs repo to see if some other XEP uses 
 and no-one does, even though there are other XEPs 
that do similar things, like XEP-0444 reactions.


___
Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: standards-unsubscr...@xmpp.org
___


Re: [Standards] XEP-0424: Message Retraction - Remove Fastening

2023-02-20 Thread Florian Schmaus

On 13/02/2023 16.57, Daniel Gultsch wrote:

I’m currently looking at implementing 'Message Retraction' and I think
it should get rid of Fastening.

I mentioned it during Summit and while it wasn’t discussed much
further my comment also didn’t get much protest: I think Fastening is
dead.

A general purpose approach doesn’t seem to work for MAM.

Luckily I think removing it from Retraction is fairly simple.

We can just stick the ID into the retract element and send something




Since origin-id is spoofable, one should not use it when referencing 
other stanzas. Instead always use the 'id' *and* 'by' value of xep359's 
 element.


So the example above should become something like


  


While one could argue that the 'by' attribute could potentially be 
omitted and made implicit, e.g., it has the value of the MUC service 
that hosts the MUC in which a message got retracted, I believe this 
could lead far too easily to insecure implementations that only compare 
the id value, making the technically unspoofable xep359 stanza-id 
spoofable again [1]. Therefore I would strongly consider making it 
mandatory and explicit.


- Flow


1: Similar to the insecure carbons implementations we saw in the wild.
___
Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: standards-unsubscr...@xmpp.org
___


Re: [Standards] XEP-0424: Message Retraction - Remove Fastening

2023-02-19 Thread JC Brand

Hi Daniel

Thanks for bringing this up again. This was also the feedback when the 
XEP was reviewed by council about 2 (!) years ago.


As one of the XEP authors, I've gone ahead and made a PR with the change.
https://github.com/xsf/xeps/pull/1270

The next XEP, 0425 'Message Moderation' is related and similar and also 
relies on fastenings. I'll look into remove them there as well.


Regards
JC

On 13.02.23 16:57, Daniel Gultsch wrote:

Hi,

I’m currently looking at implementing 'Message Retraction' and I think
it should get rid of Fastening.

I mentioned it during Summit and while it wasn’t discussed much
further my comment also didn’t get much protest: I think Fastening is
dead.

A general purpose approach doesn’t seem to work for MAM.

Luckily I think removing it from Retraction is fairly simple.

We can just stick the ID into the retract element and send something



All the business rules and much of the wording can remain intact for now.

(I think long term we might want to adopt the ID rules from Replies;
but that can be a different discussion)

If people are happy with that suggestion (to get rid of Fastening) I
think I can very easily make a PR.

cheers
Daniel
___
Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: standards-unsubscr...@xmpp.org
___

___
Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: standards-unsubscr...@xmpp.org
___


Re: [Standards] XEP-0424: Message Retraction - Remove Fastening

2023-02-14 Thread Nicolas Cedilnik

Hi Daniel,

If fastening is dead indeed, but retraction is not, I think it's 
reasonable to remove references to fastening in retraction.






Looks good to me.

-- Nicolas


___
Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: standards-unsubscr...@xmpp.org
___


[Standards] XEP-0424: Message Retraction - Remove Fastening

2023-02-13 Thread Daniel Gultsch
Hi,

I’m currently looking at implementing 'Message Retraction' and I think
it should get rid of Fastening.

I mentioned it during Summit and while it wasn’t discussed much
further my comment also didn’t get much protest: I think Fastening is
dead.

A general purpose approach doesn’t seem to work for MAM.

Luckily I think removing it from Retraction is fairly simple.

We can just stick the ID into the retract element and send something



All the business rules and much of the wording can remain intact for now.

(I think long term we might want to adopt the ID rules from Replies;
but that can be a different discussion)

If people are happy with that suggestion (to get rid of Fastening) I
think I can very easily make a PR.

cheers
Daniel
___
Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: standards-unsubscr...@xmpp.org
___