Jason Volk [Wed, 22 Jun 2016 00:39:44 +0000 (17:39 -0700)]
Core modules cannot be unloaded, otherwise bad things happen.
Additionally some information is logged and passed to the operator
conducting a MODRESTART.
Jason Volk [Wed, 22 Jun 2016 00:32:28 +0000 (17:32 -0700)]
ircd: Fix capability entry name string ownership.
The entry->cap must be copied and exclusive to the entry for the
cap to be orphaned, even if literals are expected. Because modules.
Aaron Jones [Wed, 1 Jun 2016 20:55:32 +0000 (20:55 +0000)]
Preliminary code tidying complete.
These issues (commits 47a66e15 through 906fd91f inclusive) were
identified with the Clang compiler. Please raise concerns about
them on the issue tracker or in the support channel.
Aaron Jones [Wed, 1 Jun 2016 19:50:09 +0000 (19:50 +0000)]
librb: silence some fairly harmless compiler warnings
These include warnings about "break" statements that will never be
executed (because they are after "return" statements), unused macros
(lost to code refactoring or never even used in the first place),
functions that call abort() or loop indefinitely but aren't marked with
the "noreturn" attribute, and use of variables possibly uninitialised
(a false positive).
Aaron Jones [Wed, 1 Jun 2016 20:46:43 +0000 (20:46 +0000)]
Preliminary code tidying complete.
These issues (commits 92706fd5 through 707bc7cd inclusive) were
identified with the Clang compiler. Please raise concerns about
them on the issue tracker or in the support channel.
Aaron Jones [Wed, 1 Jun 2016 19:50:09 +0000 (19:50 +0000)]
librb: silence some fairly harmless compiler warnings
These include warnings about "break" statements that will never be
executed (because they are after "return" statements), unused macros
(lost to code refactoring or never even used in the first place),
functions that call abort() or loop indefinitely but aren't marked with
the "noreturn" attribute, and use of variables possibly uninitialised
(a false positive).
Aaron Jones [Wed, 1 Jun 2016 17:54:43 +0000 (17:54 +0000)]
openssl: More LibreSSL compatibility
LibreSSL does not have the new version macros & functions that OpenSSL
1.1.0 implements. This causes a compile-time failure against LibreSSL.
Further, the runtime function for returning the library version returns
the wrong number (the hardcoded constant number SSLEAY_VERSION_NUMBER
aka OPENSSL_VERSION_NUMBER, instead of LIBRESSL_VERSION_NUMBER).
Aaron Jones [Wed, 1 Jun 2016 17:54:43 +0000 (17:54 +0000)]
openssl: More LibreSSL compatibility
LibreSSL does not have the new version macros & functions that OpenSSL
1.1.0 implements. This causes a compile-time failure against LibreSSL.
Further, the runtime function for returning the library version returns
the wrong number (the hardcoded constant number SSLEAY_VERSION_NUMBER
aka OPENSSL_VERSION_NUMBER, instead of LIBRESSL_VERSION_NUMBER).
Aaron Jones [Wed, 25 May 2016 21:46:34 +0000 (21:46 +0000)]
openssl: change how we load DH parameters
The code already assumes the presence of fopen(3) and errno, and, by
extension, fclose(3) and strerror(3), so just use those instead of the
BIO wrappers.
Additionally, don't fail to initialise if the DH file does exist but
parsing it fails, as per the pre-existing comment about them being
optional.
Aaron Jones [Wed, 25 May 2016 21:46:34 +0000 (21:46 +0000)]
openssl: change how we load DH parameters
The code already assumes the presence of fopen(3) and errno, and, by
extension, fclose(3) and strerror(3), so just use those instead of the
BIO wrappers.
Additionally, don't fail to initialise if the DH file does exist but
parsing it fails, as per the pre-existing comment about them being
optional.