0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-12-28 16:34:13 +01:00
Commit graph

418 commits

Author SHA1 Message Date
Jason Volk
a84fe8a09b Upgrade bqeI channel lists. 2016-08-20 19:30:35 -07:00
Jason Volk
125e3b21f2 ircd: Improve/rename channel name check related. 2016-08-20 19:30:34 -07:00
Jason Volk
7d44e271f7 Better names for some channel mode convenience former-macros. 2016-08-20 19:30:34 -07:00
Jason Volk
e1cccd482b Updates to match utilities. 2016-08-20 19:30:34 -07:00
Jason Volk
b7a84d3650 Prevent ambiguous cast when the comparator function is overloaded. 2016-08-20 19:30:34 -07:00
Jason Volk
2352528ffb ircd: rename mask_match() to match_mask(). 2016-08-20 19:30:34 -07:00
Jason Volk
f5143fbf73 Add channel structure into namespace + remove related rb_banheaps. 2016-08-20 19:30:34 -07:00
Jason Volk
03660fc4b0 Refactor chmode into namespace.
She's still a bit of a mess.
2016-08-20 19:30:34 -07:00
Jason Volk
f112111e51 Add rfc1459:: case compliance namespace. 2016-08-20 19:30:34 -07:00
Jason Volk
3f6d567285 ircd: Improve/refactor version.cc -> info.cc related. 2016-08-20 19:30:34 -07:00
Jason Volk
60c044d78a Fix redundant/conflicting namespace labels. 2016-08-20 19:30:33 -07:00
Jason Volk
fc4af83fdf Remove __unused macro. 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
90c9fe686e ircd: Namespace and partially modernize ircd::cache. 2016-08-19 22:39:34 -07:00
Jason Volk
a71a4551ae ircd: Insert into ircd:: namespace. 2016-08-13 02:43:42 -07:00
Jason Volk
0e62b5a91a Add PIC/PCH condition in stdinc.h. 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
f6199d5d12 Reduce redundant includes. 2016-08-12 16:41:40 -07: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
8bb208aaa2 version: don't crash due to buffer underrun 2016-07-31 03:35:45 -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
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
Jason Volk
625fb277ca Add root exception + basic utilities. 2016-07-25 19:43:26 -07:00
Jason Volk
73297c988b Preliminary defaults/paths namespacing.
The namespace is inline to mimic the C namespace for now.
2016-07-25 16:49:00 -07:00
Jason Volk
4796bec441 Activate PCH for position independent code.
Cuts compilation time by 30%+
2016-07-25 00:54:38 -07:00
Jason Volk
d1edbc0e58 Complete the C++ linkage with flex/bison. 2016-07-25 00:54:38 -07:00
Jason Volk
404239eb60 Build system cleanup. 2016-07-22 19:46:28 -07:00
Jason Volk
8f03786300 ircd: Use rb_socklen_t type. 2016-07-22 19:46:28 -07:00
Jason Volk
ac577c1322 Regress brace init relaxation for clang. 2016-07-22 19:46:28 -07:00
Jason Volk
e7e7f8ff9f Convert bison.
NOTE: This only has "C" linkage right now.
2016-07-22 19:46:27 -07:00
Jason Volk
754a6d9b5c ircd: add local .gitignore. 2016-07-22 19:46:27 -07:00
Jason Volk
834964c659 Convert IRCd to C++
Happy 28th birthday. You're all grown up.
2016-07-22 19:46:27 -07:00
Jason Volk
7cea4c784d ircd: Merge the defaults/ircd_defs stuff for now.
ircd/rb: Move some lowish level macros down to rb.
2016-07-21 20:51:02 -07:00
Jason Volk
ffb2f63850 ircd: newconf: Fix const correctness. 2016-07-21 20:51:02 -07:00
Jason Volk
ea53aab823 Refactor repository layout.
* librb is no longer a separately configured subproject.
* charybdis is now a standalone directory with a binary.
* Include path layout now requires a directory ircd/ rb/ etc.
2016-07-21 20:51:02 -07:00
Jason Volk
acd516444a Fix header compatibility with c++ dialects.
This allows the option of at least -std=gnu++14 for new translation units.
Changes are trivial.
2016-07-19 22:38:56 -07:00
Jason Volk
de800bd3d7 ircd: Fix log error. 2016-07-19 22:35:49 -07:00
Jason Volk
fbcb6a2549 ircd: Fix missing operhash reference decrement from b02a913b. 2016-07-19 15:59:35 -07:00
Jason Volk
d58468f03b Fix erroneous return value. 2016-07-16 11:49:19 -07:00
Jason Volk
e8355cb7be MAPI Version 3
This version leverages a flexible, cleaner key-value strategy
reducing the need to design entire new headers for every feature
addition, change, etc.

* A friendly declaration for the module authors, with minimal
requirements to fill in, and explicit labels of what the fields are.
* Repetition of keys, removing references to (and the requirement to
build) a clist, hlist and hfnlist and caplist and whatever the future
holds.
* Safe deterministic loading and unloading. Keys are evaluated in
order, errors can be recognized, and unloading occurs in reverse
order.

ircd: Refactor internal half of modules.c, with some V3 additions.
Provides better delegation for versions, a cleaner stack with better
error handling, and some functionality deduping. V1 and V2 handlers
are still somewhat unaltered, just factored in.
2016-06-28 20:14:09 -07:00
Jason Volk
97a4adae40 ircd/librb: epoch needs a john hancock 2016-06-28 20:14:09 -07:00
Jason Volk
3073c2fa3a ircd: Add slog(), a log function that takes both an L_ argument and
a SNO_ argument to smash the pattern of having an ilog() followed by
sendto_realops_snomask() with the same message.
2016-06-27 14:32:53 -07:00