http://jabber.org/protocol/pubsub#config-node-max not checked #248

Closed
opened 3 months ago by .wojtek · 3 comments

It seems that moxxy uses "max" value for pubsub#max_items even though pubsub doesn't advertise http://jabber.org/protocol/pubsub#config-node-max feature.

It seems that moxxy uses "max" value for `pubsub#max_items` even though pubsub doesn't advertise `http://jabber.org/protocol/pubsub#config-node-max` feature.
PapaTutuWawa added the
bug
moxxmpp
labels 3 months ago
PapaTutuWawa added this to the Alpha Release 0.5.0 project 3 months ago
Owner

That is weird as I do check for the disco feature here. If you know what JID is being attempted to publish against, could you maybe catch the disco#info response from that entity so I can try to write a test to reproduce this behaviour?

That is weird as I do check for the disco feature [here](https://codeberg.org/moxxy/moxxmpp/src/branch/master/packages/moxxmpp/lib/src/xeps/xep_0060/xep_0060.dart#L138). If you know what JID is being attempted to publish against, could you maybe catch the disco#info response from that entity so I can try to write a test to reproduce this behaviour?
Poster

OK. It may be slightly more convoluted. It happened yesterday when I tested Moxxy 0.4.1 with my tigase.im account - it tried to publish OMEMO keys and triggered an exception on the server. Now - I checked that the feaures are not available for PEP on that account but... there is a slight chance that the node could have been created previously but different app (but this is quite unlikely because I only use BeagleIM, in which I don't use OMEMO nor does it support "urn:xmpp:omemo:2:bundles" and I ran Psi+, in which I don't have OMEMO enabled).
I checked the database and the node was created yesterday and the timestamp seems to coincide with the moxxy run (I had opened Psi+ at the same time and connected to the account but had done so in the past as well and I don't have OMEMO enabled in Psi).

I do see that you check the feature, which makes it all the more so odd:

<iq type='get' id='86D3D315-9358-4A55-A11F-67811778BAA0' to='wojtek@tigase.im'>
<query xmlns='http://jabber.org/protocol/disco#info'/>
</iq>

<iq from='wojtek@tigase.im' type='result' to='wojtek@tigase.im/…' xmlns='jabber:client' id='86D3D315-9358-4A55-A11F-67811778BAA0'>
<query xmlns='http://jabber.org/protocol/disco#info'>
<identity category='account' type='registered'/>
<identity type='service' category='pubsub' name='PubSub acs-clustered'/>
<feature var='http://jabber.org/protocol/pubsub#retrieve-default'/>
<feature var='http://jabber.org/protocol/pubsub#purge-nodes'/>
<feature var='http://jabber.org/protocol/pubsub#subscribe'/>
<feature var='http://jabber.org/protocol/pubsub#member-affiliation'/>
<feature var='http://jabber.org/protocol/pubsub#subscription-notifications'/>
<feature var='http://jabber.org/protocol/pubsub#create-nodes'/>
<feature var='http://jabber.org/protocol/pubsub#outcast-affiliation'/>
<feature var='http://jabber.org/protocol/pubsub#get-pending'/>
<feature var='http://jabber.org/protocol/pubsub#presence-notifications'/>
<feature var='urn:xmpp:ping'/>
<feature var='http://jabber.org/protocol/pubsub#delete-nodes'/>
<feature var='http://jabber.org/protocol/pubsub#config-node'/>
<feature var='http://jabber.org/protocol/pubsub#retrieve-items'/>
<feature var='http://jabber.org/protocol/pubsub#access-whitelist'/>
<feature var='http://jabber.org/protocol/pubsub#access-presence'/>
<feature var='http://jabber.org/protocol/disco#items'/>
<feature var='http://jabber.org/protocol/pubsub#meta-data'/>
<feature var='http://jabber.org/protocol/pubsub#multi-items'/>
<feature var='http://jabber.org/protocol/pubsub#item-ids'/>
<feature var='urn:xmpp:mam:1'/>
<feature var='http://jabber.org/protocol/pubsub#instant-nodes'/>
<feature var='urn:xmpp:mam:2'/>
<feature var='urn:xmpp:mam:2#extended'/>
<feature var='http://jabber.org/protocol/pubsub#modify-affiliations'/>
<feature var='http://jabber.org/protocol/pubsub#multi-collection'/>
<feature var='http://jabber.org/protocol/pubsub#persistent-items'/>
<feature var='http://jabber.org/protocol/pubsub#create-and-configure'/>
<feature var='http://jabber.org/protocol/pubsub#publisher-affiliation'/>
<feature var='http://jabber.org/protocol/pubsub#access-open'/>
<feature var='http://jabber.org/protocol/pubsub#retrieve-affiliations'/>
<feature var='http://jabber.org/protocol/pubsub#access-authorize'/>
<feature var='jabber:iq:version'/>
<feature var='http://jabber.org/protocol/pubsub#retract-items'/>
<feature var='http://jabber.org/protocol/pubsub#manage-subscriptions'/>
<feature var='http://jabber.org/protocol/commands'/>
<feature var='http://jabber.org/protocol/pubsub#auto-subscribe'/>
<feature var='http://jabber.org/protocol/pubsub#publish-options'/>
<feature var='http://jabber.org/protocol/pubsub#access-roster'/>
<feature var='http://jabber.org/protocol/pubsub#publish'/>
<feature var='http://jabber.org/protocol/pubsub#collections'/>
<feature var='http://jabber.org/protocol/pubsub#retrieve-subscriptions'/>
<feature var='http://jabber.org/protocol/disco#info'/>
<x type='result' xmlns='jabber:x:data'>
<field type='hidden' var='FORM_TYPE'>
<value>http://jabber.org/network/serverinfo</value>
</field>
<field type='list-multi' var='abuse-addresses'>
<value>mailto:support@tigase.net</value>
<value>xmpp:tigase@mix.tigase.im</value>
<value>xmpp:tigase@muc.tigase.org</value>
<value>https://tigase.net/technical-support</value>
</field>
</x>
<feature var='http://jabber.org/protocol/pubsub#auto-create'/>
<feature var='http://jabber.org/protocol/pubsub#auto-subscribe'/>
<feature var='urn:xmpp:mix:pam:2'/>
<feature var='urn:xmpp:carbons:2'/>
<feature var='urn:xmpp:carbons:rules:0'/>
<feature var='jabber:iq:auth'/>
<feature var='vcard-temp'/>
<feature var='http://jabber.org/protocol/amp'/>
<feature var='msgoffline'/>
<feature var='http://jabber.org/protocol/disco#info'/>
<feature var='http://jabber.org/protocol/disco#items'/>
<feature var='urn:xmpp:blocking'/>
<feature var='urn:xmpp:reporting:0'/>
<feature var='urn:xmpp:reporting:abuse:0'/>
<feature var='urn:xmpp:reporting:spam:0'/>
<feature var='urn:xmpp:reporting:1'/>
<feature var='urn:xmpp:ping'/>
<feature var='urn:ietf:params:xml:ns:xmpp-sasl'/>
<feature var='http://jabber.org/protocol/pubsub'/>
<feature var='http://jabber.org/protocol/pubsub#owner'/>
<feature var='http://jabber.org/protocol/pubsub#publish'/>
<identity type='pep' category='pubsub'/>
<feature var='urn:xmpp:pep-vcard-conversion:0'/>
<feature var='urn:xmpp:bookmarks-conversion:0'/>
<feature var='urn:xmpp:archive:auto'/>
<feature var='urn:xmpp:archive:manage'/>
<feature var='urn:xmpp:push:0'/>
<feature var='tigase:push:away:0'/>
<feature var='tigase:push:encrypt:0'/>
<feature var='tigase:push:encrypt:aes-128-gcm'/>
<feature var='tigase:push:filter:ignore-unknown:0'/>
<feature var='tigase:push:filter:groupchat:0'/>
<feature var='tigase:push:filter:muted:0'/>
<feature var='tigase:push:priority:0'/>
<feature var='tigase:push:jingle:0'/>
<feature var='jabber:iq:roster'/>
<feature var='jabber:iq:roster-dynamic'/>
<feature var='urn:xmpp:mam:1'/>
<feature var='urn:xmpp:mam:2'/>
<feature var='urn:xmpp:mam:2#extended'/>
<feature var='urn:xmpp:mix:pam:2#archive'/>
<feature var='jabber:iq:version'/>
<feature var='urn:xmpp:time'/>
<feature var='jabber:iq:privacy'/>
<feature var='urn:ietf:params:xml:ns:xmpp-bind'/>
<feature var='urn:xmpp:extdisco:2'/>
<feature var='http://jabber.org/protocol/commands'/>
<feature var='urn:ietf:params:xml:ns:vcard-4.0'/>
<feature var='jabber:iq:private'/>
<feature var='urn:ietf:params:xml:ns:xmpp-session'/>
</query>
</iq>
OK. It may be slightly more convoluted. It happened yesterday when I tested Moxxy 0.4.1 with my tigase.im account - it tried to publish OMEMO keys and triggered an exception on the server. Now - I checked that the feaures are not available for PEP on that account but... there is a slight chance that the node could have been created previously but different app (but this is quite unlikely because I only use BeagleIM, in which I don't use OMEMO nor does it support "urn:xmpp:omemo:2:bundles" and I ran Psi+, in which I don't have OMEMO enabled). I checked the database and the node was created yesterday and the timestamp seems to coincide with the moxxy run (I had opened Psi+ at the same time and connected to the account but had done so in the past as well and I don't have OMEMO enabled in Psi). I do see that you check the feature, which makes it all the more so odd: ``` <iq type='get' id='86D3D315-9358-4A55-A11F-67811778BAA0' to='wojtek@tigase.im'> <query xmlns='http://jabber.org/protocol/disco#info'/> </iq> <iq from='wojtek@tigase.im' type='result' to='wojtek@tigase.im/…' xmlns='jabber:client' id='86D3D315-9358-4A55-A11F-67811778BAA0'> <query xmlns='http://jabber.org/protocol/disco#info'> <identity category='account' type='registered'/> <identity type='service' category='pubsub' name='PubSub acs-clustered'/> <feature var='http://jabber.org/protocol/pubsub#retrieve-default'/> <feature var='http://jabber.org/protocol/pubsub#purge-nodes'/> <feature var='http://jabber.org/protocol/pubsub#subscribe'/> <feature var='http://jabber.org/protocol/pubsub#member-affiliation'/> <feature var='http://jabber.org/protocol/pubsub#subscription-notifications'/> <feature var='http://jabber.org/protocol/pubsub#create-nodes'/> <feature var='http://jabber.org/protocol/pubsub#outcast-affiliation'/> <feature var='http://jabber.org/protocol/pubsub#get-pending'/> <feature var='http://jabber.org/protocol/pubsub#presence-notifications'/> <feature var='urn:xmpp:ping'/> <feature var='http://jabber.org/protocol/pubsub#delete-nodes'/> <feature var='http://jabber.org/protocol/pubsub#config-node'/> <feature var='http://jabber.org/protocol/pubsub#retrieve-items'/> <feature var='http://jabber.org/protocol/pubsub#access-whitelist'/> <feature var='http://jabber.org/protocol/pubsub#access-presence'/> <feature var='http://jabber.org/protocol/disco#items'/> <feature var='http://jabber.org/protocol/pubsub#meta-data'/> <feature var='http://jabber.org/protocol/pubsub#multi-items'/> <feature var='http://jabber.org/protocol/pubsub#item-ids'/> <feature var='urn:xmpp:mam:1'/> <feature var='http://jabber.org/protocol/pubsub#instant-nodes'/> <feature var='urn:xmpp:mam:2'/> <feature var='urn:xmpp:mam:2#extended'/> <feature var='http://jabber.org/protocol/pubsub#modify-affiliations'/> <feature var='http://jabber.org/protocol/pubsub#multi-collection'/> <feature var='http://jabber.org/protocol/pubsub#persistent-items'/> <feature var='http://jabber.org/protocol/pubsub#create-and-configure'/> <feature var='http://jabber.org/protocol/pubsub#publisher-affiliation'/> <feature var='http://jabber.org/protocol/pubsub#access-open'/> <feature var='http://jabber.org/protocol/pubsub#retrieve-affiliations'/> <feature var='http://jabber.org/protocol/pubsub#access-authorize'/> <feature var='jabber:iq:version'/> <feature var='http://jabber.org/protocol/pubsub#retract-items'/> <feature var='http://jabber.org/protocol/pubsub#manage-subscriptions'/> <feature var='http://jabber.org/protocol/commands'/> <feature var='http://jabber.org/protocol/pubsub#auto-subscribe'/> <feature var='http://jabber.org/protocol/pubsub#publish-options'/> <feature var='http://jabber.org/protocol/pubsub#access-roster'/> <feature var='http://jabber.org/protocol/pubsub#publish'/> <feature var='http://jabber.org/protocol/pubsub#collections'/> <feature var='http://jabber.org/protocol/pubsub#retrieve-subscriptions'/> <feature var='http://jabber.org/protocol/disco#info'/> <x type='result' xmlns='jabber:x:data'> <field type='hidden' var='FORM_TYPE'> <value>http://jabber.org/network/serverinfo</value> </field> <field type='list-multi' var='abuse-addresses'> <value>mailto:support@tigase.net</value> <value>xmpp:tigase@mix.tigase.im</value> <value>xmpp:tigase@muc.tigase.org</value> <value>https://tigase.net/technical-support</value> </field> </x> <feature var='http://jabber.org/protocol/pubsub#auto-create'/> <feature var='http://jabber.org/protocol/pubsub#auto-subscribe'/> <feature var='urn:xmpp:mix:pam:2'/> <feature var='urn:xmpp:carbons:2'/> <feature var='urn:xmpp:carbons:rules:0'/> <feature var='jabber:iq:auth'/> <feature var='vcard-temp'/> <feature var='http://jabber.org/protocol/amp'/> <feature var='msgoffline'/> <feature var='http://jabber.org/protocol/disco#info'/> <feature var='http://jabber.org/protocol/disco#items'/> <feature var='urn:xmpp:blocking'/> <feature var='urn:xmpp:reporting:0'/> <feature var='urn:xmpp:reporting:abuse:0'/> <feature var='urn:xmpp:reporting:spam:0'/> <feature var='urn:xmpp:reporting:1'/> <feature var='urn:xmpp:ping'/> <feature var='urn:ietf:params:xml:ns:xmpp-sasl'/> <feature var='http://jabber.org/protocol/pubsub'/> <feature var='http://jabber.org/protocol/pubsub#owner'/> <feature var='http://jabber.org/protocol/pubsub#publish'/> <identity type='pep' category='pubsub'/> <feature var='urn:xmpp:pep-vcard-conversion:0'/> <feature var='urn:xmpp:bookmarks-conversion:0'/> <feature var='urn:xmpp:archive:auto'/> <feature var='urn:xmpp:archive:manage'/> <feature var='urn:xmpp:push:0'/> <feature var='tigase:push:away:0'/> <feature var='tigase:push:encrypt:0'/> <feature var='tigase:push:encrypt:aes-128-gcm'/> <feature var='tigase:push:filter:ignore-unknown:0'/> <feature var='tigase:push:filter:groupchat:0'/> <feature var='tigase:push:filter:muted:0'/> <feature var='tigase:push:priority:0'/> <feature var='tigase:push:jingle:0'/> <feature var='jabber:iq:roster'/> <feature var='jabber:iq:roster-dynamic'/> <feature var='urn:xmpp:mam:1'/> <feature var='urn:xmpp:mam:2'/> <feature var='urn:xmpp:mam:2#extended'/> <feature var='urn:xmpp:mix:pam:2#archive'/> <feature var='jabber:iq:version'/> <feature var='urn:xmpp:time'/> <feature var='jabber:iq:privacy'/> <feature var='urn:ietf:params:xml:ns:xmpp-bind'/> <feature var='urn:xmpp:extdisco:2'/> <feature var='http://jabber.org/protocol/commands'/> <feature var='urn:ietf:params:xml:ns:vcard-4.0'/> <feature var='jabber:iq:private'/> <feature var='urn:ietf:params:xml:ns:xmpp-session'/> </query> </iq> ```
PapaTutuWawa added the
needs investigation
label 3 months ago
Owner

Thank you for the disco info! It turns out, while I was checking for support, I accidentally used the original publish options instead of the ones that work around missing support for 'max'.

The issue is now fixed in moxxmpp (moxxy/moxxmpp#33), and I only have to update the version used by Moxxy.

EDIT: I'll leave this issue open until I updated the used version of moxxmpp.

Thank you for the disco info! It turns out, while I was checking for support, I accidentally used the original publish options instead of the ones that work around missing support for 'max'. The issue is now fixed in moxxmpp (moxxy/moxxmpp#33), and I only have to update the version used by Moxxy. **EDIT**: I'll leave this issue open until I updated the used version of moxxmpp.
PapaTutuWawa removed the
needs investigation
label 3 months ago
PapaTutuWawa referenced this issue from a commit 2 months ago
PapaTutuWawa closed this issue 2 months ago
Sign in to join this conversation.
No Milestone
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: moxxy/moxxy#248
Loading…
There is no content yet.