Add OnUserQuit() callback. On smartphone, user doesn't want to see
same lines repeatedly. But, meanwhile, user doesn't want to miss lines
when connection was lost.
To do it, this uses OnUserQuit() callback. With this callback,
clearbufferonmsg can clear buffer if user quited client explicitly.
And when connection was lost, buffer is still not cleared.
These functions shouldn't be visible outside of this file. This was caught by
-Werror=missing-declarations.
Signed-off-by: Uli Schlachter <psychon@znc.in>
From pthread_cond_wait()'s man page:
When using condition variables there is always a boolean predicate involving
shared variables associated with each condition wait that is true if the
thread should proceed. Spurious wakeups from the pthread_cond_wait() or
pthread_cond_timedwait() functions may occur. Since the return from
pthread_cond_wait() or pthread_cond_timedwait() does not imply anything about
the value of this predicate, the predicate should be re-evaluated upon such
return.
Fix ~CThreadPool() to account for this possibility.
Signed-off-by: Uli Schlachter <psychon@znc.in>
1. The same functionality is achievable via
./configure LDFLAGS=-L/foo/lib CXXFLAGS=-I/foo/include PKG_CONFIG_PATH=/foo/lib/pkgconfig
2. Only openssl had this special flag, but not python, not zlib, etc.
3. It's confusing, lots of people try --with-openssl=/usr/bin/openssl
In versions prior to 1.0, ZNC did not allow multiple networks per user. The string telling users to connect has never been changed after ZNC 1.0, and this fixes just that.
The old internal storage format was:
::__:SAVEBUFF:__::<buffer lines>
The new storage format for channels:
::__:CHANBUFF:__::<buffer name>
<buffer lines>
The new storage format for queries:
::__:QUERYBUFF:__::<buffer name>
<buffer lines>
See #802 for details why the storage format had to be changed. Reading
the old storage format is still supported so old saved buffers load as
appropriate.
This patch ignores the value of JoinAfterCloaked unless UseCloakedHost
is set. Without this patch, it's possible to enable JoinAfterCloaked,
but not have UseCloakedHost enabled, which means that no channel will
ever be joined automatically by ZNC.
Fixes: #602
* Fixes warnings under musl-libc.
* <fcntl.h> should be universal in the Unix world, it's more likely a system doesn't have <sys/fcntl.h> than if it doesn't have <fcntl.h> (and has <sys/fcntl.h>.)