1
0
mirror of https://github.com/unrealircd/unrealircd.git synced 2026-06-28 19:56:38 +02:00
Commit Graph

351 Commits

Author SHA1 Message Date
Bram Matthys 9636f83a2b Always assume POSIX signals (on non-Windows, that is). 2019-09-09 16:08:18 +02:00
Bram Matthys 1183e88077 Remove old SunOS / Solaris / AIX code.
And some other outdated things for non-POSIX systems...
2019-09-09 15:46:19 +02:00
Bram Matthys 8d453ffc40 Get rid of index() and some useless casts 2019-09-09 14:54:49 +02:00
Bram Matthys 3f690ec1df Get rid of configure checks for inet_addr and inet_ntoa. 2019-09-09 14:47:42 +02:00
Bram Matthys d434cf948b Get rid of bcmp/bcopy/bzero. 2019-09-09 14:41:40 +02:00
Bram Matthys e34888802a Move check for C99 compiler to the beginning and print some meaningful
hint to the user if it cannot be found.
2019-09-09 14:09:58 +02:00
Bram Matthys 2276185939 Get rid of more ./configure checks.
(Let's see if Windows complains again...)
2019-09-09 13:56:37 +02:00
Bram Matthys a0aec38df2 Get rid of DISABLE_USERMOD, since you can achieve the same in U5 via
the restrict-commands module in a dynamic way (with more options too).
2019-09-09 13:27:25 +02:00
Bram Matthys a9e0655650 Remove more old stuff from ./configure 2019-09-09 13:11:30 +02:00
Bram Matthys c423f9c8f7 Remove some more ./configure checks that are likely unneeded. 2019-09-08 20:22:45 +02:00
Bram Matthys 7be894bcda Let's see if we can drop unreal_CHECK_TYPE_SIZES in configure.ac.
Saves some ./configure CPU time.
2019-09-08 20:14:35 +02:00
Bram Matthys 579c4bd884 Compile with -O1 in ASan mode, rather than -O0. 2019-09-06 20:58:32 +02:00
Bram Matthys 38b55fb3c5 Not ready for release yet, but bump git version to alpha2 already now that
the Windows build is working (5.0.0-alpha1 had no Windows build).
2019-08-25 14:38:02 +02:00
Bram Matthys 153e38be10 Get rid of "max sendq" ./Config question, which actually was only
setting the default class::sendq that pretty much everyone overrides
in class (isn't this even required? ;D).
Rename to DEFAULT_SENDQ since we have DEFAULT_RECVQ too.
2019-08-24 19:50:39 +02:00
Bram Matthys 1f99b282b0 Similarly, get rid of DISABLE_STACKED_EXTBANS ./Config question since
that define no longer exists...
2019-08-23 20:39:27 +02:00
Bram Matthys 444c4f4381 Get rid of some old/rarely used ./Config shit 2019-08-23 20:37:27 +02:00
Bram Matthys d8f080de67 Drop support for systems without snprintf() and vsnprintf()
Those are in POSIX.1-2001. Even Windows has them nowadays...
"Our" implementation doesn't even work properly under Win64.
2019-08-22 16:41:39 +02:00
Bram Matthys 5e0ed6d626 UnrealIRCd 5.0.0-alpha1 2019-08-20 19:39:04 +02:00
i 876758b73e Fix Custom OpenSSL binary path was ignored. 2019-07-11 14:20:01 +03:00
i a601f565e1 Do not override all libs. 2019-07-11 03:06:28 +03:00
i 57f6718086 Update configure script for previous commit. 2019-07-11 02:36:51 +03:00
Bram Matthys 657985bf53 Make Debian 10 compile with -Werror. Add -Wno-cast-function-type 2019-07-07 18:17:32 +02:00
Bram Matthys efe73de70d -Wno-unused-but-set-parameter
[skip ci]
2019-07-07 18:11:54 +02:00
Bram Matthys 79bd78c0f3 Make it so UnrealIRCd has full control over the SSL/TLS versions in use
and not just the operating system.
This makes us use SSL_CTX_set_min_proto_version(), which unfortunately is
a less fine-grained control for disabling specific SSL/TLS versions.
However, after that we use SSL_CTX_set_options with SSL_OP_NO_xxx.
The latter is deprecated though. Will revisit this change before U5 release..
2019-07-07 10:22:29 +02:00
Bram Matthys 3b3f63b990 Add HAVE_EXPLICIT_BZERO. Fix compile problems on Debian and other older
systems without explicit_bzero. Current usage is only in the PRNG which
is not very important anyway. We can re-visit later by attempting to
provide a fallback portable version, but from what I've seen this is
pretty ugly.
2019-07-07 09:18:34 +02:00
Bram Matthys 5ad0278f9e No longer check for big enough FD_SETSIZE. We all use poll/kqueue/epoll/etc now. 2019-06-07 12:39:39 +02:00
Bram Matthys f320e32b7e Clean up compiler flag checker.
(Since we don't need the C++ check, we use C only)
2019-05-25 11:36:13 +02:00
Bram Matthys e0c2ccd99b Remove unused configure checks: HAVE_C99_VARLEN_ARRAY, HAVE_RAND_EGD,
and an AC_SUBST for MKPASSWDLIBS.
2019-05-25 11:27:53 +02:00
Bram Matthys 05e3ed63a0 Default to --with-system-pcre2. Now all shipped libs default to system libs. 2019-05-25 11:01:11 +02:00
Bram Matthys 1108b58951 Remove old TRE regex engine. Hasn't been maintained since 2010
and has various outstanding crash and 100% CPU issues.
We have been encouraging the PCRE2 engine since the start of
UnrealIRCd 4 already.
TRE is being phased out of U4 by the end of the year, so we can
safely remove it in U5 already.
2019-05-25 10:42:46 +02:00
Bram Matthys c3a929646c Move src/modules/cap/* to src/modules/ as the meaning got blurred.
For example, msgid / message-ids is not a CAP, while server-time is.
There mere fact of something being in CAP or not shouldn't cause
something to be in different directories ;).
2019-05-19 15:58:34 +02:00
Bram Matthys 4ace26ec3f Another test commit 2019-05-13 17:03:50 +02:00
Bram Matthys d9380ce3bc Test commit 2019-05-13 16:09:50 +02:00
Bram Matthys aff3c16c08 Provide --enable-asan and --disable-asan to toggle address sanitizer.
Since we are currently pre-alpha I decided to enable it by default
so we as devs don't forget to do so :)
2019-05-12 15:25:11 +02:00
Bram Matthys a87d54355a Update version to 5.0.0-dev
I'm sure there will be many other U4 references still...
2019-05-12 13:29:40 +02:00
Bram Matthys 377fa25244 UnrealIRCd 4.2.3 2019-04-30 09:23:44 +02:00
Bram Matthys 15ea9a9347 UnrealIRCd 4.2.3-rc1 2019-04-22 08:25:26 +02:00
Bram Matthys 81e2099f7b We already checked for the openssl library but if the openssl binary was
not found then this was not treated as a fatal error. Now it is, since
you will fail later in the installation process when a certificate file
is being made (resulting in mysterious 'req: command not found' errors).
Also, improve the error message both for the missing openssl library
and openssl binary case.
2019-04-15 18:56:11 +02:00
Bram Matthys 5c30d1af6d * Badword blocks now use PCRE2 if using regex at all (rare,
usually the fast badwords system is used instead)
* Code deduplication in src/modules/{chanmodes,usermodes}/censor.c
  to src/match.c -- which may be moved later again to efuncs.
* Add --without-tre:
  This means USE_TRE will be enabled by default right now
  but if using --without-tre it will be undef'ed. This so we
  can prepare for the TRE phase-out in 2020.
* Remove include/badwords.h, put contents in include/struct.h
2019-04-05 18:19:23 +02:00
Bram Matthys 8b222a1ed2 -Wno-empty-body 2019-03-27 14:00:35 +01:00
Bram Matthys b2307af8ec Get rid of "unknown option -Wno-invalid-source-encoding" warning when there
is another warning being triggered.
-copy paste comment from configure.ac-
We check for the -Woption even though we are going to use -Wno-option.
This is due to the following (odd) gcc behavior:
"When an unrecognized warning option is requested (e.g.,
 -Wunknown-warning), GCC emits a diagnostic stating that the option is not
 recognized.  However, if the -Wno- form is used, the behavior is slightly
 different: no diagnostic is produced for -Wno-unknown-warning unless
 other diagnostics are being produced.  This allows the use of new -Wno-
 options with old compilers, but if something goes wrong, the compiler
 warns that an unrecognized option is present."
Since we don't want to use any unrecognized -Wno-option, we test for
-Woption instead.
2019-03-27 13:44:29 +01:00
Bram Matthys dd2af3b31c Enable additional compiler warnings. Update code to conform to these
new standards, possible to compile with -Werror with them.
2019-03-27 09:03:30 +01:00
Bram Matthys 6d3a98653e The maximum number of clients (MAXCONNECTIONS) no longer defaults to 1024.
The new question in ./Config now defaults to 'auto' (both for new installs
and for upgrades). You can still specify a manual limit but it is no longer
recommended.
A MAXCONNECTIONS of 'auto' means - at present - that UnrealIRCd will try
to set a limit of 8192. This is quite a bump from the original 1024.
On systems where this is not possible we will simply use the highest amount
possible, such as 4096 on many systems, or 1024.
In fact, we now no longer error when MAXCONNECTIONS is higher than the
'ulimit -n' limit but will adjust ourselves to the limit.
Only if the effective limit is below 100 we will print out a fatal error
since running in such a scenario is highly discouraged.
The reason for this change is that nowadays with drone attacks we may need
to be able to handle more concurrent sockets. Also, many Linux distro's
have a default setting of unlimited or 4096 nowadays, out of the box.

For people packaging UnrealIRCd (not end-users):
The ./configure --with-fd-setsize=xx option was removed and the
optional(!!) --with-maxconnections=xx option has been added.
We recommend you NOT to pass this option. Not passing it means that
the previously mentioned 'auto' mode will be used, which is likely
best for most users.

Module coders:
Although it is unlikely you accessed the 'MAXCLIENTS' variable,
if you did, it is now called 'maxclients' (lowercase) since it is
adjusted at runtime and no longer a macro.
2019-03-25 15:43:26 +01:00
Bram Matthys 4490b8744e Use HAVE_RLIMIT instead of FORCE_CORE. And get rid of error message. 2019-03-24 15:50:56 +01:00
Bram Matthys 41c1f01011 Bump version to 4.2.3-dev to make clear that this git version is under development. 2019-03-03 17:14:09 +01:00
Bram Matthys de1548de73 UnrealIRCd 4.2.2. 2019-03-01 14:38:44 +01:00
Bram Matthys e16e2b36d8 UnrealIRCd 4.2.2-rc2 2019-02-11 09:19:38 +01:00
Bram Matthys e443182573 UnrealIRCd 4.2.2-rc1 2019-02-06 16:00:38 +01:00
Bram Matthys d085fb09c1 Three new config items to make topic and ban setter nick!user@host and
to control synchronization of the +beI setter across server links
(that is, the feature just introduced one commit ago):
set {
     topic-setter [nick|nick-user-host]; /* nick = default */
     ban-setter [nick|nick-user-host]; /* nick = default */
     ban-setter-sync [yes|no]; /* yes = default */
};
This also means that --with-topicisnuhost / TOPIC_NICK_IS_NUHOST
is now removed, since this now goes via set::topic-setter.

Also, moved the "first" PROTOCTL from include/common.h to send_proto()
in src/s_serv.c so the bunch of PROTOCTL lines is all in one place
(and so I could conditionally send SJSBY).
Ok, it's not entirely all in one place, PROTOCTL EAUTH is still sent
at another place (early, duh), but still..
2019-01-28 15:41:44 +01:00
Bram Matthys ed1f47f80a Can't stand http:// URLs... 2019-01-25 20:50:05 +01:00