0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-06-29 07:18:20 +02:00
Commit graph

3341 commits

Author SHA1 Message Date
Jason Volk 60c044d78a Fix redundant/conflicting namespace labels. 2016-08-20 19:30:33 -07:00
Jason Volk 39eebde589 Fix error on GCC-6 platform
error: invalid operands of types ‘__gnu_cxx::__enable_if<true, double>::__type
{aka double}’ and ‘int’ to binary ‘operator%’
2016-08-20 19:30:33 -07:00
Jason Volk fc4af83fdf Remove __unused macro. 2016-08-20 19:30:33 -07:00
Jason Volk 7405910c2e ircd: Add lex_cast/boost::lexical_cast util. 2016-08-20 19:30:33 -07:00
Jason Volk 61b517ca3c Precompile and remove most include directives. Notes:
* To benefit from the precompiled-header (PCH) it MUST provide "the first C token."

Advantages:
Never worry about the include stack again. Remember, this means one less thing
for random module developers, community people learning C++, and new developers
to deal with. It should reduce the learning curve and barrier for participation.

Disadvantages:
Makes overall compilation a bit slower, especially without any additional
work to improve it again. There are several opportunities, places where the
PCH is probably being ignored, etc that can be addressed.
2016-08-20 19:30:33 -07:00
Jason Volk 029a83a17d ircd: Update exception macro to ensure format string checks. 2016-08-20 19:30:32 -07:00
Jason Volk a1ee5034a2 Organize fs/path related into namespace. 2016-08-19 22:39:34 -07:00
Jason Volk 43575fff5b Add compile-time expression num_of<> for conforming enums. 2016-08-19 22:39:34 -07:00
Jason Volk dd270c9d78 Fix some typoed include guard/define names. 2016-08-19 22:39:34 -07:00
Jason Volk 90c9fe686e ircd: Namespace and partially modernize ircd::cache. 2016-08-19 22:39:34 -07:00
Jason Volk 31328e4759 Add missing RAII scope util. 2016-08-19 22:39:34 -07:00
Jason Volk 7d3e1e49a5 configure.ac: Fix CPPDEFINE error and improve boost check.
Require at least 1.56 for now... Testing of older versions is
needed once librb is replaced and we know what's needed.
2016-08-19 22:39:34 -07:00
Aaron Jones b17925378a
TLS Backends: Harmomise the rb_ssl_get_cipher() function
The GNUTLS backend reports the version in use for the client as well
as its ciphersuite -- do the same for the other 2 backends.
2016-08-20 04:18:23 +01:00
Aaron Jones b8ae64e7e0
GNUTLS: Avoid null dereference in constructing ciphersuite 2016-08-19 20:29:49 +00:00
Aaron Jones 292cefd2b5
GNUTLS: Cleanup fingerprint generation
Removes intermediate buffer, properly check return values
2016-08-19 19:18:34 +00:00
Aaron Jones a888b33274
README: Clarify that OpenSSL is not required for ECDHE 2016-08-15 10:53:34 +00:00
Aaron Jones ab96a37bfd
mkpasswd: use urandom for salts, cleanup
Using /dev/random for salt generation is pointless -- it can block, and
any extra randomness it would provide (which is debatable) is not needed,
as salts only need to be unique, not unpredictable.
2016-08-15 09:55:51 +00:00
Jason Volk db0a9e678a Merge pull request #209 from jevolk/master
ircd: Insert into ircd:: namespace.
2016-08-13 13:43:29 -07:00
Jason Volk a71a4551ae ircd: Insert into ircd:: namespace. 2016-08-13 02:43:42 -07:00
Jason Volk fa31c9c4cc appveyor: Disable PCH. 2016-08-13 02:43:41 -07:00
Jason Volk 0e62b5a91a Add PIC/PCH condition in stdinc.h. 2016-08-13 02:43:41 -07:00
Jason Volk 1ffc492c7f Don't care about missing declarations. 2016-08-13 02:43:41 -07:00
Jason Volk 3dafbeaf21 ircd: Convert defaults to constexprs.
Also cleanup unused defaults.
Also move single-use defaults to a tighter scope.
2016-08-13 02:43:41 -07:00
Jason Volk fb8792da3d ircd: Towards a comprehensive capability C -> C++ refactor. 2016-08-13 02:43:41 -07:00
Jason Volk 10946db85e Remove unused function prototype. 2016-08-12 17:02:37 -07:00
Jason Volk f6199d5d12 Reduce redundant includes. 2016-08-12 16:41:40 -07:00
Jason Volk f20b0f41a8 travis: Add webhook notification. 2016-08-12 15:23:41 -07:00
Jason Volk 5b85e8976b travis: Get newer GCC packages to support the clang-3.8 build. 2016-08-12 14:11:54 -07:00
Jason Volk 7ecb061e69 authd: Fix use after reference count decrement. 2016-08-12 14:11:54 -07:00
Aaron Jones 3fccd78d32
openssl: Avoid use-after-free when rehashing fails to load new files
Commit cf12678 introduced a fix for issue #186 by freeing the old SSL_CTX
structure before constructing a new one, which could disconnect existing
clients otherwise.

Unfortunately, the freeing is done first, which means that if setting up
a new structure fails for any reason, there will be no usable structures
left, but they are still referenced.

This fix moves the freeing to the end of the function, using intermediate
new variables in the meantime. This problem was discovered while testing
against OpenSSL 1.1.0 RC6.
2016-08-12 13:37:37 +00:00
William Pitcock 09d19cbbd3 capability: clean up CAP_REQUIRED and CAP_ORPHANED flags, use bool variables instead 2016-07-31 18:39:19 -05:00
William Pitcock e7a768ca22 capability: fix capability stats dumping 2016-07-31 18:10:31 -05:00
William Pitcock 7128b66c97 rb: remove export-syms.txt for now 2016-07-31 18:06:26 -05:00
William Pitcock d7eb77c61b rb: import formatter library 2016-07-31 17:55:43 -05:00
William Pitcock 561ca4dfc0 travis: clang 3.8 is fucked, disable for now 2016-07-31 14:29:46 -05:00
William Pitcock 113f57f865 travis: test clang++ 3.8 on a newer distribution to avoid broken libstdc++ headers 2016-07-31 14:22:35 -05:00
William Pitcock 8bb208aaa2 version: don't crash due to buffer underrun 2016-07-31 03:35:45 -05:00
William Pitcock 92415a5371 alias: cleanups 2016-07-31 03:24:12 -05:00
William Pitcock d0a59d58a0 capability: major rewrite for C++ support.
- no rb_dictionary use anymore
- CapabilityIndex converted into a proper class
- proper RAII lifecycle management
2016-07-31 03:18:22 -05:00
William Pitcock ddd9920f5b util: memory, not unique_ptr header :) 2016-07-31 02:14:37 -05:00
William Pitcock 6fb9a722a2 fix build on clang++ 3.8 2016-07-31 01:59:57 -05:00
William Pitcock 10ff2d192c alias: convert to RAII/std::string/etc, no more rb_dictionary use (ref #202) 2016-07-31 01:57:04 -05:00
William Pitcock 1c77b054a8 parse: move cmd_dict to a std::set 2016-07-31 01:36:14 -05:00
William Pitcock 4ed0aebcb6 cache: further cleanups 2016-07-31 01:21:10 -05:00
William Pitcock 840ffb0935 cache: do not cause an implicit copy of std::string elements 2016-07-31 01:19:15 -05:00
William Pitcock c7135bdf9a cache: adopt proper RAII pattern 2016-07-31 01:03:05 -05:00
William Pitcock 1c813cee95 cache: rough conversion of help system to std::map (ref #202) 2016-07-30 22:13:29 -05:00
William Pitcock d18e5dc54f util: add std::map helpers for using case-insensitive strings/irccmp strings 2016-07-30 21:54:48 -05:00
William Pitcock 34a33a07d0 configure: fix ENABLE_FHS_PATHS being enabled when it shouldn't 2016-07-30 21:25:34 -05:00
William Pitcock e64c51e71c bandb: show the path of the database file when complaining about opening it 2016-07-30 21:14:52 -05:00