Kim Alvefur
62d90ddef1
mod_pubsub, mod_pep: Ensure correct number of children of <item/> ( fixes #1496 )
6 years ago
Kim Alvefur
dfdc2502ee
mod_pep: Handle presence subscriptions in filter ( fixes #1372 )
...
Take two on 045209b41b3a
7 years ago
Kim Alvefur
a4764762b3
mod_pep: Revert 045209b41b3a, caused a regression
...
Adding in all presence based subscriptions in the broadcaster caused
resend_last_item() to unintentionally send out more notifications than
it should have.
7 years ago
Kim Alvefur
3b49129ad4
mod_pep: Handle presence based subscription outside of util.pubsub ( fixes #1372 )
...
Subscriptions were updated for each incoming presence stanza from
contacts. Each subscription change triggered a configuration save, which
would filter out the presence based subscriptions and usually end up
replacing the existing data with identical data. With many subscribed
nodes this adds up to a fair bit of IO bound work that is avoided by
keeping them separate.
7 years ago
Kim Alvefur
9d51a572f8
mod_pep: Simplify configuration for node data ( fixes #1320 )
7 years ago
Kim Alvefur
027554ebcc
mod_pep: Log node name instead of payload
...
Having the node logged is more useful and less problematic for privacy
7 years ago
Kim Alvefur
18a51e456f
pubsub: Set pubsub#title as name attribute in disco#items ( fixes #1226 )
7 years ago
Kim Alvefur
0746dc3de2
mod_pep: Add automatic subscriptions on node creation ( fixes #1222 )
...
Replaces automatic node creation on subscription, since this casues
problems when trying to keep nodes private or other specific settings.
7 years ago
Kim Alvefur
4fc5888c32
mod_pep: Add PEP service owners username in configuration to ease identification
7 years ago
Kim Alvefur
985320dd47
mod_pep: Remove use of recipients table for signaling pending disco#items
...
It stored the caps hash as a string in the recipients table while
waiting for a disco#info response, then replaces it with the set of
nodes that had +notify.
This mixing of types is bad, so here it gets removed.
This can be improved once an IQ tracking API (#714 ) is added.
7 years ago
Kim Alvefur
6d2039efff
mod_pep: Add all pubsub service objects to item API in order to behave across reloads
7 years ago
Matthew Wild
df1abfdd10
mod_pep: Simplify code
8 years ago
Kim Alvefur
7fa656b0d4
mod_pep: Remove feature for persistence already added elsewere
...
This is added in pubsub.lib
8 years ago
Kim Alvefur
ee3ab5b20c
mod_pep: Remove already included access model feature
...
access-* is added in pubsub.lib based on node defaults
8 years ago
Kim Alvefur
a8ade3cfc2
mod_pep: Respect setting for whether to include payload in notifications
8 years ago
Kim Alvefur
93c1672af7
mod_pep: Respect settings for which kinds of notifications to send
8 years ago
Kim Alvefur
d4dd6144b0
util.pubsub: Pass "retract" as the type of such broadcasts
...
This moves some XEP-0060 awkwardness out of util.pubsub and into mod_pubsub
A retraction is broadcast in an <items> container, whereas most other
kinds of broadcasts are in a container with a name matching the 'kind'
attribute.
8 years ago
Kim Alvefur
68985af220
mod_pep: Handle disco#info queries to nodes ( fixes #805 )
9 years ago
Kim Alvefur
a1f3236d0f
mod_pep: Split long line [luacheck]
9 years ago
Matthew Wild
a657fb3dc9
mod_pep, util.pubsub: Rename restricted->outcast, none->member and add new 'none' affiliation to better match XEP-0060
8 years ago
Matthew Wild
c5a1a67f45
mod_pubsub, mod_pep, util.pubsub: Move capability definitions into util.pubsub to avoid duplication
8 years ago
Matthew Wild
caf9924d34
mod_pep: Add comment explaining 'none' affiliation
8 years ago
Matthew Wild
341f50a06b
mod_pep: Remove "subscriber" affiliation in favour of "none"
...
It ended up with identical capabilities to "none", and isn't a standard
affiliation defined by XEP-0060 anyway.
8 years ago
Kim Alvefur
6ef3f2a74d
mod_pep: Loosen restrictions on the "none" affiliation
...
This allows non-contacts access to data in nodes with the "open" access
model.
Thanks gerald
8 years ago
Kim Alvefur
ed0675b096
mod_pep: Change default affiliation in the "presence" access model to "restricted" for non-contacts
...
This lets us loosen the restrictions of the "none" affiliation, so that
the "open" access model allows anyone basic access.
8 years ago
Kim Alvefur
2ce46faa63
mod_pep: Add comment about 'hash_map' table
8 years ago
Kim Alvefur
873ba6dd77
mod_pep: Correct comment about 'recipients' table
8 years ago
Kim Alvefur
3178d9bebb
mod_pep: Pass 'recipients' table across module reloads
8 years ago
Kim Alvefur
85fc6826c7
mod_pep: Only resend last item on successful subscription
8 years ago
Kim Alvefur
4eed4f2c33
mod_pubsub, mod_pep: The "restricted" affiliation should be allowed to be unsubscribed but nothing else
...
Can't revoke their subscriptions on change of access model otherwise
8 years ago
Kim Alvefur
e8a41aaea3
mod_pep: Save non-presence based subscriptions to storage
8 years ago
Kim Alvefur
f182e76b40
mod_pep: Note which subscriptions are presence based as subscription option
8 years ago
Matthew Wild
bdef7c0606
mod_pep: Add 'get_configuration' capability to relevant affiliations
8 years ago
Kim Alvefur
ccb00c9a4f
mod_pep: Add comments describing root tables used for data
8 years ago
Kim Alvefur
637ecae676
mod_pep: Restrict access models to 'presence', 'whitelist' and 'open'
...
'roster' needs additional support to inspect roster groups
'authorize' is not implemented
8 years ago
Kim Alvefur
260f94ba39
mod_pep: Move subscriber check into 'presence' access model callback
8 years ago
Kim Alvefur
d2cb959dce
mod_pep: Set default access model to 'presence'
8 years ago
Kim Alvefur
60b3cc3a00
mod_pep: Return true if all node config checks passes (fixes configuration)
...
util.pubsub would treat the default nil return as falsy and reject all
attempts to configure nodes
8 years ago
Kim Alvefur
4d70f3f2a9
mod_pep: Silence warnings about unused arguments [luacheck]
8 years ago
Matthew Wild
1f3ce5cb0a
mod_pep: Add 'pep_max_items' option to set an upper limit, defaults to 256 (scientifically chosen)
8 years ago
Matthew Wild
ac5f82e4b6
mod_pep -> mod_pep_simple, mod_pep_plus -> mod_pep
8 years ago
Kim Alvefur
8e0beb7862
mod_pep: Remove unused variable [luacheck]
8 years ago
Kim Alvefur
6347a3f9bf
mod_pep: Rename variables to avoid name clash [luacheck]
8 years ago
Kim Alvefur
d3aabbace3
mod_pep: Move comment to a shorter line [luacheck]
8 years ago
Kim Alvefur
b1235c60a7
Fix spelling throughout the codebase [codespell]
8 years ago
Kim Alvefur
6eeaf9a9b6
mod_pep: Advertise pubsub features that I believe to be implented
8 years ago
Kim Alvefur
a5ff2ac216
mod_pep: Remove disco identity and feature from the host (changed in XEP-0163 version 1.2)
8 years ago
Kim Alvefur
06cc4e26b0
mod_pep: Add some additional debug logging
9 years ago
Kim Alvefur
e663152ccc
mod_pep: Only log when creating new pubsub services
...
Once upon a time get_pep_service() would get called with random bare
JIDs and remote hostnames, which is why it was logged this way. This
seems to have been fixed, so it's not as useful anymore. It's still
useful to know when it creates a new service object.
7 years ago
Kim Alvefur
cf0dc0690b
mod_pep: Use correct field for full JID (thanks Milan*)
10 years ago