drop support for deprecated xep-0091 in favor of xep-0203

Bug #504895 reported by buzzdee
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Coccinella
In Progress
Low
buzzdee

Bug Description

XEP-0091 Legacy delayed delivery was obsoleted on 2009-05-27.
XEP-0203 is the successor.
Coccinella should switch to support the successor.

http://xmpp.org/extensions/xep-0091.html
http://xmpp.org/extensions/xep-0203.html

buzzdee (sebastia)
Changed in coccinella:
assignee: buzzdee (buzzdee) → buzzdee (sebastia)
buzzdee (sebastia)
Changed in coccinella:
milestone: 0.96.18 → 0.96.20
Revision history for this message
buzzdee (sebastia) wrote :

The old xmlns used in XEP-0091 was "jabber:x:delay", the new used in XEP-203 is "urn:xmpp:delay".

In the old XEP, a X element was used, which now is a delay element.

The timestamp in the new XEP now conforms to XEP-082.

following list of files refers to the old jabber:x:delay namespace:
components/Notifier.tcl: set delay [::Jabber::Jlib roster getx $jid "jabber:x:delay"]
components/Growl.tcl: set delay [::Jabber::RosterCmd getx $jid "jabber:x:delay"]
jabber/RosterTree.tcl: set delay [::Jabber::Jlib roster getx $jid "jabber:x:delay"]
jabber/Roster.tcl: $attrArr(-x) x "jabber:x:delay"]
jabber/Jabber.tcl: jabber:x:delay "Object delayed"
jabber/Jabber.tcl:# Takes a list of x-elements, finds any 'jabber:x:delay' x-element.
jabber/Jabber.tcl:# jabber:x:delay stamp attribute or empty. This is ISO 8601.
jabber/Jabber.tcl: set delayList [wrapper::getnamespacefromchilds $xlist x "jabber:x:delay"]
jabber/Jabber.tcl: set xE [wrapper::getfirstchildwithxmlns $xmldata "jabber:x:delay"]
jabber/MailBox.tcl: # Here we should probably check som 'jabber:x:delay' element...
jabber/Chat.tcl: set xattr [list xmlns jabber:x:delay from $from stamp $time]
jabberlib/roster.tcl: set xmlns "jabber:x:delay"

the following list of files seems to refer to the "stamp" attribute:

jabber/RosterTree.tcl: set stamp [wrapper::getattribute $delay stamp]
jabber/RosterTree.tcl: set tstr [::Utils::SmartClockFormat [clock scan $stamp -timezone :UTC]]
jabber/Jabber.tcl:# jabber:x:delay stamp attribute or empty. This is ISO 8601.
jabber/Jabber.tcl: if {[info exists attrArr(stamp)]} {
jabber/Jabber.tcl: set ans $attrArr(stamp)
jabber/Jabber.tcl: return [wrapper::getattribute $xE stamp]
jabber/MailBox.tcl: set stamp [::Jabber::GetDelayStamp $xmldata]
jabber/MailBox.tcl: if {$stamp ne ""} {
jabber/MailBox.tcl: set secs [clock scan $stamp -timezone :UTC]
jabber/MailBox.tcl: set stamp [::Jabber::GetDelayStamp $xmldata]
jabber/MailBox.tcl: if {$stamp ne ""} {
jabber/MailBox.tcl: set secs [clock scan $stamp -timezone :UTC]
jabber/MailBox.tcl: set stamp [::Jabber::GetDelayStamp $xmldata]
jabber/MailBox.tcl: if {$stamp ne ""} {
jabber/MailBox.tcl: set secs [clock scan $stamp -timezone :UTC]
jabber/Chat.tcl:# (via the 'stamp' attribute), as well as JID of the original sender of
jabber/Chat.tcl: set xattr [list xmlns jabber:x:delay from $from stamp $time]
jabber/GroupChat.tcl: set stamp [::Jabber::GetDelayStamp $xmldata]
jabber/GroupChat.tcl: if {$stamp ne ""} {
jabber/GroupChat.tcl: set secs [clock scan $stamp -timezone :UTC]
jabber/History.tcl: set stamp [::Jabber::GetDelayStamp $xmppE]
jabber/History.tcl: if {$stamp ne ""} {
jabber/History.tcl: set secs [clock scan $stamp -timezone :UTC]
jabberlib/roster.tcl: set stamp [wrapper::getattribute $presA($jid,x,$xmlns) stamp]
jabberlib/roster.tcl: set time [clock scan $stamp -timezone :UTC]

Revision history for this message
buzzdee (sebastia) wrote :

The delay element of a message is retrieved via ::Jabber::GetDelayStamp, and is used here:

jabber/Jabber.tcl:proc ::Jabber::GetDelayStamp {xmldata} {
jabber/MailBox.tcl: set stamp [::Jabber::GetDelayStamp $xmldata]
jabber/MailBox.tcl: set stamp [::Jabber::GetDelayStamp $xmldata]
jabber/MailBox.tcl: set stamp [::Jabber::GetDelayStamp $xmldata]
jabber/MailBox.tcl: set tm [::Jabber::GetDelayStamp $xmldata]
jabber/Chat.tcl: set tm [::Jabber::GetDelayStamp $xmldata]
jabber/GroupChat.tcl: set stamp [::Jabber::GetDelayStamp $xmldata]
jabber/History.tcl: set stamp [::Jabber::GetDelayStamp $xmppE]

Or delayed information is retrieved from the roster:
::Jabber::RosterCmd getx
::Jabber::Jlib roster getx

As far as I can see, Coccinella only needs to interpret received delay stamps, so its not sending out the delay stamps.

Changed in coccinella:
status: New → In Progress
buzzdee (sebastia)
Changed in coccinella:
milestone: 0.96.20 → 0.96.22
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.