| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
This inverts the meaning of -N!
|
| |
|
| |
|
|
|
|
|
|
| |
Turns out I did eventually fix this, because I may want to implement
"passive clients" for logging or notification stuff, which wouldn't
affect AWAY status either.
|
| |
|
|
|
|
|
| |
This might reduce the frequency of a client getting its own message back
because it was behind in the ring when it sent it.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
> Notwithstanding any other provision of this License, if you modify the
> Program, your modified version must prominently offer all users
> interacting with it remotely through a computer network (if your version
> supports such interaction) an opportunity to receive the Corresponding
> Source of your version by providing access to the Corresponding Source
> from a network server at no charge, through some standard or customary
> means of facilitating copying of software.
This potentially means that every freenode user, for example, is
interacting with this software, and offering the corresponding source to
each of them is an unreasonable burden.
|
|
|
|
|
| |
This is essentially the command freenode tells you to run:
<https://freenode.net/kb/answer/certfp>.
|
| |
|
| |
|
|
|
|
| |
Let all words be four letter words.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This is more versatile since files are more likely to be replaced than
overwritten.
|
| |
|
| |
|
|
|
|
|
| |
GNU doesn't implement memset_s, but both FreeBSD and GNU implement
explicit_bzero. Darwin doesn't, so #define it in terms of memset_s.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This has two advantages:
1. When removing a client, we don't need to break the loop, since the
swap-remove will replace the current pollfd with one we've already
handled and we can safely move on to the next (previous) one.
2. If a new client connects for the same consumer (for example if the
previous one is going to time out), it will start consuming messages
for that consumer, rather than them being sent to the old client.
|
| |
|
|
|
|
| |
This minor thing would take too much code convolution to do.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This prevents a client connecting, sending nothing, and getting blocked
in tls_read immediately.
|
| |
|
| |
|
| |
|
| |
|