aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* sessionmanager: Fire event before retiring old sessionMatthew Wild2022-12-291-3/+4
| | | | | This allows for modules to update fields, which is generally better than maintaining this hard-coded list of transferable properties here.
* sessionmanager: Pluck sasl_handler from old session when resuming (fixes #1785)Matthew Wild2022-12-291-0/+1
|
* doap: Fix RDF syntax (thanks Link Mauve)Kim Alvefur2022-12-281-2/+4
|
* util.datamapper: Simplify test schemaKim Alvefur2022-12-201-12/+12
| | | | | Don't need the function, more compact to just reference the same reference table.
* util.openmetrics: Update tools.ietf.org URL to datatrackerKim Alvefur2022-12-191-1/+1
| | | | See bd9e006a7a74 for more context
* mod_s2s_auth_certs: Validate certificates against secure SRV targetsKim Alvefur2022-12-221-0/+10
| | | | | | | Secure delegation or "Mini-DANE" As with the existing DANE support, only usable in one direction, client certificate authentication will fail if this is relied on.
* net.resolvers.basic: Record hostname coming from secure SRV recordsKim Alvefur2022-12-221-0/+2
| | | | Will be useful even later...
* net.resolvers.service: Record DNSSEC security status of SRV recordsKim Alvefur2022-12-221-0/+3
| | | | Will be useful later.
* net.resolvers.service: Fix reporting of Bogus DNSSEC resultsKim Alvefur2022-12-211-3/+6
| | | | | | | | | The order of checks led to Bogus results being reported with a generic "unable to resolve service". This had no practical effects as such results are simply empty and the process would stop there. Tested by attempting to establish s2s with dnssec-bogus.sg and observing the error reply.
* Revert unintentionally committed parts of 12bd40b8e105Kim Alvefur2022-12-213-19/+5
|
* mod_s2s: Retrieve stanza size limit from peer for bidi connectionsKim Alvefur2022-11-091-0/+7
| | | | | | Having mod_s2s know about the bidi namespace is perhaps a bit awkward but putting this in mod_s2s_bidi would be more awkward as it has nothing to do with limits. Some indirection event could be added in the future.
* mod_s2s: Advertise stream features on bidi connectionsKim Alvefur2022-10-201-0/+6
|
* mod_s2s_bidi: Add provisions for advertising features to bidi peersKim Alvefur2022-10-201-1/+3
| | | | As introduced in XEP-xxxx: Stream Limits Advertisement
* mod_c2s,mod_s2s: Adapt to XEP-xxxx: Stream Limits AdvertisementKim Alvefur2022-10-206-9/+29
| | | | Thanks MattJ
* mod_s2s: Avoid sending too large stanzasKim Alvefur2021-03-161-0/+5
| | | | | | | | Just dropping them isn't great but hopefully something more sensible can be done in the future. Will need work to ensure that this signal is handled correctly in sending modules etc.
* mod_s2s: Record stanza size limit advertised by other serversKim Alvefur2021-03-161-0/+4
| | | | For future use, i.e. canceling sending of stanzas that exceed the limit
* mod_s2s: Advertise stanza size limit to other serversKim Alvefur2021-03-161-0/+5
| | | | So they can, like, not send big stanzas.
* mod_c2s: Advertise stanza size limit to clientsKim Alvefur2021-03-161-0/+4
| | | | | | | Should help clients avoid sending stanzas that will get their stream killed. Custom namespace while ironing out the protocol. My spoon is too big!
* mod_smacks: Factor out resumption token table key generationKim Alvefur2022-11-131-4/+8
| | | | So that happens in a single place, where it can be changed easier.
* Merge 0.12->trunkKim Alvefur2022-12-12181-1973/+6130
|\
| * mod_smacks: Only track resumable sessionsKim Alvefur2022-11-181-1/+3
| | | | | | | | Required due to track_session() having moved here
| * util.hashring: Support associating arbitrary data with nodesMatthew Wild2022-12-022-9/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In this API, a 'node' is always a simple text string. Sometimes the caller may have a more complex structure representing a node, but the hash ring is really only concerned with the node's name. This API change allows :add_nodes() to take a table of `node_name = value` pairs, as well as the simple array of node names previously accepted. The 'value' of the selected node is returned as a new second result from :get_node(). If no value is passed when a node is added, it defaults to `true` (as before, but this was never previously exposed).
| * util.hashring: tests: don't randomize order - they are written in a ↵Matthew Wild2022-12-021-0/+1
| | | | | | | | sequential style
| * Merge 0.12->trunkMatthew Wild2022-11-042-5/+22
| |\
| * \ Merge 0.12->trunkMatthew Wild2022-10-311-4/+11
| |\ \
| * \ \ Merge 0.12->trunkKim Alvefur2022-10-241-1/+5
| |\ \ \
| * | | | util.prosodyctl.cert: Remove Lua 5.1 os.execute() return value compatKim Alvefur2022-10-201-1/+1
| | | | |
| * | | | util.prosodyctl: Remove Lua 5.1 os.execute() return value compatKim Alvefur2022-10-201-2/+1
| | | | |
| * | | | util.openssl: Remove Lua 5.1 os.execute() return value compatKim Alvefur2022-10-201-2/+1
| | | | |
| * | | | util.human.io: Fix handling of os.execute() return values in Lua 5.2+Kim Alvefur2022-10-201-3/+3
| | | | | | | | | | | | | | | | | | | | Wrong part of Lua 5.1 compat removed in 0f4feaf9ca64
| * | | | util.mathcompat: Module to ease reuse of math.type()Kim Alvefur2022-10-207-10/+41
| | | | | | | | | | | | | | | | | | | | | | | | | Mostly to ensure it is available during tests, as util.startup is not invoked there
| * | | | util.startup: Provide a common Lua 5.3+ math.type() for Lua 5.2Kim Alvefur2022-10-194-9/+17
| | | | | | | | | | | | | | | | | | | | Code deduplication
| * | | | Merge 0.12->trunkKim Alvefur2022-10-201-1/+1
| |\ \ \ \
| * | | | | util.smqueue: Improve testsKim Alvefur2022-10-191-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | Result of mutation testing. One mutant remaining.
| * | | | | util.jsonpointer: Improve testsKim Alvefur2022-10-191-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Result of mutation testing Remaining mutants are mostly relating to the math.type() fallback. Another case being that array[#array+1] == array[#array+2] and thus doesn't matter.
| * | | | | util.datamapper: Remove leftover debug assert (Only Teal, not included in build)Kim Alvefur2022-10-191-4/+0
| | | | | |
| * | | | | mod_blocklist: Add option 'migrate_legacy_blocking' to disable migration ↵Kim Alvefur2022-10-172-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | from mod_privacy Tiny performance improvement for new users by skipping this check. Most servers should have gone trough the migration for all active users long ago. As a suitable first step of phasing out this code, we make it possible to disable it first. Later it can be disabled by default, before finally the code is deleted.
| * | | | | util.stanza: Add new methods to Teal interface specificationKim Alvefur2022-10-171-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | at_top: 21217f7e82b9 get_child_with_attr: 39164ea2ab9e get_child_attr: e8934ce6ea0f add_error: 5f182bccf33f
| * | | | | mod_c2s: Include stream attributes in stream-features eventMatthew Wild2022-10-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | We need this to access 'from' in SASL2/FAST.
| * | | | | mod_tokenauth: Allow attaching an arbitrary data table to a tokenMatthew Wild2022-10-131-1/+2
| | | | | |
| * | | | | util.cache: Add some missing test casesMatthew Wild2022-10-131-0/+52
| | | | | | | | | | | | | | | | | | | | | | | | Found via mutation testing.
| * | | | | util.jid: Add test for invalid domain but valid UTF-8 (thanks jonas)Matthew Wild2022-10-111-0/+1
| | | | | |
| * | | | | util.jid: Simplify boolean logic in conditionalsMatthew Wild2022-10-111-3/+3
| | | | | |
| * | | | | util.jid: Remove redundant check from split() (micro-optimization?)Matthew Wild2022-10-111-2/+1
| | | | | |
| * | | | | util.jid: Add missing test casesMatthew Wild2022-10-111-0/+40
| | | | | | | | | | | | | | | | | | | | | | | | (98% mutant score, single remaining mutant is a string.sub equivalent)
| * | | | | .luacheckrc: Add test_mutants.sh.lua to the ignore listMatthew Wild2022-10-111-0/+1
| | | | | |
| * | | | | tools: Add initial mutation testing scriptMatthew Wild2022-10-111-0/+217
| | | | | |
| * | | | | util.dbuffer: Add a bunch of missing test casesMatthew Wild2022-10-111-2/+70
| | | | | | | | | | | | | | | | | | | | | | | | Found via mutation testing.
| * | | | | util.dbuffer: Add efficient shortcuts for discard() in certain casesMatthew Wild2022-10-111-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the buffer is already empty, nothing to do. If we're throwing away the whole buffer, we can just empty it and avoid read_chunk() (which in turn may collapse()). These shortcuts are much more efficient.
| * | | | | util.dbuffer: Remove redundant code (read_chunk() cannot fail at this point)Matthew Wild2022-10-111-7/+3
| | | | | |