aboutsummaryrefslogtreecommitdiffstats
path: root/plugins
Commit message (Collapse)AuthorAgeFilesLines
...
* | mod_storage_sql: Implement map-like API for archivesKim Alvefur2021-02-011-0/+47
| | | | | | | | | | | | | | | | Used by mod_http_file_share, muc moderation, etc. Tests tweaked because they failed on stanza internals that happen becasue of re-serialization. Namespaces differ since inheritance is implicit when building but explicit after parsing.
* | adhoc.lib: Tweak to allow using util.error objectsKim Alvefur2021-01-311-1/+1
| | | | | | | | | | | | Since util.stanza supports util.error objects via duck-typing and adhoc errors look enough like util.error objects, they should able to pass as such. This will allow converting adhoc commands to use util.error.
* | mod_http_file_share: Reorder argumentsKim Alvefur2021-01-311-2/+2
| | | | | | | | | | 'filetype' is optional, so having it last seems sensible. 'slot' is pretty important, so moving it earlier seems sensible.
* | mod_http_file_share: Update cached value while it is reasonably freshKim Alvefur2021-01-311-5/+10
| | | | | | | | | | This should ensure that cache entries until the oldest file that counted to the last 24h becomes older than 24h.
* | mod_http_file_share: Cache quotas to avoid hitting storageKim Alvefur2021-01-311-2/+12
| |
* | mod_http_file_share: Split out some variables for later reuseKim Alvefur2021-01-311-1/+3
| |
* | mod_http_file_share: Add support for daily upload quotas.Kim Alvefur2021-01-311-0/+19
| | | | | | | | | | Daily instead of total quotas, should be more efficient to calculate. Still O(n), but a smaller n. Less affected by total retention period.
* | mod_http_file_share: Add missing semicolonKim Alvefur2021-01-311-1/+1
| | | | | | | | | | Last comma or semicolon isn't required but makes the diffs nicer once you add another item after it.
* | mod_http_file_share: Clarify log messageKim Alvefur2021-01-301-1/+1
| | | | | | | | | | No expired ... what? Could be inferred from the module logging it, but better to be explicit.
* | mod_tls: Ignore lack of STARTTLS offer only when s2s_require_encryption setKim Alvefur2021-01-291-1/+4
| |
* | mod_tls: Attempt STARTTLS even if not advertised as per RFC 7590Kim Alvefur2021-01-291-2/+6
| |
* | mod_mam: Remove obsolete 'queryid' attribute from iq-result (thanks paul)Kim Alvefur2021-01-291-1/+1
| | | | | | | | Mentioned in xmpp:xsf@muc.xmpp.org?join
* | mod_http_file_share: Indicate missing token via WWW-Authenticate headerKim Alvefur2021-01-291-0/+1
| |
* | mod_http_file_share: Clarify message about missing Authorization headerKim Alvefur2021-01-291-1/+1
| |
* | mod_http_file_share: Allow started uploads to complete after token expiredKim Alvefur2021-01-281-1/+1
| | | | | | | | | | | | | | Otherwise uploads taking longer than 5 minutes would be rejected on completion, and that's probably annoying. Thanks jonas’
* | mod_http_file_share: Serve configurable set of safe mime types inline ↵Kim Alvefur2021-01-281-1/+8
| | | | | | | | | | | | (thanks jonas’) Otherwise people complain about browser 'Save as' dialog.
* | mod_http_file_share: Cache file metadataKim Alvefur2021-01-281-9/+38
| | | | | | | | | | | | | | | | For faster access by avoiding archive ID. No benchmarks were harmed in the making of this commit. ... no benchmarks were performed at all.
* | mod_http_file_share: Extract all file properties into variables earlierKim Alvefur2021-01-281-4/+12
| | | | | | | | | | A step towards adding caching, which will unpack into the same variables.
* | mod_http_file_share: Fix the obligatory misplaced closing bracket (thanks ↵Kim Alvefur2021-01-271-1/+1
| | | | | | | | scansion)
* | mod_http_file_share: Insert pauses to avoid blocknig for long periodsKim Alvefur2021-01-271-0/+8
| | | | | | | | Similar to the mod_mam cleanup job
* | mod_http_file_share: Add support for removing old files (default 2 weeks)Kim Alvefur2021-01-271-1/+59
| |
* | mod_http_file_share: More security headersKim Alvefur2021-01-271-2/+4
| |
* | mod_http_file_share: Strip authorization type prefix a bit earlierKim Alvefur2021-01-271-2/+5
| |
* | mod_http_file_share: Factor out function for generating full filenameKim Alvefur2021-01-271-2/+6
| |
* | mod_http_file_share: Use '.bin' file extensionKim Alvefur2021-01-271-2/+3
| | | | | | | | | | Distinct from '.dat' used by datamanager / internal stortage for Lua object storage so that they can't easily be loaded by accident that way.
* | mod_http_file_share: Validate file size early in HTTP PUT requestKim Alvefur2021-01-271-0/+5
| |
* | mod_http_file_share: Move Authorization type stringKim Alvefur2021-01-271-2/+2
| | | | | | | | It belongs with the header more than the token itself
* | mod_http_file_share: Add some loggingKim Alvefur2021-01-271-0/+14
| |
* | mod_http_file_share: Handle content-type being optionalKim Alvefur2021-01-271-2/+2
| |
* | mod_http_file_share: Reject invalid file sizesKim Alvefur2021-01-271-0/+4
| |
* | mod_http_file_share: Fix name of max-file-size tagKim Alvefur2021-01-271-1/+1
| |
* | mod_http_file_share: Expand registry to fix extra tagKim Alvefur2021-01-271-5/+6
| | | | | | | | | | Error registry compact format doesn't support extra.tag so needs to be the more verbose format
* | mod_http_file_share: Verify final file size on completion of uploadKim Alvefur2021-01-271-0/+5
| |
* | mod_http_file_share: Add file type filterKim Alvefur2021-01-261-0/+6
| | | | | | | | | | Unlike mod_http_upload, this can't be bypassed by uploading with a different file extension.
* | mod_http_file_share: Add file size limit (default 10M)Kim Alvefur2021-01-261-0/+13
| |
* | mod_http_file_share: Validate that filename does not contain '/'Kim Alvefur2021-01-261-0/+6
| |
* | mod_http_file_share: Return proper error if unauthorizedKim Alvefur2021-01-261-1/+5
| |
* | mod_http_file_share: Add basic access controlKim Alvefur2021-01-261-1/+7
| | | | | | | | Partly lifted from mod_external_services
* | mod_http_file_share: Add support for external file upload serviceKim Alvefur2021-01-261-2/+8
| | | | | | | | | | PUT /upload/:slot/:filename Authorization: Bearer JWT{ uploader, filename, filesize, filetype, exp }
* | mod_http_file_share: Let's write another XEP-0363 implementationKim Alvefur2021-01-261-0/+191
| | | | | | | | | | | | | | | | | | | | This variant is meant to improve upon mod_http_upload in some ways: * Handle files much of arbitrary size efficiently * Allow GET and PUT URLs to be different * Remember Content-Type sent by client * Avoid dependency on mod_http_files * Built-in way to delegate storage to another httpd
* | MUC: Allow modules to add to the room registration form, and handle the resultMatthew Wild2021-01-151-0/+23
| |
* | mod_storage_sql: Fix compatibilty with Lua 5.1Kim Alvefur2021-01-131-1/+2
| | | | | | | | | | | | string.rep() doesn't have the 3rd argument before Lua 5.2 Revert once we drop support for Lua 5.1
* | mod_muc_mam: Copy extended MAM support from mod_mamKim Alvefur2021-01-121-4/+21
| | | | | | | | | | | | mod_mam and mod_muc_mam are just different enough that having them be the same module gets complicated, but close enough to have overlapping code.
* | mod_mam: Advertise extended MAM when archive storage is capableKim Alvefur2021-01-121-2/+1
| |
* | mod_mam: Allow querying by set of IDsKim Alvefur2021-01-121-2/+8
| |
* | mod_storage_sql: Support query for set of IDsKim Alvefur2021-01-121-0/+10
| | | | | | | | Not compatible with Lua 5.1
* | mod_storage_internal: Support query for set of IDsKim Alvefur2021-01-121-0/+8
| | | | | | | | Based on implementation in mod_storage_memory
* | mod_storage_memory: Support query for set of IDsKim Alvefur2021-01-121-0/+8
| |
* | mod_storage_internal: Add support for full ID range queryKim Alvefur2021-01-121-2/+5
| | | | | | | | Based on the mod_storage_memory implementation
* | mod_storage_memory: Support full ID range queriesKim Alvefur2021-01-121-2/+5
| |