Open dansebcar opened 5 months ago
Same with 23.10 from backports?
Yes, I installed 23.10-1~bpo12+1 and I still receive the <message type="headline">
.
The server MUST NOT send notifications related to any NodeIDs that the contact's client has not asked for via the relevant "NodeID+notify" disco#info feature.
My understanding is that this clause is limited to the context of +notify
subscriptions. The server must obviously still send notifications to explicit subscribers, for example. And, if auto-subscribe is supported (which it is for ejabberd's PEP), the spec says:
A service MAY auto-subscribe owners and publishers if they are not already subscribed
I'd guess that's what you're running into here.
However, I'd expect the owner to be able to explicitly unsubscribe, which we currently don't support in the PEP case. I think that's a bug (but unfortunately not trivial to fix).
Environment
erl +V
13.1.5Bug description
In the below C program, I publish some text to the
http://jabber.org/protocol/activity
PEP node every second. After each publish, I receive a<message type="headline" />
with a copy of the content (because I am implicitly subscribed to my own PEP node). I would not like to receive those.Following XEP 0115, I declare my entity capabilities with the verification string
iaTkyKUZtplRPLviKWlgoSGj+Do=
corresponding to no capabilities (it's the base64 SHA-1 ofclient/bot//<
). Ejabberd then asks for my capabilities, and I respond with<identity type="bot" category="client"/>
, no<feature var='http://jabber.org/protocol/activity+notify'/>
as in XEP 0060. But I still receive the notifications. This contradicts:(Also, I notice that the
disco#info
is only sent from the server to the client once per SHA-1 hash. I tried settingmod_caps: { use_cache: false }
on the server but it didn't ask again. It only asks again if I runsudo ejabberdctl clear_cache
on the server. Should I open a separate issue about that?)Here are the libstrophe debug logs:
And here is the program: