| Commit message (Collapse) | Author |
|
Oops! Clients could get pounce to quit if they didn't send a message.
|
|
Oops, thought I did this already.
|
|
|
|
Turns out the more likely thing is that the fd will just continue to be
POLLIN and produce zero-length reads.
This reverts commit 5707b15920a1ce57f01db0d592487d833218be9d.
|
|
This should maybe gracefully inform clients of what happened, but for
now this is much better than the infinite poll loop that happened
previously.
|
|
|
|
|
|
This still allows using openssl(1) from PATH, but defaults to using
${LIBRESSL_PREFIX}/bin/openssl.
|
|
This should just be what is definitely necessary, and all distros have
their own problems. This works on Void Linux at least.
|
|
|
|
For the strlcpy implementation.
|
|
Otherwise, the result of strncmp gets converted size_t, since size_t
has greater rank than int.
Since wordcmp is only ever used as a boolean condition, this poses
no real issue, but presumably, it is meant to behave like the other
*cmp function and return a value less than, equal to, or greater
than 0 depending on the result of the comparison.
|
|
Otherwise, each source file that includes the header gets its own
definition, and according to the C standard (C99 6.9p5):
> If an identifier declared with external linkage is used in an
> expression (other than as part of the operand of a sizeof operator
> whose result is an integer constant), somewhere in the entire
> program there shall be exactly one external definition for the
> identifier
Most compilers use the .bss section for zero data, but if it uses
.data instead, or if -Wl,--warn-common is used, this will cause a
linking error.
|
|
|
|
|
|
handleAuthenticate only sends a single AUTHENTICATE message, so
according to https://ircv3.net/specs/extensions/sasl-3.1.html, its
maximum length is 399. So, we know that the authentication string
can be at most 299 bytes.
|
|
These are really just regular arrays masquerading as VLAs.
|
|
|
|
My understanding is that sun_path need not be nul-terminated, but I
didn't notice that SUN_LEN actually requires it.
> The length of UNIX-domain address, required by bind(2) and connect(2),
> can be calculated by the macro SUN_LEN() defined in <sys/un.h>. The
> sun_path field must be terminated by a NUL character to be used with
> SUN_LEN(), but the terminating NUL is not part of the address.
Thanks to Duncan Overbruck <mail@duncano.de> for the report.
|
|
I don't know what I was thinking. I'm expecting a number less than 1000
of course that fits in int.
|
|
|
|
|
|
I don't actually deal with it at all other than storing them for syncing
clients.
|
|
|
|
This inverts the meaning of -N!
|
|
|
|
|
|
|
|
I think it's fine to keep it separate since it's a core function of the
bouncer.
|
|
|
|
|
|
|
|
|
|
|
|
This reverts commit c8a771828e1d5fc8c476bbd650fafcfb7ba390a8.
It just feels gross... idk.
|
|
|
|
|
|
Channel names can contain '!' so splitting the whole message on it won't
work.
I hate this code though.
|
|
I really want to be writing tests for these functions...
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The remaining caps only generate new commands which can easily be
filtered out when sending to clients so will be in the first pass of
support.
extended-join is probably safe to pass through unaltered, just causing
extraneous parameters on JOIN commands, but maybe not.
invite-notify reuses the INVITE command where the invited user is not
self.
|
|
|