aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* util.datetime: Add support for sub-second precision timestampsKim Alvefur2022-08-143-7/+36
| | | | | | Lua since 5.3 raises a fuss when time functions are handed a number with a fractional part and the underlying C functions are all based on integer seconds without support for more precision.
* util.datetime: Fix argument order in testsKim Alvefur2022-08-141-6/+6
| | | | The expected value goes first.
* util.signal: Fix name conflict in Teal interface declarationKim Alvefur2022-08-101-4/+4
|
* util.error: Use avoid name conflict in Teal interface declarationKim Alvefur2022-08-101-8/+8
| | | | Naming things ... Thing or thing_t?
* util.uuid: Fix syntax of Teal interface declaration fileKim Alvefur2022-08-101-1/+1
|
* util.timer: Add Teal interface descriptionKim Alvefur2022-07-241-0/+8
|
* util.termcolours: Add Teal interface descriptionKim Alvefur2022-07-241-0/+7
|
* util.queue: Add Teal interface descriptionKim Alvefur2022-07-241-0/+21
|
* util.logger: Add Teal interface descriptionKim Alvefur2022-07-241-0/+18
|
* util.bitcompat: Add Teal type specificationKim Alvefur2022-06-301-0/+8
|
* util.struct: Add Teal interface description fileKim Alvefur2022-06-151-0/+6
|
* util.table: Add move() to Teal interface description fileKim Alvefur2022-06-151-0/+1
|
* util.set: Add teal type declaration fileKim Alvefur2022-02-161-0/+21
|
* util.serialization: Add Teal type specificationKim Alvefur2021-12-011-0/+33
|
* util.dataforms: Add missing :data() to Teal definitionKim Alvefur2021-11-151-0/+1
|
* util.dataforms: Restructure Teal definition fileKim Alvefur2021-11-151-45/+46
| | | | | The PR has been merged and there's no reason not to have nested records and other definitions.
* util.human.io: Add Teal interface definitionKim Alvefur2021-11-101-0/+28
|
* util.promise: Add Teal interface specification fileKim Alvefur2022-07-242-3/+23
|
* teal: add stub util.array teal defsKim Alvefur2022-07-241-0/+9
|
* net.server: Add teal description fileKim Alvefur2022-07-241-0/+65
|
* net.http: Add teal description filesKim Alvefur2022-07-246-0/+190
|
* util.human.units: Specify enum argument to format()Kim Alvefur2021-07-051-1/+4
|
* core.storagemanager: Convert old Typed Lua description file into TealKim Alvefur2021-03-242-68/+74
| | | | | | | | Still only a type definition. Typed Lua is no longer maintained. Teal is currently an active project.
* util.hex: Update Teal spec for function rename in a0ff5c438e9dKim Alvefur2022-08-101-0/+2
|
* doap: Update XEP versions for which no code changes appear neededKim Alvefur2022-08-082-14/+24
| | | | | | | | | | | | | | | | | | XEP-0004: Partial forms are handled XEP-0045: We're already strict with GC 1.0 XEP-0060: Change in semantics wrt 'pubsub#type', but not in code XEP-0115: No protocol change XEP-0138: Specification moved to Obsolete XEP-0163: Editorial only change XEP-0215: Minor schema change XEP-0280: Editorial change XEP-0297: Had the wrong version number XEP-0106: Note missing piece for version 1.1 XEP-0313: Editorial change XEP-0363: Editorial clarification, no code change required XEP-0380: Registry additions, no code change needed XEP-0384: Not directly supported, only here because people will ask otherwise XEP-0445: Broken out of XEP-0401
* various: Update IETF RFC URLs for tools.ietf.org transitionKim Alvefur2022-08-054-10/+10
| | | | | | See https://www.ietf.org/blog/finalizing-ietf-tools-transition/ Already done in various other places.
* mod_admin_shell: Remove obsolete module:load() argument from 0.8 timeKim Alvefur2022-08-051-2/+2
| | | | This 'config' argument was removed without explanation in d8dbf569766c
* mod_tls: Record STARTTLS state so it can be shown in ShellKim Alvefur2022-08-022-1/+6
| | | | | | | This field can be viewed using s2s:show(nil, "... starttls") even without any special support in mod_admin_shell, which can be added later to make it nicer. One can then assume that a TLS connection with an empty / nil starttls field means Direct TLS.
* net.resolvers.basic: Add opt-out argument for DNSSEC security statusKim Alvefur2022-08-021-3/+5
| | | | | | | This makes explicit which lookups can accept an unsigned response. Insecure (unsigned, as before DNSSEC) A and AAAA records can be used as security would come from TLS, but an insecure TLSA record is worthless.
* Merge 0.12->trunkKim Alvefur2022-07-293-6/+20
|\
| * mod_storage_sql: Fix summary API with Postgres (fixes #1766)Kim Alvefur2022-07-221-4/+2
| | | | | | | | | | | | | | The ORDER BY and LIMIT clauses are not needed and don't even make much sense. This part was most likely a leftover from the :find method. Tested with sqlite and postgres 14
| * storage tests: Add test for the archive:summary APIKim Alvefur2022-07-221-0/+17
| | | | | | | | | | Passes with memory, internal, sqlite Fails with postgres as in #1766
| * mod_http_files: Log warning about legacy modules using mod_http_filesKim Alvefur2022-07-171-2/+1
| | | | | | | | | | | | | | | | | | It is time. Most community modules should have been adjusted to work with the new (net.http.files) way. At some point this usage should be prevented. Related to #1765
* | util.sasl.scram: Add 'tls-exporter' as recognised channel binding methodKim Alvefur2022-07-271-1/+1
| | | | | | | | | | The last missing piece of #1760, otherwise SCRAM-SHA-*-PLUS is not actually advertised.
* | Merge 0.12->trunkKim Alvefur2022-07-273-2/+33
|\|
| * mod_bookmarks: Reduce error about not having bookmarks to debug (thanks tom)Kim Alvefur2022-07-262-1/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is happens if the account is new and doesn't have any bookmarks yet, which is not a problem. Rarely seen since most clients currently use the older version of XEP-0084 stored in XEP-0049 rather than in PEP, but at least one (Converse.js )does. One scenario in which this would show up often is with Converse.js as a guest chat using anonymous authentication, where all "accounts" would always be new and not have any bookmarks. This scenario probably does not need to have mod_bookmarks at all, but if enabled globally it would likely become loaded onto the VirtualHost unless explicitly disabled.
| * mod_storage_sql: Fix bypass of load procedure under prosodyctlKim Alvefur2022-07-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | There's no 'prosody.prosodyctl' property other than this one, introduced in 6216743c188c in 2015. Guessing that the intent was to skip this when running as a prosodyctl command. The module.command code does its own version of this initialization, so this seems likely. Thanks raja for noticing
* | mod_saslauth: Implement RFC 9266 'tls-exporter' channel binding (#1760)Kim Alvefur2022-06-014-0/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | Brings back SCRAM-SHA-*-PLUS from its hiatus brought on by the earlier channel binding method being undefined for TLS 1.3, and the increasing deployment of TLS 1.3. See 1bfd238e05ad and #1542 Requires future version of LuaSec, once support for this key material export method is merged. See https://github.com/brunoos/luasec/pull/187
* | util.table: Fix inaccurate commentKim Alvefur2022-07-111-1/+1
| | | | | | | | | | | | | | Probably a duplicate of the comment next to Lmove, recorded by mistake Lpack can probably be removed at some point in the near future once we are confident it is not used anywhere.
* | compat: Use table.pack (there since Lua 5.2) over our util.tableKim Alvefur2022-07-115-5/+5
| | | | | | | | | | Added in d278a770eddc avoid having to deal with its absence in Lua 5.1. No longer needed when Lua 5.1 support is dropped.
* | compat: Remove handling of Lua 5.1 location of 'unpack' functionKim Alvefur2022-07-1117-17/+17
| |
* | Merge 0.12->trunkKim Alvefur2022-07-111-1/+1
|\|
| * core.s2smanager: Don't remove unrelated session on close of bidi sessionKim Alvefur2022-06-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Normally with bidi, any outgoing connection should be the same as the incoming, hence when closing a bidi connection it should be removed as a route to the remote server. However it is not guaranteed, a remote bidi-capable server might have decided to open a new connection for some reason. This can lead to a situation where there are two bidi connections, and the s2sout route is a locally initiated s2sout connection. In this case, such a s2sout connection should be kept. Noticed in a rare case where bidi has just been enabled on a running server, and something establishes new connections immediately when a connection is closed.
* | luacheck: Set expected globals to Lua 5.4 + compatKim Alvefur2022-07-101-1/+1
| | | | | | | | Requires luacheck 0.25.0
* | Merge 0.12->trunkKim Alvefur2022-07-080-0/+0
|\|
| * luacheck: Shut up (backports 3caff1f93520, ignores module deleted in trunk)Kim Alvefur2022-05-302-2/+4
| |
* | Merge 0.12->trunkKim Alvefur2022-07-080-0/+0
|\|
| * Backport 875f73ead4e8 8e4033213c62 to deal with luacheck 0.26Kim Alvefur2022-07-081-1/+1
| |
* | Merge 0.12->trunkKim Alvefur2022-07-086-307/+458
|\|
| * util.datamapper: Improve handling of schemas with non-obvious "type"Kim Alvefur2022-07-083-25/+63
| | | | | | | | | | | | | | | | | | | | | | | | The JSON Schema specification says that schemas are objects or booleans, and that the 'type' property is optional and can be an array. This module previously allowed bare type names as schemas and did not really handle booleans. It now handles missing 'type' properties and boolean 'true' as a schema. Objects and arrays are guessed based on the presence of 'properties' or 'items' field.