aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* util.startup: Retrieve less data for function string representationKim Alvefur2020-10-091-1/+1
| | | | debug.getinfo(f) collects more info than what is needed here.
* core.moduleapi: Return resource path from module:get_directory() (API BC)Kim Alvefur2020-10-091-2/+2
| | | | | | | | | | | | | | | | | | | :get_directory has so far returned the base directory of the current module source code. This has worked well so far to load resources which tend to be included in the same directory, but with the plugin installer using LuaRocks, extra resources (e.g. templates and other assets) these are saved in a completely different directory. In be73df6765b9 core.modulemanager gained some code for finding that directory and saving it in module.resource_path but now the question is how this should be reflected in the API. A survey of community modules suggest the vast majority use the :get_directory method for locating templates and other assets, rather than the code (which would use module:require instead). Therefore this commit changes :get_directory to return the resource_path when available. This should work for most modules.
* core.modulemanager: Add compat for LuaRocks 2.xKim Alvefur2020-10-071-0/+7
|
* core.moduleapi: Use resource path for :load_resource()Kim Alvefur2020-10-071-1/+1
|
* core.modulemanager: Locate resources of LuaRocks-installed modulesKim Alvefur2020-10-071-0/+31
| | | | | | | Extra non-code files included with a `copy_directories` directive in a LuaRocks manifest will be copied into a per-module and per-version directory under /lib/luarocks/ and all this is there to dig that out so it can be used in e.g. moduleapi :load_resource().
* util.startup: Save the path used by the installer to prosody.pathsKim Alvefur2020-10-071-0/+1
| | | | | | Makes it easier for other parts of the code to use this for things, such as determining whether a certain module is from this path or from elsewhere.
* Merge 0.11->trunkKim Alvefur2020-10-071-2/+2
|\
| * MUC: Preserve disco 'node' attribute (or lack thereof) in response (fix ↵Kim Alvefur2020-10-071-2/+2
| | | | | | | | #1595) (thanks lessthan3)
* | Merge 0.11->trunkKim Alvefur2020-10-051-2/+2
|\|
| * util.dependencies: Check for bitop library same way as net.websocket.frames ↵Kim Alvefur2020-10-051-1/+1
| | | | | | | | (fixes #1594)
| * MUC: Correct advertising of subject write access (really fixes #1155)Kim Alvefur2020-10-041-2/+2
| | | | | | | | | | | | | | | | | | | | Thanks pep. and lovetox XEP-0045 §6.4: > any field defined for the muc\#roomconfig FORM_TYPE can be included in > the extended service discovery fields Probably happened because the same mistake is in #1155
* | util.startup: Fix startup failure if CFG_DATADIR is unsetKim Alvefur2020-10-051-1/+1
| | | | | | | | As is normal when running from source
* | util.startup: Re-enable installer path setupKim Alvefur2020-10-051-2/+2
| |
* | util.startup: Put 'installer_plugin_path' under data directory by defaultKim Alvefur2020-10-051-1/+1
| | | | | | | | | | Fixes issue where it ends up creating this in $PWD, which might be ~prosody, ~you or /, depending on how it's invoked.
* | util.prosodyctl: Simplify luarocks invocationKim Alvefur2020-10-051-7/+3
| |
* | util.prosodyctl: Get Luarocks server from configKim Alvefur2020-10-051-1/+2
| |
* | util.prosodyctl: Move hardcoded luarocks server into prosodyctlKim Alvefur2020-10-052-3/+3
| | | | | | | | To be replaced with config option in future commit
* | util.prosodyctl: Flip argument orderKim Alvefur2020-10-052-4/+4
| | | | | | | | | | "verb subject" feels better than "subject verb", especially since the subject (module) is optional.
* | util.prosodyctl: Construct luarocks command line with templatesKim Alvefur2020-10-051-2/+7
| | | | | | | | More flexible and safer wrt escaping
* | util.pluginloader: Look for module libs in mod_plugin/lib.luaKim Alvefur2020-10-051-0/+3
| | | | | | | | | | Luarocks can't be told to install something as foo.lib.lua AFAIK, so instead let's try mod_bar/foo.lua
* | util.pluginloader: Look for top level mod_something.lua in luarocks-style treeKim Alvefur2020-10-051-0/+1
| |
* | util.pluginloader: Extract Lua version onceKim Alvefur2020-10-051-1/+1
| | | | | | | | It's not going to change while the module is loaded.
* | util.xml: Fix float formatting of line and columns in error (on Lua 5.3+)Kim Alvefur2020-10-031-1/+1
| |
* | mod_bosh: Count connection attempts non-VirtualHost as "bad host" (stats)Kim Alvefur2020-10-031-0/+2
| |
* | Merge 0.11->trunkKim Alvefur2020-10-031-1/+18
|\|
| * mod_bosh: Ensure that stream is directed to a VirtualHost (fixes #425)Kim Alvefur2020-10-031-0/+16
| |
| * mod_bosh: Pick out the 'wait' before checking it instead of earlierKim Alvefur2020-10-031-1/+2
| | | | | | | | | | Going to add more host related checks, so to keep the wait variable closer to the related checks
* | mod_auth_anonymous: Add config option to allow/disallow storage writesMatthew Wild2020-10-021-2/+8
| |
* | make: Add way to run individual testsKim Alvefur2020-10-021-0/+10
| |
* | Merge 0.11->trunkMatthew Wild2020-09-30246-5582/+14808
|\ \ | |/ |/|
| * Merge 0.11->trunkMatthew Wild2020-09-302-2/+20
| |\
| * \ Merge 0.11->trunkMatthew Wild2020-09-292-85/+119
| |\ \
| * | | util.error: Drop registry initialization with namespace as keyKim Alvefur2020-09-282-15/+4
| | | | | | | | | | | | | | | | Enough complexity with compact vs normal and with/without namespace
| * | | util.error: Expand compact registries into normal form internallyKim Alvefur2020-09-282-8/+66
| | | | | | | | | | | | | | | | Also the exposed form on the table returned from init()
| * | | util.error: Add a "compact mode" for registriesKim Alvefur2020-09-282-4/+28
| | | | | | | | | | | | | | | | Inspired by the older registry in pubsub.lib.lua
| * | | CHANGES: Add util.errorKim Alvefur2020-09-281-0/+1
| | | |
| * | | util.error: Expose source and registry as fields on the registry objectKim Alvefur2020-09-281-0/+2
| | | | | | | | | | | | | | | | For access, e.g. to identify and compare errors later
| * | | util.error: Cover registry initialization in testKim Alvefur2020-09-281-0/+20
| | | |
| * | | net.http.server: Default to HTTP result code 500 when promise is rejectedMatthew Wild2020-09-281-0/+1
| | | |
| * | | util.error: Turns out <gone> wasn't alone, there's also <redirect>Kim Alvefur2020-09-281-2/+7
| | | |
| * | | util.error: Pass converted stanza errors throguh new()Kim Alvefur2020-09-271-6/+3
| | | | | | | | | | | | | | | | In order to benefit from common processing
| * | | util.serialization: Let freeze metamethod return a literal stringKim Alvefur2020-09-261-0/+4
| | | | | | | | | | | | | | | | | | | | Enables custom serialization, such as creating a datatype that serializes into a variable reference.
| * | | util.error: Collect Application-Specific Conditions from stanza errorsKim Alvefur2020-09-262-3/+5
| | | |
| * | | util.error: Add special case handling of <gone> with an URIKim Alvefur2020-09-261-0/+3
| | | |
| * | | util.error: Default error originator to stanza senderKim Alvefur2020-09-261-1/+2
| | | | | | | | | | | | | | | | | | | | The @by attribute is primarily useful for errors caused by intermediate entities.
| * | | util.error: Extract error originator from stanza errorsKim Alvefur2020-09-262-2/+8
| | | |
| * | | util.stanza: Extract Application-Specific Condition from errorsKim Alvefur2020-09-262-6/+21
| | | | | | | | | | | | | | | | API change
| * | | spec.stanza spec: Split up util.error related testsKim Alvefur2020-09-261-0/+8
| | | |
| * | | util.stanza: Support Application-Specific Conditions in util.errorKim Alvefur2020-09-262-1/+18
| | | |
| * | | util.stanza: Get 'by' from context insteadKim Alvefur2020-09-262-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Zash> <error by=?> should go where? extra.by? context? source? Zash> In Prosody this would usually be module.host or a bare user/room JID MattJ> Zash: context MattJ> context.by, basically the opposite of context.actor