aboutsummaryrefslogtreecommitdiffstats
path: root/core/portmanager.lua
Commit message (Collapse)AuthorAgeFilesLines
* core: Prefix module imports with prosody namespaceKim Alvefur2023-03-171-6/+6
|
* net: isolate LuaSec-specificsJonas Schäfer2022-04-271-10/+11
| | | | | | | | | | | | | | For this, various accessor functions are now provided directly on the sockets, which reach down into the LuaSec implementation to obtain the information. While this may seem of little gain at first, it hides the implementation detail of the LuaSec+LuaSocket combination that the actual socket and the TLS layer are separate objects. The net gain here is that an alternative implementation does not have to emulate that specific implementation detail and "only" has to expose LuaSec-compatible data structures on the new functions.
* core.portmanager: Fix traceback on attempt to get non-existent serviceKim Alvefur2022-02-221-1/+3
| | | | | If there's no such interface:port then `data` is nil and `data.service` errors.
* core.portmanager: Also reload per-SNI certificatesKim Alvefur2021-06-101-1/+3
|
* core.portmanager: Reload direct TLS certificates after config reloadKim Alvefur2021-06-101-0/+21
| | | | | This should re-create all contexts the same way as when the service was activated, which reloads certificates.
* core.portmanager: Factor out base TLS context creation for reuseKim Alvefur2021-06-101-10/+15
| | | | Thinking I can use this to reload certificates after config reload
* core.portmanager: Fix race condition in initialization of SNI cert mapKim Alvefur2021-05-281-2/+2
| | | | | | | | | | | | | | | | | Under some circumstances when hosts and modules are loaded in some certain order, entries end up missing from the SNI map. This manifests in e.g. `curl https://localhost:5281/` giving an error about "unrecognized name". The `service` argument is `nil` when invoked from the "host-activated" event, leading it to iterating over every service. And then it would not be fetching e.g. `http_host` from the config, which explains why https would sometimes not work due to the missing name entry. Because when `service` is included, this limits the iteration to matching entries, while also returning the same value as the `name` loop variable. Because `name == service when service != nil` we can use name instead in the body of the loop.
* core.portmanager: Use existing http_host for https SNI mappingKim Alvefur2021-05-051-0/+4
|
* core.portmanager: Allow overriding expected SNI name per serviceKim Alvefur2021-05-051-2/+3
| | | | | | | E.g. VirtualHost"example.com" https_name = "xmpp.example.com"
* core.portmanager: Log SNI hosts, services looked forKim Alvefur2021-03-021-0/+1
| | | | To highlight how many these are
* portmanager: Don't auto-start network services under prosodyctlMatthew Wild2020-02-051-1/+1
|
* core.portmanager: Ignore unused return variable [luacheck]Kim Alvefur2019-12-231-0/+1
|
* core.portmanager: Complete error message for SNI TLS context problemsKim Alvefur2019-11-301-1/+1
|
* core.portmanager: Fix TLS context inheritance for SNI hosts (completes SNI ↵Kim Alvefur2019-11-291-10/+5
| | | | support)
* core.portmanager: Don't set the first TLS context with a cert as main contextKim Alvefur2019-11-291-4/+0
| | | | Don't think this works and it's apparently acceptable to require SNI these days.
* core.portmanager: Remove unused local [luacheck]Kim Alvefur2019-07-301-1/+1
|
* core.portmanager: Remove tostring call from loggingKim Alvefur2019-07-301-1/+1
| | | | Taken care of by loggingmanager now
* Merge 0.11->trunkKim Alvefur2019-04-241-1/+1
|\
| * core.portmanager: Log debug message for each kind of TLS context createdKim Alvefur2019-04-231-0/+1
| |
* | core.portmanager: Collect per-host certificates for SNIKim Alvefur2018-09-141-0/+41
| |
* | core.portmanager: Record TLS config for each portKim Alvefur2018-10-101-2/+4
| |
* | core.portmanager: Reduce scope of variableKim Alvefur2018-10-101-2/+2
| | | | | | | | | | Not sure why it was all the way out there, seems like there would have been unexpected behaviour from that
* | core.portmanager: Use server.listen APIKim Alvefur2018-09-131-1/+5
|/
* vairious: Add annotation when an empty environment is set [luacheck]Kim Alvefur2018-02-281-0/+1
|
* core: Split some very long lines [luacheck]Kim Alvefur2017-03-041-4/+8
|
* portmanager: Set default read size back to 4KKim Alvefur2016-05-041-1/+1
|
* Merge 0.9->0.10Kim Alvefur2016-01-111-1/+1
|\
| * core: Increase default read size to "all of it", in practice 8K (size of ↵Kim Alvefur2016-01-101-1/+1
| | | | | | | | LuaSockets buffer)
* | portmanager: Lower the priority of module-supplied TLS optionsKim Alvefur2015-12-081-1/+1
| |
* | portmanager: Add forward declarationsKim Alvefur2015-04-081-2/+6
| |
* | core.*: Remove use of module() functionKim Alvefur2015-02-211-20/+32
| |
* | portmanager: Remove unused argument from function [luacheck]Matthew Wild2015-05-131-1/+1
| |
* | portmanager: Rename variable to avoid name conflict [luacheck]Matthew Wild2015-05-131-2/+2
| |
* | portmanager: Add luacheck annotationsMatthew Wild2015-05-131-1/+1
| |
* | portmanager, s2smanager, sessionmanager, stanza_router, storagemanager, ↵Matthew Wild2015-05-061-1/+1
| | | | | | | | usermanager, util.xml: Add luacheck annotations
* | portmanager: Remove unused import of pairs()Matthew Wild2015-01-201-1/+1
| |
* | core.portmanager: Simplify and take advantage of new ssl config merging in ↵Kim Alvefur2014-07-031-28/+9
| | | | | | | | certmanager
* | Merge 0.9->0.10Matthew Wild2014-04-021-4/+4
|\ \ | |/ |/|
| * Remove all trailing whitespaceFlorian Zeitz2013-08-091-4/+4
| |
* | portmanager: Make maximum read size configurable, and default to 4KBMatthew Wild2014-03-301-1/+3
|/
* portmanager: Also include the interface the service is listening onKim Alvefur2013-04-291-1/+1
|
* portmanager: Include port numbers the service is listening on in the info logs.Waqas Hussain2013-04-291-1/+3
|
* portmanager: import pairs() (thanks Maranda)Matthew Wild2013-04-051-1/+1
|
* portmanager: add logic to allow specification of service default values for ↵Marco Cirillo2013-04-041-3/+28
| | | | ssl config and / or overrides.
* portmanager: Log error and fail to bind when port is invalid (not a number)Matthew Wild2013-03-311-9/+11
|
* portmanager: Add use_ipv4 option, default to true.Kim Alvefur2013-03-271-2/+6
|
* portmanager: use_ipv6 defaults to true if luasocket has ipv6 supportKim Alvefur2013-03-271-1/+2
|
* portmanager: Make sure foo_ports is a tableKim Alvefur2013-01-311-2/+3
|
* portmanager: Return first service with the specified name from get_service() ↵Matthew Wild2012-12-041-1/+1
| | | | (instead of the array of possible services) (thanks xnyhps)
* portmanager: Support 'local_interfaces' config option (default for private ↵Matthew Wild2012-08-101-1/+1
| | | | listeners like components, telnet, etc.) (thanks mva)