Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | util.stanza + tests: Bail out of loop if we are iterating too far, fixes #981 | Matthew Wild | 2018-08-19 | 1 | -0/+6 |
| | |||||
* | util.startup: Set flag when config fully loaded | Matthew Wild | 2018-08-19 | 1 | -0/+1 |
| | |||||
* | util.pubsub, pubsub.lib: Improve error on attempt to publish invalid item | Matthew Wild | 2018-08-18 | 1 | -1/+1 |
| | |||||
* | Pubsub: Add tests for :get_last_item() and fix for non-persistent nodes | Matthew Wild | 2018-08-18 | 1 | -1/+1 |
| | |||||
* | util.pubsub: Fix whitespace [luacheck] | Matthew Wild | 2018-08-18 | 1 | -1/+1 |
| | |||||
* | Backed out changeset 27d800ddc3b0 (see below) | Matthew Wild | 2018-08-18 | 1 | -2/+2 |
| | | | | | | | | | It's uncertain whether item not existing should be success and nil, or fail with an error. XEP-0060's "fetch most recent item" actually fetches a list of up to N items. N here is a maximum, not a minimum. The feeling is that no items is simply an empty list, not a failure of the operation. | ||||
* | util.pubsub: get_last_item(): Fail with item-not-found if no item yet published | Matthew Wild | 2018-08-18 | 1 | -2/+2 |
| | |||||
* | util.pubsub: get_last_item(): Return error if node does not exist | Matthew Wild | 2018-08-18 | 1 | -0/+6 |
| | |||||
* | pubsub.lib, util.pubsub: Move precondition checks to util.pubsub | Matthew Wild | 2018-08-18 | 1 | -2/+17 |
| | |||||
* | util.pubsub: Add comment to clarify return values | Matthew Wild | 2018-08-18 | 1 | -0/+1 |
| | |||||
* | util.pubsub: Pass "retract" as the type of such broadcasts | Kim Alvefur | 2018-08-16 | 1 | -1/+1 |
| | | | | | | | | 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. | ||||
* | util.async: Remove sleep function | Kim Alvefur | 2018-08-12 | 1 | -8/+0 |
| | | | | | Dependency on util.timer indirectly caused net.server to be initialized before the config was read, so server_select was always chosen. | ||||
* | util.pubsub: Allow outcasts to get their subscription status | Matthew Wild | 2018-08-12 | 1 | -0/+2 |
| | |||||
* | util.time: Convert to C | Kim Alvefur | 2017-03-09 | 1 | -8/+0 |
| | |||||
* | util.pubsub: For open nodes, default affiliation is "member" | Matthew Wild | 2018-08-09 | 1 | -1/+1 |
| | | | | | | | | | This allows entities without an explicit affiliation to retrieve items, which is specified by the XEP. Table 6: "Node Access Models" states that for 'open' nodes, "any entity may retrieve items from the node". See also discussion at: https://mail.jabber.org/pipermail/standards/2018-August/035320.html | ||||
* | mod_pep, util.pubsub: Rename restricted->outcast, none->member and add new ↵ | Matthew Wild | 2018-08-08 | 1 | -2/+24 |
| | | | | 'none' affiliation to better match XEP-0060 | ||||
* | mod_pubsub, mod_pep, util.pubsub: Move capability definitions into ↵ | Matthew Wild | 2018-08-08 | 1 | -1/+77 |
| | | | | util.pubsub to avoid duplication | ||||
* | util.pubsub: Include node defaults from current service object | Kim Alvefur | 2018-08-07 | 1 | -0/+3 |
| | |||||
* | util.pubsub: Re-check all subscriptions on access_model change, ↵ | Kim Alvefur | 2018-08-06 | 1 | -0/+12 |
| | | | | unsubscribing those no longer allowed | ||||
* | util.pubsub: Add support for publish_model config option | Matthew Wild | 2018-08-06 | 1 | -1/+14 |
| | |||||
* | util.dataforms: Allow passing the current values to be used in stead of ↵ | Kim Alvefur | 2018-08-05 | 1 | -2/+4 |
| | | | | omitted fields | ||||
* | util.pubsub: Apply defaults metatable before config check (thanks pep.) | Kim Alvefur | 2018-08-05 | 1 | -1/+3 |
| | | | | | Makes it so that the callback sees the default if it’s not in the form, which makes it easier to validate. | ||||
* | util.dataforms: Normalize indentation | Kim Alvefur | 2018-08-04 | 1 | -3/+3 |
| | |||||
* | util.pubsub: Add method to retrieve node configuration | Matthew Wild | 2018-08-04 | 1 | -0/+21 |
| | |||||
* | util.pubsub: Use service.node_defaults in case config.node_defaults was not ↵ | Matthew Wild | 2018-08-04 | 1 | -1/+1 |
| | | | | provided (thanks jonasw) | ||||
* | util.pubsub: Tweak default affiliation of access models (fixes failing test) | Matthew Wild | 2018-08-04 | 1 | -2/+2 |
| | | | | | | | | | | | 11:56:59 MattJ> Someone who has the ability to subscribe does not have the "subscriber" affiliation until they actually subscribe, they just have the normal "none" affiliation (which has permission to subscribe) 11:58:05 MattJ> However if the access model is whitelist, then anyone not on the whitelist has an implicit negative affiliation, which we don't currently have, so I just named "restricted" 11:58:16 MattJ> Since it doesn't exist in any code yet, it has no permissions | ||||
* | util.pubsub: Look for a configured callback for more complicated access models | Kim Alvefur | 2018-08-04 | 1 | -0/+10 |
| | |||||
* | util.pubsub: Add initial support for configurable access models | Kim Alvefur | 2018-08-04 | 1 | -4/+17 |
| | |||||
* | util.dataforms: Only allow overriding of options when passed via the :form ↵ | Kim Alvefur | 2018-08-03 | 1 | -9/+8 |
| | | | | method | ||||
* | util.dataforms: Allow overriding default options even if the form has such | Kim Alvefur | 2018-08-03 | 1 | -1/+1 |
| | |||||
* | util.dataforms: Allow passing dynamically generated options as values (fixes ↵ | Kim Alvefur | 2018-08-03 | 1 | -2/+9 |
| | | | | | | | traceback) This is awkward but there’s currently no better way to do this, short of dynamically generating the entire form each time | ||||
* | util.dataforms: Exclude descriptive text fields from forms of type 'submit' | Kim Alvefur | 2018-08-03 | 1 | -9/+13 |
| | | | | | The receiving end presumably already have the original form, so these potentially long text fields are of little value. | ||||
* | util.dataforms: Skip all fields for the 'cancel' form type | Kim Alvefur | 2018-08-03 | 1 | -0/+3 |
| | | | | | | | | | | | XEP-0004 says: > a data form of type "cancel" SHOULD NOT contain any <field/> elements. The title and instructions don't seem to be of much value in this case either. I'm not aware of 'cancel' being used anywhere, so this should break nothing. Early return is always nice. | ||||
* | util.dataforms: Only include options in 'form' type forms | Kim Alvefur | 2018-08-03 | 1 | -1/+1 |
| | | | | Options should not be needed in other types of forms. | ||||
* | util.dataforms: Set default value for form type argument | Kim Alvefur | 2018-08-03 | 1 | -1/+2 |
| | |||||
* | util.dataforms: Detach generation of options from values (fixes #1177) | Kim Alvefur | 2018-08-03 | 1 | -30/+21 |
| | |||||
* | util.pubsub: Add support for a config validation function | Matthew Wild | 2018-08-01 | 1 | -0/+7 |
| | |||||
* | util.xmppstream: Explicitly release old parser object on stream reset | Matthew Wild | 2018-07-31 | 1 | -1/+6 |
| | |||||
* | util.serialization: Tighten up type checks | Kim Alvefur | 2018-07-29 | 1 | -2/+2 |
| | |||||
* | util.vcard: Use the new :text_tag API in more places | Kim Alvefur | 2018-07-26 | 1 | -8/+8 |
| | |||||
* | util.vcard: Include values of 'properties' (eg PHOTO TYPE) in vcard-temp ↵ | Kim Alvefur | 2018-07-25 | 1 | -3/+5 |
| | | | | serialization | ||||
* | util.dataforms: Ensure fields have names when collecting data (fixes ↵ | Kim Alvefur | 2018-07-15 | 1 | -1/+1 |
| | | | | traceback, thanks Martin) | ||||
* | util.pubsub: Support for returning *all* subscriptions | Kim Alvefur | 2018-07-13 | 1 | -21/+31 |
| | |||||
* | util.xmppstream: Perfom validation of XML declaration parameters | Matthew Wild | 2018-07-11 | 1 | -10/+13 |
| | |||||
* | util.serialization: Rewritte for performance and flexibility | Kim Alvefur | 2018-07-10 | 1 | -58/+238 |
| | | | | ... and because rewrites are fun! | ||||
* | Merge 0.10->trunk | Kim Alvefur | 2018-07-08 | 1 | -0/+10 |
|\ | |||||
| * | util.stanza: Add method for removing all children with a specific name, xmlns | Kim Alvefur | 2018-07-08 | 1 | -0/+10 |
| | | |||||
* | | util.{async,timer}: Move sleep() to reduce dependencies of util.timer | Kim Alvefur | 2018-07-08 | 2 | -8/+8 |
| | | |||||
* | | util.dataforms: More robust handling of field values, especially booleans | Matthew Wild | 2018-07-07 | 1 | -2/+7 |
| | | | | | | | | | | Ensure that a non-nil data[field_name] always overrides the field's default, and that values of boolean 'false' are always rendered in the form. | ||||
* | | MUC: Add config option to allow members to invite other members to the room ↵ | Matthew Wild | 2018-07-06 | 1 | -2/+2 |
| | | | | | | | | (previously only owners/admins could do this) |