Commit Graph

59 Commits

Author SHA1 Message Date
Uli Schlachter 75f2e3fa41 Add a generic threads abstraction
This should make it easier to work with threads. It provides classes for mutexes
and condition variables. Additionally, there is a special CMutexGuard that
automatically unlocks the mutex on destruction and a CThreadPool class.

This thread pool is used to replace the thread pool in the sockets code.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2013-03-15 11:58:22 +01:00
Alexey Sokolov 183a261e69 Really disable charset module if iconv is not found.
On some systems CHARSET variable is set...

Thanks to Hoss for reporting it
2013-01-27 01:19:45 +07:00
Alexey Sokolov da5c6b6a8b Bump SWIG req to 2.0.8, remove our hacks around old SWIG. 2012-11-07 02:02:22 +07:00
Alexey Sokolov 071801a65d Increase the version number to 1.1 2012-11-07 01:33:45 +07:00
Alexey Sokolov 73b2daf24d Increase the version number to 1.0 2012-11-06 22:41:24 +07:00
Alexey Sokolov d543728215 Fix installing without root when systemd exists.
Try to detect path to systemd units only when
--with-systemdsystemunitdir is used without the path.

If this option isn't specified at all, no need to install systemd file.

Thanks to n0kS for reporting this.
2012-10-29 01:39:24 +07:00
Alexey Sokolov 44d8aaa13a Improve message in ./configure about SWIG 2012-10-07 09:06:26 +07:00
Uli Schlachter afb4830057 Fix configure with -Werror=unused-variable
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-09-23 11:14:20 +02:00
Alexey Sokolov 9b2898f603 Implement setting "Max number of networks" for user.
Fix #226
2012-09-20 01:24:47 +07:00
Alexey Sokolov 3d280b1c58 Merge commit 'refs/pull/183/head' of github.com:znc/znc 2012-09-04 07:41:40 +07:00
Wulf C. Krueger 524ec57224 configure.ac: Move the pkg_config check upwards to allow using it earlier. 2012-09-03 20:40:42 +02:00
Alexey Sokolov a1e8b0867e Fix --enable-debug on cygwin. 2012-08-26 22:28:59 +07:00
Alexey Sokolov b1b92468d8 Fix out-of-tree build of modperl/modpython.
It was broken when compiling from tarball (where swig files already
exist), but with swig around
2012-08-20 20:54:42 +07:00
Alexey Sokolov f94cb24fed Fix SSL on cygwin. 2012-08-20 00:32:36 +07:00
Alexey Sokolov 16f510f820 Make SilverLeo happy :P
By displaying info about available and required SWIGs in ./configure
2012-08-15 21:52:12 +07:00
Alexey Sokolov cc52a7d2be Add several fixed files for swig.
Workaround for broken swig, which allows old swig versions to work too.

These files should be removed when fixed swig is released.

Thanks to Juvenal for suggestion.
2012-08-15 01:42:46 +07:00
Alexey Sokolov d37cb447a0 Use gettimeofday instead of clock_gettime.
POSIX.1-2008 deprecates gettimeofday...
So perhaps it will be changed back in future.

For now gettimeofday is more portable :(
2012-08-09 00:37:16 +07:00
Alexey Sokolov 54f558a4ee Fix configure script 2012-08-08 23:25:36 +07:00
Alexey Sokolov 3d152b160f Check for SWIG's features, not only version. 2012-08-08 23:16:57 +07:00
Alexey Sokolov 44b382c6fc Update server-time implementation to match new standard. #181 2012-08-05 09:45:48 +07:00
Alexey Sokolov 592b5d158d Block using --enable-swig until SWIG is fixed.
We don't want users to get crashy ZNC, do we?
2012-07-27 09:23:35 +07:00
Alexey Sokolov a131127770 Show commit id in version for git builds. 2012-07-21 23:27:53 +07:00
Kyle Fuller 9be208c242 Drop znc-config, change znc-buildmod so it doesn't need znc-config
This fixes issues where znc-buildmod was grabbing a different ZNC installation
from path.
2012-07-04 22:21:37 +01:00
Kyle Fuller 63ab3c099d Rename --enable-sasl to --enable-cyrus to help confusion
Many people think --enable-sasl was needed for the sasl module
2012-06-18 04:51:58 +01:00
Wulf C. Krueger 40641b40a4 Add support for --with-systemdsystemunitdir.
--with-systemdsystemunitdir is the usual way to configure the directory
to which any systemd service file gets installed.
2012-06-02 21:48:03 +02:00
Alexey Sokolov 1d3ea7c68b Check for AI_ADDRCONFIG existence in ./configure
Thanks to fred for reporting this.
2012-05-06 10:18:23 +07:00
Alexey Sokolov 368d06679e Clarify a message in configure.ac a bit. 2012-05-01 15:19:35 +07:00
Alexey Sokolov 95053f4db4 Increase the version number to 0.207 2012-03-29 23:28:25 +07:00
Alexey Sokolov 7ac61474ed ZNC-Extra no more.
Few the most useless modules are just removed, the others are moved to
standard modules.
2012-02-21 19:34:36 +07:00
Kyle Fuller 8863d853c9 Allow disabling the use of adding networks for non admins
Closes #122
2012-02-15 16:27:47 +00:00
Alexey Sokolov 937998d4a5 Merge branch 'master' into tdns 2012-01-15 13:12:28 +07:00
Uli Schlachter 87aad36121 Increase the version number to 0.205
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-01-01 14:50:20 +01:00
Alexey Sokolov 0260558155 Show more debug info with --enable-debug 2012-01-01 16:45:45 +07:00
Alexey Sokolov 717d0596e3 Use threads for resolving DNS.
Drop support for c-ares. Though Csocket still supports it, ZNC's
configure script doesn't enable it anymore.

This should fix big brokenness of c-ares library, which tried to
connect via IPv6 even when IPv6 is disabled on the system.

Also should fix github issue #37
2011-12-27 00:29:51 +07:00
Alexey Sokolov afeab4a9e6 Move core .cpp files to src/ 2011-09-23 03:33:13 +07:00
Alexey Sokolov e354c24ac1 Move ZNC headers into own directory.
Yes, this breaks backwards compatibility, so what?
It's already broken with network stuff anyway.
2011-09-23 03:31:58 +07:00
Uli Schlachter 08cc624bcc Fork the gl_visibility macro
That macro currently was broken. It added flags to $CFLAGS but then called the
C++ compiler. The result was that ZNC didn't compile with GCC 3, because it
tried to use -fvisibility=hidden which isn't supported in that GCC version.

A list of changes done to this macro is contained in a comment.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-09-22 18:14:48 +02:00
Uli Schlachter 6f2335d529 configure.ac: Redefine AC_PROG_CC to cause errors
ZNC is written in C++ and doesn't need a C compiler. This redefine let's us
catch code which accidentally uses the C compiler.

Currently this means that we break due to gl_VISIBILITY.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-09-22 18:12:02 +02:00
Alexey Sokolov ca476ef558 Bump version of master to 0.203
As 0.202 is being released today
2011-09-20 23:12:12 +07:00
Alexey Sokolov d252a2b4e2 Change "znc" to "ZNC". 2011-09-04 18:04:07 +07:00
Uli Schlachter 091a2875ad Increase the version number to 0.201
Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-08-20 22:35:14 +02:00
Uli Schlachter d91803bf22 Increase the version number to 0.200
Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-08-20 22:33:15 +02:00
Alexey Sokolov ea58912093 Hide every symbol except ZNCModInfo from modules.
This means that now it's possible to have the same class names in
different modules, which reduces chances of weird errors.

Thanks to mclc for noticing this.
2011-07-15 22:56:47 +07:00
Uli Schlachter 5ca6291f8a Check the for our minimum required autoconf version
Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-06-10 16:39:51 +02:00
Alexey Sokolov 797b0a7ff9 Check what make should user use and ask user to do that. 2011-06-04 14:19:54 +07:00
Alexey Sokolov 7d912d1d2d Check SWIG version in configure. 2011-05-06 15:17:30 +07:00
Paul Driver 2c6a54b617 passwords >8chars on Solaris, nitpicky solaris LIBS 2011-04-04 21:01:49 +01:00
Uli Schlachter 72c1fa0c90 Don't use poll() on Mac OS
Congratulations, Apple. Your OS is really great. In some versions (according to
google, it used to work in older releases), poll() can only handle sockets. If
you give it a pipe (as e.g. the shell module does), it will fail with POLLNVAL
which Csocket handles by going into an endless loop.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-04-03 18:04:14 +02:00
Uli Schlachter 70c7745899 Overhaul the config parsing
This moves stuff to a two-step model. First, the new class CConfig reads the
config file, parses it and creates a in-memory model of stuff. Only then do we
actually go forward and apply the stuff.

The upside of this is that some config errors are caught before we change
anything on the running upside.

Let's see how much stuff this broke...

Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-04-01 21:43:05 +02:00
Alexey Sokolov 63250c2b47 Fix recent commit of moving python to pkg-config. 2011-03-31 20:27:23 +07:00