| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Ensures that nodes that one does not have metadata access to are hidden
from view.
This follows from the new ACL-aware method added in 3b357ab6b6eb.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
This allows user creation to happen inside the running Prosody process, which
improves a number of things - such as executing event handlers for user
creation, fixing issues and race conditions with some storage drivers, etc.
The intent is to do the same for the other prosodyctl commands, but this is
the first proof of concept for the approach.
|
| |
|
|
|
|
| |
client
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This allows us to continue sending/receiving on the session, for example if
the promise will be resolved by other data that the client is going to send.
Specifically, this allows the repl-request-input to work without a deadlock.
It does open the door to interleaved commands/results, which may not be a good
thing overall, but can be restricted separately if necessary (e.g. a flag on
the session).
|
|
|
|
|
| |
This lets the server signal to the client that a special input is requested.
Currently we support the "password" type only.
|
|
|
|
| |
Currently there is no way to get this info and perform cleanup tasks.
|
|
|
|
|
| |
It's common for modules to depend on mod_cron, and this can lead to it loading
inside prosodyctl, where we don't really want to run any cron tasks.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes an issue where e.g. remote users or even other users on the server
were unable to list MUC rooms.
We want to define a permission to list MUC rooms, but we want it to be
available to everyone by default (the traditional behaviour).
prosody:guest is the lowest role we have. I ran a quick check and it isn't
really used for anything right now that would be concerning.
It was originally designed for anonymous logins. I think it's safe to treat
remote JIDs as equivalent, since we have no trust relationship with anonymous
users either.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This will be useful for server operators to easily identify flagged accounts,
etc.
|
| |
|
|\ |
|
| |
| |
| |
| | |
Not necessarily a fix, but may give us more information about failure cases.
|
| |
| |
| |
| |
| |
| |
| | |
Looks like I forgot to update these when merging the channel binding
changes after the great renamening.
Ref #1223
|
| |
| |
| |
| |
| |
| | |
Seems to be hard to break old habits?
Ref #1223
|
| | |
|
| |
| |
| |
| |
| | |
This is the Right Thing and should fix various potential issues and race
conditions.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This allows certain session-specific code that needs to run in the async
context, but is itself triggered outside of that context (e.g. timers), to
be queued.
An example of this is the session destruction code of mod_smacks, when the
hibernation timeout is reached.
|
| |
| |
| |
| | |
Now we can, for example, read/write pipes using Lua's standard I/O routines.
|
| | |
|
| |
| |
| |
| |
| | |
This shouldn't be possible, but seems to happen anyway after net.server
somehow calling the close handler twice, which also should not happen.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Attempt to fix a bug where connections are somehow closed twice, leading
to bad things happening elsewhere.
With LuaSec, closed connections are generally already too closed to
write anything to anyway since it does not support unidirectional
shutdown.
|
| |
| |
| |
| | |
Added in f0b2c026e542 and not sure why
|
| | |
|
| |
| |
| |
| |
| |
| | |
More correct handling of namespaces here.
This works with both prefixes from the parser and hacky .attr["foo:bar"]
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Attributes are strings. That definitely is a number. So we
tostring() it. This is important when the API becomes stricter,
for whatever reason that might happen.
Practically, this moves the overhead of converting to a string
to a place where it is visible.
|
| |
| |
| |
| | |
Otherwise no syslog or console detection
|
| |
| |
| |
| | |
Otherwise Prosody refuses to start.
|
| | |
|
| |
| |
| |
| | |
Hopefully less confusing than "Module loaded onto 0 hosts"
|
| |
| |
| |
| | |
Meant to improve clarity and make improving easier
|
|\| |
|
| |
| |
| |
| |
| | |
This avoids doing performing unnecessary work in the case of visitors joining
a MUC, no functionality changes are intended.
|
| | |
|
| |
| |
| |
| |
| | |
Some confusion happened in 42b98ee73ca8, possibly because .count()
returns the items?
|
| |
| |
| |
| |
| |
| |
| | |
This clone call was lost in 902d25cd0557
Affects e.g. presence broadcasts, where the same stanza is sent many
times while mutating the 'to' attribute.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This queue is used to buffer stanzas while waiting for an outgoing s2s
connection to be established.
Limit it to prevent excessive memory usage.
Default chosen to approximate how many average stanzas fits in the
server_epoll default max_send_buffer_size of 32 MiB
Returns a custom error instead of the default core.stanza_router
"Communication with remote domains is not enabled" from is sent back,
which does not describe what is happening here.
Closes #1106
|
| |
| |
| |
| |
| |
| |
| | |
Prevent Bad Things from happening when the buffer gets full.
This of course opens up the possibility of intentionally killing
connections by sending much stuff, which need to be mitigated with rate
limits elsewhere.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: The string slice operations when a lot of data gets buffered
ends up being expensive and memory-consuming. We have util.dbuffer for
precisely this kind of thing.
I want to keep the behavior of writebuffer being upgraded from nil to a
string to full buffer since the last step involves three table
allocations, where the previous buffer method only used one. Avoiding
those allocations for simple writes like white space keep alive feels
like it would keep memory churn down.
This work was started in 2020
|