Kim Alvefur
62d90ddef1
mod_pubsub, mod_pep: Ensure correct number of children of <item/> ( fixes #1496 )
6 years ago
Kim Alvefur
344f1b055c
mod_pubsub, mod_pep: Ensure correct number of children of <item/> ( fixes #1496 )
6 years ago
Kim Alvefur
3ab4eb0e10
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
4bdf3f20a9
mod_pep: Handle presence subscriptions in filter ( fixes #1372 )
...
Take two on 045209b41b3a
7 years ago
Kim Alvefur
efcd7d6902
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
71bdfa72d8
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
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
7 years ago
Kim Alvefur
7fa656b0d4
mod_pep: Remove feature for persistence already added elsewere
...
This is added in pubsub.lib
7 years ago
Kim Alvefur
ee3ab5b20c
mod_pep: Remove already included access model feature
...
access-* is added in pubsub.lib based on node defaults
7 years ago
Kim Alvefur
a8ade3cfc2
mod_pep: Respect setting for whether to include payload in notifications
7 years ago
Kim Alvefur
93c1672af7
mod_pep: Respect settings for which kinds of notifications to send
7 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.
7 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