Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | util.datamapper: Factor out extraction of the XML part to use | Kim Alvefur | 2021-03-20 | 2 | -80/+84 |
| | | | | | | | | So extract_value() takes an XML tag and details about which part we're interested in and returns that. Factoring this out will help with array implementation since this will be common behavior. | ||||
* | util.datamapper: Only get element name if there's an element | Kim Alvefur | 2021-03-19 | 2 | -2/+6 |
| | | | | Fixes error due to attempting to index a nil value | ||||
* | make: Magic trick for teal-src/*.tl -> ./*.lua | Kim Alvefur | 2021-03-19 | 1 | -1/+2 |
| | |||||
* | util.datamapper: Fix arrays nesting one level too deep | Kim Alvefur | 2021-03-19 | 3 | -25/+31 |
| | |||||
* | util.datamapper: Deal with type name changes in util.jsonschema | Kim Alvefur | 2021-03-19 | 2 | -30/+34 |
| | |||||
* | util.jsonschema: Rename types for improved readability | Kim Alvefur | 2021-03-18 | 3 | -30/+56 |
| | |||||
* | teal: Use new integer support in Teal 0.13.0 | Kim Alvefur | 2021-03-18 | 14 | -53/+57 |
| | |||||
* | util.datamapper: Limited support for unparsing simple arrays of strings | Kim Alvefur | 2021-03-18 | 3 | -19/+75 |
| | |||||
* | util.datamapper: Add initial support for parsing arrays | Kim Alvefur | 2021-03-18 | 3 | -19/+118 |
| | |||||
* | util.datamapper: Factor out common schema unpacking | Kim Alvefur | 2021-03-14 | 2 | -163/+110 |
| | | | | | This code extracts the bits from the schema that determines how the data is to be mapped to/from XML. | ||||
* | util.datamapper: Separate extraction of xml from coercion to target type | Kim Alvefur | 2021-03-14 | 2 | -68/+56 |
| | | | | | | Now it gets the text, attribute or name first, then turns it into whatever the schema wants. This should be easier to further factor out into preparation for array support. | ||||
* | util.datamapper: Use enum instead of mutually exclusive booleans | Kim Alvefur | 2021-03-14 | 2 | -40/+47 |
| | | | | Cleaner and rules out invalid combinations. | ||||
* | util.datamapper: Enumerated elements | Kim Alvefur | 2021-03-12 | 3 | -3/+49 |
| | | | | E.g. error conditions or chat states. | ||||
* | util.datamapper: Some TODOs | Kim Alvefur | 2021-03-10 | 1 | -0/+4 |
| | |||||
* | util.datamapper: Add references with notes | Kim Alvefur | 2021-03-10 | 2 | -0/+17 |
| | |||||
* | util.datamapper: Add Copyright header | Kim Alvefur | 2021-03-10 | 1 | -0/+6 |
| | |||||
* | util.jsonschema: Add copyright-header | Kim Alvefur | 2021-03-10 | 1 | -0/+9 |
| | |||||
* | util.jsonschema: Restructure "type" keyword handling | Kim Alvefur | 2021-03-09 | 2 | -18/+20 |
| | | | | More in line with the other tests | ||||
* | util.jsonschema: Syntax tweak to not upset syntax highlighting | Kim Alvefur | 2021-03-09 | 2 | -4/+4 |
| | | | | | That whole condition stanza was shown as angry red, I think it's something with 'enum' being a key word in Teal. | ||||
* | util.jsonschema: Implement "propertyNames" | Kim Alvefur | 2021-03-09 | 2 | -0/+13 |
| | | | | This is a bit special in Lua as tables are not limited to string keys | ||||
* | util.jsonschema: Restructure handling of "properties" and "additionalProperties" | Kim Alvefur | 2021-03-09 | 2 | -44/+16 |
| | | | | This is a bit cleaner, I think | ||||
* | util.jsonschema: Fix "uniqueItems" prematurely declaring a match | Kim Alvefur | 2021-03-09 | 2 | -2/+0 |
| | |||||
* | util.jsonschema: Implement the "prefixItems" keyword | Kim Alvefur | 2021-03-09 | 2 | -2/+25 |
| | | | | This may have been what got me confused about "items" being an array. | ||||
* | util.jsonschema: Implement the "contains" keyword | Kim Alvefur | 2021-03-09 | 2 | -1/+27 |
| | | | | And apparently I had mistaken this for an array | ||||
* | util.jsonschema: Allow a boolean as schema | Kim Alvefur | 2021-03-09 | 2 | -1/+7 |
| | | | | | | Apparently a schema must be either an object or a boolean. Not sure where I got this string shortcut from, but I think I will keep it as it is very convenient. | ||||
* | util.jsonschema: Correct "items" keyword | Kim Alvefur | 2021-03-09 | 2 | -25/+9 |
| | | | | | | Upon re-reading the JSON Schema spec, I found that 'items' wasn't a union of an array of schemas or a single schema, not sure where I got that from. | ||||
* | util.datamapper: Add support for mapping of elements where only one ↵ | Kim Alvefur | 2021-03-07 | 4 | -0/+76 |
| | | | | | | | attribute matters E.g. <feature var='foo'/> in XEP-0030 and some other simple specifications. | ||||
* | util.datamapper: Add logic for "boolean" tags here the presence means true | Kim Alvefur | 2021-03-07 | 3 | -6/+24 |
| | |||||
* | util.datamapper: Invent extension for using tag name as value | Kim Alvefur | 2021-03-06 | 4 | -9/+42 |
| | | | | | Useful for certain enum-like uses where the element name is the relevant information, e.g. chat states. | ||||
* | util.datamapper: Add 'unparse' for turning tables into XML | Kim Alvefur | 2021-03-07 | 3 | -2/+216 |
| | |||||
* | util.datamapper: Library for extracting data from stanzas | Kim Alvefur | 2021-03-07 | 4 | -0/+255 |
| | | | | Based on the XML support in the OpenAPI specification. | ||||
* | util.jsonschema: Library for JSON Schema validation | Kim Alvefur | 2021-03-06 | 3 | -0/+575 |
| | |||||
* | make: Add target for building Teal sources | Kim Alvefur | 2021-03-09 | 1 | -0/+4 |
| | | | | | Compiled Lua targets included in parallel in order to not add a hard dependency on Teal, at least not yet. | ||||
* | util: Add Teal interface definition files | Kim Alvefur | 2021-03-09 | 24 | -0/+489 |
| | | | | | | | | Enables writing code in Teal that is aware of the interfaces and function prototypes in these other utils. Could also be used to do type checks on Lua sources, but this tends to have a lot of noise. | ||||
* | util.gc: Fix check for Lua 5.4 | Kim Alvefur | 2021-03-16 | 1 | -1/+1 |
| | |||||
* | net.resolvers.basic: Fix completion condition when IPv6 is disabled | Kim Alvefur | 2021-03-15 | 1 | -0/+2 |
| | | | | | | | | | | Fixes mistake introduced in 5a71f14ab77c that made it so this ready() newer got called and thus it would be stuck waiting for it. Looks like the kind of thing that could have been introduced by a merge or rebase. Thanks MattJ | ||||
* | mod_pubsub: Include <pubsub> with unsubscribe reply | Kim Alvefur | 2021-03-15 | 2 | -2/+12 |
| | | | | | | | | | XEP-0060 6.2.2 This is a MAY but it makes it nice and symmetric with the subscription response. Reduces the need to remember which node you unsubscribed from. Explicit > implicit etc. | ||||
* | util.rsm: Correctly coerce integer value for <index> (fix #1642) | Kim Alvefur | 2021-03-06 | 1 | -0/+3 |
| | |||||
* | util.rsm: Increase test coverage | Kim Alvefur | 2021-03-06 | 1 | -0/+43 |
| | | | | Test all fields in both directions in order to catch #1642 | ||||
* | util.rsm: Improve readability using compacter stanza building API | Kim Alvefur | 2021-03-06 | 1 | -5/+5 |
| | | | | At least I think :text_tag improves readability. | ||||
* | mod_csi_simple: s/algoritm/algorithm/ [codespell] | Kim Alvefur | 2021-03-05 | 1 | -1/+1 |
| | |||||
* | core.storagemanager: s/Multilpe/Multiple/ [codespell] | Kim Alvefur | 2021-03-05 | 1 | -1/+1 |
| | |||||
* | util.prosodyctl.shell: Allow passing a single command as argument | Kim Alvefur | 2021-03-05 | 1 | -0/+29 |
| | | | | | | | | | | | | | | | | | | | | | | | | Test procedure: $ prosodyctl shell 'server:version()' Expect: > OK: hg:926d53af9a7a $ prosodyctl shell 'server:version()' 'hello' Expect: > Only one command is supported as argument $ prosodyctl shell 'lorem ipsum'; echo $? Expect: > Sorry, I couldn't understand that... console:1: syntax error near 'show' > 1 (error code) Thanks Menel for mentioning the feature | ||||
* | util.prosodyctl.shell: Fix check for --quiet | Kim Alvefur | 2021-03-05 | 1 | -1/+1 |
| | | | | | | | | | | | | | Looked in the wrong table Test procedure: $ prosodyctl shell --quiet Expect: Prosody> (No banner) | ||||
* | net.resolvers.basic: Disable DANE for now, completely broken | Kim Alvefur | 2021-03-03 | 2 | -6/+4 |
| | | | | | Turns out 'extra' is, at least for mod_s2s, the same table for *all* connections. | ||||
* | net.resolvers.basic: Don't enable DANE with zero TLSA records | Kim Alvefur | 2021-03-03 | 1 | -1/+1 |
| | | | | Turns out it doesn't work with zero. | ||||
* | mod_s2s: Buffer stream error + stream closing tag | Kim Alvefur | 2021-03-03 | 1 | -1/+4 |
| | | | | | In "opportunistic writes" mode, prevents ondisconnect from happening while writing the stream closing tag. | ||||
* | core.s2smanager: Set "direction" on destroyed sessions (fixes #1641) | Kim Alvefur | 2021-03-03 | 1 | -0/+1 |
| | | | | | | | | Should prevent errors in certain places where it logs session.direction captialized using gsub. Might cause bugs tho, but then the session is destroyed so maybe it doesn't matter? | ||||
* | mod_s2s: Check direction in bidi-aware style | Kim Alvefur | 2021-03-03 | 1 | -1/+1 |
| | | | | | | Both session.incoming and session.outgoing are truthy here, but session.direction indicates the "real" direction in the way that matters for the order of events when opening or closing streams. | ||||
* | doap: Add RFC 7673 | Kim Alvefur | 2021-03-02 | 1 | -0/+1 |
| | | | | Supported in the DNS layer, this isn't RFC about how to use it in XMPP. |