1
0
Fork 0
mirror of https://github.com/pissnet/pissircd.git synced 2024-06-05 07:48:44 +01:00
Commit graph

38 commits

Author SHA1 Message Date
Bram Matthys
17e2a17e81
Remove library before 'make install'. Possibly fix a bug.
Actually I presume 'make install' properly removes the file first
before installing a new one, but.. not entirely sure. Better safe
than sorry.

We have had new reports of someone who had the original UnrealIRCd
crash while building the new UnrealIRCd. Similar to what we had
a few years ago, which was caused by a 'cp' instead of an rm+cp.
This because with simple cp the existing file contents is changed
and the processes holding the .so file open (usually mmapped)
suddenly have the new .so file loaded in effect, which causes a
crash whenever next function is called in that library.
We now rm explicit before 'make install' so running processes
simply have that fd point to a deleted file, which is fine.
2023-04-19 18:52:59 +02:00
Bram Matthys
748f381d81
Use X509_check_host() in OpenSSL 1.1.0 and later and don't use it
for OpenSSL 1.0.2 anymore, 1.0.2 will use the fallback version.
This changes the include file.

(OpenSSL 1.0.2 is out of support since Jan 1 2020 so one may wonder
 why care at all, but i'm trying not to break that during minor
 UnrealIRCd releases)
2023-03-25 12:18:44 +01:00
Bram Matthys
83d2498ec8
Add configure check for and use X509_check_host() instead of
always using our own implementation (that is not really ours,
by the way).
2023-03-25 08:31:25 +01:00
Bram Matthys
bb0a50d839
** UnrealIRCd 6.0.5-rc1 ** 2022-12-07 08:53:44 +01:00
Bram Matthys
a71e205185
Lower library version requirement if you choose to use libmaxminddb,
from 1.6.0 to 1.4.3. Suggested by robert-scheck in
https://github.com/unrealircd/unrealircd/pull/183
2021-11-28 08:03:10 +01:00
k4be
f665206c4f
Don't build libmaxminddb by default, and fail when it's enabled but not present 2021-11-06 19:11:57 +01:00
Bram Matthys
7d75b38c26
OpenSSL: Check for lib64
Mostly due to openssl 3 beta if you custom build to a specific dir.
2021-09-03 07:54:25 +02:00
k4be
84527768ce
Add missing libmaxminddb remark in configure output 2021-08-29 11:20:33 +02:00
k4be
9c3d5dffb0
Add libmaxminddb support 2021-08-27 14:49:13 +02:00
k4be
b15ddd760a
Fix geoip library build and geoip_classic loading 2021-08-26 11:25:26 +02:00
Bram Matthys
2c7d2c8f86
Split url.c into url_curl.c (curl implementation) and url_unreal
(the new fallback https-only implementation).

./configure will set URL= to either url_curl.o or url_unreal.o
depending on whether curl is enabled or not.

The 3 functions that both implementations had in common are now in
src/misc.c: url_is_valid(), displayurl() and url_getfilename().
2021-08-21 08:47:38 +02:00
Bram Matthys
685e0ee073
In ConfigItem_include include->url now always exists, and src/url.c is now
always compiled in, both regardless of cURL support or not.
Obviously the cURL functions are not available without cURL and there
are now some #ifdef USE_LIBCURL in url.c

This also fixes the current build to work without cURL
2021-08-18 12:27:13 +02:00
Bram Matthys
8cdbc3ae86
Don't build geoip_classic without --enable-geoip-classic=yes.
([I... hate... M4!])
2021-08-17 14:37:48 +02:00
Bram Matthys
ed7bf1daf5
Bundle with GeoIP classic library and add geoip_classic placeholder.
This library we can safely bundle because it is GPLv2.
2021-08-17 14:11:36 +02:00
Bram Matthys
75efe02040
And add config check for X509_get0_notAfter().
For our Ubuntu 16 friends.
2020-10-11 15:56:06 +02:00
Bram Matthys
b3510c5da8
Fix for previous commit with OpenSSL <1.1.0 (Debian 8, Ubuntu 16, ..)
Thank you BuildBot.

This means on older OpenSSL's we are not going to have certificate
expiry checks. Those OpenSSL versions were deprecated by the OpenSSL
team itself, so yeah then you will miss out a few things.
2020-10-11 15:39:27 +02:00
Bram Matthys
f419a61f94
Ubuntu 20.04 needs this change in order to still allow you to enable
TLSv1.0 or TLSv1.1. Otherwise it is impossible to enable by the application.

We are still going to turn off TLSv1.0 and TLSv1.1 by the end of this year
by default. Ubuntu 20.04 is just a couple of months too early. See also
the various browsers who postponed disabling TLSv1.0/TLSv1.1.

Also, regardless of the above, we want the admins running the IRC server
be able to control this and not having such a breaking change be dependant
on some distro default settings.
2020-04-18 12:40:45 +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
4feba3edd5 Check whether linking with OpenSSL functions requires -ldl or -lpthread or both 2019-07-11 02:33:11 +03: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
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
fa9bdcd7df
Move detection of SSL_CTX_set1_curves_list to autoconf (CHECK_SSL_CTX_SET1_CURVES_LIST) 2018-04-27 19:27:19 +02:00
Bram Matthys
c342b432d1
OpenSSL detection: also check /usr/local/opt/openssl 2018-04-22 20:01:50 +02:00
Bram Matthys
21d0af6e88 Fix protection for system curl without system cares. Was kicking in for local
curl due to use of an old path. At least the new autobuild notified me *just*
in time before I put 4.0.8.4 online.
2016-11-18 15:31:24 +01:00
Bram Matthys
eabf436c2a Use has_system_cares (=reliable result) rather than with_system_cares (=merely requested). 2016-10-21 18:13:04 +02:00
Bram Matthys
8859cca6b2 Remove old cares/curl hack. 2016-10-21 17:51:08 +02:00
Bram Matthys
770bb6ac98 Forgot to commit these files, they belong to the hardening patch. 2016-10-21 17:24:13 +02:00
Bram Matthys
d51d23e5cb Until now we refused a build with system-curl without --with-system-cares,
this on the basis that cURL may be using one c-ares version and UnrealIRCd
another c-ares version, something which obviously can lead to failure due
to ABI differences..
Many years have passed since then and cURL is now frequently build with
AsynchDNS support but without the help of c-ares (eg: on Debian). We can
support this configuration without requiring --with-system-cares since
c-ares is not used by cURL and there's no conflict.
2016-10-21 17:15:37 +02:00
Bram Matthys
f81d22076c Add configure check and compile with pthreads 2015-06-01 21:16:44 +02:00
Bram Matthys
547b2d69d0 Build with PCRE2 (not used yet). Enhance SSL build error (may need more fixing). 2015-05-31 21:47:11 +02:00
William Pitcock
c41ca43145 - Remove ziplinks support, patch from FalconKirtaran. () 2013-05-16 06:36:13 +00:00
Nathan Phillip Brink
0ff0b04a56 - Fix compilation issues with bundled tre and ./curlinstall-ed curl caused by over-generic regexes. Reported by warg. 2011-11-12 06:58:34 +00:00
binki
df37d83f8b - Fix invalid use of 'wc -l' when detecting the AsynchDNS feature of
libcurl which breaks compilation on FreeBSD; instead use 'grep
  -q'. Reported by Jobe (), solution proposed by satmd.
2010-12-22 16:02:39 +00:00
Bram Matthys
85904c2277 - Fix the detection for curl-without-c-ares a little (). ** fun.. autoconf 2.61** 2010-07-22 09:59:36 +00:00
binki
7a3bf15558 - Now define _SOLARIS, USE_LIBCURL, and ZIP_LINKS in setup.h instead of the Makefiles. This means better automatic rebuilds if the latter settings change. 2010-07-20 16:09:10 +00:00
binki
b2e4cf82f8 - Support compiling with a bundled c-ares again, the hacky way. () 2010-07-16 13:14:44 +00:00
binki
7dbf154d04 - Move configure.ac to the project's root.
- Separate m4 macros into *.m4 files (it is much easier to run aclocal now).
- Remove unused DOMAINNAME macro and --with-hostname= options as the DOMAINNAME macro isn't used anywheres and its use shouldn't be encouraged.
- autogen.sh to bootstrap the buildsystem. We now maintain setup.h with autoheader.
- --disable-blah now does the opposite of --enable-blah. The same for --with-blah and --without-blah. (This makes Gentoo users happier).
2010-07-08 02:51:43 +00:00