| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
Prevent attempt to load rosters on Components since they do not have
users or rosters.
|
|
|
|
| |
entered (fixes #1907)
|
|
|
|
|
|
|
|
|
|
|
|
| |
In some circumstances, particularly with 'opportunistic_writes' and
'fatal_errors' enabled in the epoll backend, the connection may be closed
halfway through the session close process (because it contains debug logging,
which in the case of the watch:log() command, will trigger a write to the
socket).
The chosen fix is to cache session.conn in a local variable (we already did
this later on, but this pulls it up to the top of the function, which is
generally more correct anyway).
|
|
|
|
|
|
|
|
|
|
|
| |
This was an unintentional regression, as per-host 'ssl' options became valid
in 0.12 when SNI support was added for direct TLS ports. While we encourage
most people to use the simpler automatic certificate selection (and it seems
most do, given the overlooking of this bug), there are likely always going to
be use cases for manually-configured certificates.
The issue was introduced in commit 7e9ebdc75ce4 which inadvertently removed
the per-host option checking for SNI.
|
| |
|
| |
|
| |
|
|
|
|
| |
Fail fast. Otherwise it sends the whole file.
|
|
|
|
| |
See #1914
|
|
|
|
|
| |
Deleting one index should be safe enough to do without requiring a
explicitly upgrading during downtime. People had trouble with this.
|
|
|
|
|
|
| |
Thanks ctrlaltca
Fixes #1912
|
|
|
|
| |
Not sure why but this assert() caused a stack overflow in luarocks
|
|
|
|
| |
Off-by-one in autoindent after `if not success then` since 3ec48555b773
|
| |
|
|
|
|
|
| |
This should pass back the error message as well as the status code to
the client.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
The ! commands have been broken for some time, and we're not going to
implement them right now. If we want fancier editing, we can now do that on
the client side (with readline and stuff).
Also removes mention of telnet!
|
|
|
|
| |
This also adds a generic "meta" mechanism where checks can return annotations.
|
|
|
|
|
| |
Also shuffles mod_pep check to multi-device sync, as I think that's a better
fit.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This should bring some fixes and general robustness that mod_websocket had
missed out on. The duplicated code here is not at all ideal. To prevent this
happening again, we should figure out how to have the common logic in a single
place, while still being able to do the websocket-specific parts that we need.
The main known bug that this fixes is that it's possible for a session to get
into a non-destroyable state. For example, if we try to session:close() a
hibernating session, then session.conn is nil and the function will simply
return without doing anything. In the mod_c2s code we already handle this, and
just destroy the session. But if a hibernating websocket session is never
resumed or becomes non-resumable, it will become immortal!
By merging the fix from mod_c2s, the session should now be correctly
destroyed.
|
|
|
|
|
|
| |
Although we do sometimes use single-line if blocks, I'm expanding this one to
make it easier to compare with the duplicated (but modified) code in
mod_websocket that we plan to de-duplicate one day.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After recent changes, '--foo bar' was working, but '--foo=bar' was not. The
test had a typo (?) (bar != baz) and because util.argparse is not strict by
default, the typo was not caught.
The typo caused the code to take a different path, and bypassed the buggy
handling of --foo=bar options.
I've preserved the existing test (typo and all!) because it's still an
interesting test, and ensures no unintended behaviour changes compared to the
old code.
However I've added a new variant of the test, with strict mode enabled and the
typo fixed. This test failed due to the bug, and this commit introduces a fix.
|
|
|
|
|
|
| |
This matches what we use for SQL already, so provides some consistency.
Client developers prefer sortable ids.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The :clean_clone() method is designed to provide a new cloned SASL handler,
to be used when starting a fresh SASL negotiation on an existing connection.
The userdata field is currently populated by mod_saslauth with the "read-only"
information that the channel binding methods need to do their stuff.
When :clean_clone() does not preserve this, it causes tracebacks in the cb
profile handlers due to the property being nil.
This does mean that SASL handlers should now not be reused (even when cloned)
across different connections, if they ever could.
|
|
|
|
| |
(thanks moreroid)
|
|
|
|
| |
Serialized Lua is not the most readable form of TLSA records.
|
|
|
|
|
| |
Currently it's not obvious which directories have been indexed (especially
when the resulting index is empty), or why certain files have been skipped.
|
| |
|
|
|
|
|
|
| |
It blocked loading on VirtualHosts since it was already loaded globally
Thanks eTaurus
|
| |
|
|
|
|
|
|
|
| |
Delays the string interpolation until the warning is logged, which may
slightly lower memory usage.
Allows retrieving the filename and line number easily.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A Credential in the global section would be stored at
delayed_warnings["*/secret"], but get("example.com","secret") would look
for delayed_warnings["example.com/secret"]
Storing the warnings in the config itself has the unfortunate
side-effect that the config now contains util.error objects, which may
be awkward if something bypasses get(). Should rawget() also do this
filtering? getconfig() too?
Currently this only affects prosodyctl, so maybe it won't be much of a
problem.
|
|
|
|
|
| |
Minimizing dependencies on global state is nice, as it makes using
configmanager outside of Prosody easier.
|
|
|
|
|
|
| |
The WIP groups support is not complete yet, and won't work without extra
modules (which are not yet a part of Prosody). For now we hide --group support
unless mod_invites_groups (community module) is specified in modules_enabled.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
server-side, with argparse support
This allow a shell-command to provide a 'flags' field, which will automatically
cause the parameters to be fed through argparse.
The rationale is to make it easier for more complex commands to be invoked
from the command line (`prosodyctl shell foo bar ...`). Until now they were
limited to accepting a list of strings, and any complex argument processing
was non-standard and awkward to implement.
|
| |
|
| |
|