0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-07-23 10:58:37 +02:00
Commit graph

3437 commits

Author SHA1 Message Date
Jason Volk db3d770b9d ircd::rfc1459: Introduce formal grammar. 2016-09-09 16:17:03 -07:00
Jason Volk 7bc7d37052 ircd::util: Add string() convenience to 'to_string' an object stream. 2016-09-09 16:17:03 -07:00
Jason Volk f446081021 ircd::rfc1459: Add util to build string of characters by attribute. 2016-09-09 16:17:03 -07:00
Jason Volk 9e027b2212 configure.ac: Clarify specific spirit headers (avoid deprecation for spirit.hpp) 2016-09-09 16:17:03 -07:00
Jason Volk 22587f465d ircd::util: Make the flag enum operators constexpr. 2016-09-09 16:17:02 -07:00
Jason Volk 8c537288d1 charybdis: Add -cmd option to drop a command prompt immediately after init. 2016-09-09 16:17:02 -07:00
Jason Volk f076b33724 ircd: Trivial type clarifications in rfc1459. 2016-09-09 16:17:02 -07:00
Jason Volk 2c854124af ircd::conf: Add newconf to oldconf translation. 2016-09-09 16:17:02 -07:00
Jason Volk 3e1bf93a22 ircd: Move reconstruct_parv() from parse.cc to stringops.cc 2016-09-09 16:17:02 -07:00
Jason Volk 670990a215 Upgrade newconf parser to boost::spirit. 2016-09-09 16:17:02 -07:00
Jason Volk edd8fa2ab0 Chase the Bison off a cliff.
---<<|<᚜<᚜᚜᚜᚜-
2016-09-09 16:17:02 -07:00
Jason Volk 1df1545a3c configure.ac: Support boost::spirit parser framework. 2016-09-09 16:17:02 -07:00
Jason Volk 12c836dc6e Rip out libltdl. 2016-09-09 16:17:02 -07:00
Jason Volk 5aeeb73e20 ircd: Introduce ASIO; stub for signal handling and console UI. 2016-09-09 16:17:02 -07:00
Jason Volk baa60ed253 ircd: Add booltype to getopts parser. 2016-09-09 16:17:02 -07:00
Jason Volk 4b9dc5bff4 ircd: Populate path:: with boost::filesystem wrapping. 2016-09-09 16:17:02 -07:00
Jason Volk 4b62a704bf charybdis: Establish main entry point. 2016-09-09 16:17:02 -07:00
Jason Volk 4399c1e2c3 ircd: Populate stringops with some general utils. 2016-09-09 16:17:01 -07:00
Jason Volk a8ed3d2dc2 Simplify ircd::fs::path related to ircd::path. 2016-09-09 16:17:01 -07:00
Jason Volk 102c15d768 ircd: Remove fs path relocations for windows. 2016-09-09 16:17:01 -07:00
Jason Volk 153b017358 ircd: Remove pidfile. 2016-09-09 16:17:01 -07:00
Jason Volk 9d0a959bb5 MAPI IV. This iteration leverages the C++11 standardized RTTI.
* Simplifies the export declarations for module developers. While
MAPI III utilized a flexible key-value vector to eliminate positional
arguments in a header initializer, now the developer simply makes
a list of pointers to what they want to export for injection into
IRCd. Example:

mapi::header IRCD_MODULE
{
	"mymod",
	"My module adds a command, a hook, and a CLICAP",
	&my_cmdtab,
	&some_hook,
	&clicaptab
};

* Distributes the handlers for items passed to the above vector.
Anyone can add a type-handler to the module system from anywhere in IRCd
(and other modules?) When your type is encountered a handler is called
providing the symbol name to read out of the module. Example in parser.cc:

mods::add_loader<Message>([]
(mod &loading, const std::string &symbol)
{
	auto &msg(get<Message>(loading, symbol));
	add_command(msg.name, msg);
});
2016-09-09 16:17:01 -07:00
Jason Volk 638db81e09 configure.ac: Support boost::filesystem / boost::dll. 2016-09-09 16:17:01 -07:00
Jason Volk 5994fa3f21 ircd: static_assertion for critical unsigned mode mask value. 2016-09-09 16:17:01 -07:00
Jason Volk 3589a763e8 extensions: Apply mode_lease to snomask extensions. 2016-09-09 16:17:01 -07:00
Jason Volk e052b0ed06 ircd: Reuse umode template code here and there. 2016-09-09 16:17:01 -07:00
Jason Volk 3ebde4ab50 Convert umodes to mode_lease mechanism. 2016-09-09 16:17:01 -07:00
Jason Volk b5d4fef865 configure.ac: -Woverloaded-virtual -Wnon-virtual-dtor -Wnoexcept 2016-09-09 16:17:00 -07:00
Jason Volk 46f18bfc20 Remove all older versions of extensions/ip_cloaking. Make 4.0 default.
Too much copypasta to change one mode letter etc. Lettering options
can be added in the code instead.
2016-09-09 16:17:00 -07:00
Jason Volk 127378b57c Refactor logger. 2016-09-09 16:17:00 -07:00
Jason Volk 7dc9b7648e ircd: Remove pleonastic message prefix in sendto_realops_snomask(). 2016-08-28 01:48:25 -07:00
Jason Volk 052a6c8d22 Refactor snomask. 2016-08-28 01:48:25 -07:00
Jason Volk ef1a01b752 Introduce the abstract mode_lease mechanism to acquire and release slots. 2016-08-28 01:48:25 -07:00
Jason Volk 248497505b Introduce the abstract mode table template. 2016-08-28 01:48:25 -07:00
Jason Volk 883dada3d4 ircd: Rename hostmask to mask; add pretty_mask() from chmode. 2016-08-27 20:57:36 -07:00
Jason Volk 8cca1190ec ircd: Deinline stringops.h 2016-08-27 20:57:36 -07:00
Jason Volk 21cfd2eefd ircd: Rename newconf name conflict. 2016-08-26 08:50:11 -07:00
Jason Volk 9d87313756 ircd: Hose fork()/close(fd) related. 2016-08-25 22:02:19 -07:00
Jason Volk e586d268fc ircd::util: Add microtime() util. 2016-08-25 21:48:16 -07:00
Jason Volk 4e8fd35341 ircd::util: Add enum for_each closure for conforming enums. 2016-08-25 20:43:40 -07:00
Jason Volk 004d60658b ircd: Remove unused patchlevel.h header. 2016-08-25 06:32:52 -07:00
Jason Volk e4673b3fc0 ircd: Remove the restart.h header (temp merge into ircd.h). 2016-08-25 06:32:52 -07:00
Jason Volk 1f91909181 ircd: Remove unused ircd_linker.h header. 2016-08-25 06:27:20 -07:00
Jason Volk 3846579e59 ircd: Remove ircd_signals.h header (temp merge into ircd.h). 2016-08-25 06:27:10 -07:00
Jason Volk d9e90e8937 ircd::cache: Convert send function arguments client* -> client& 2016-08-25 04:57:23 -07:00
Jason Volk 5f79420c29 Refactor isupport. 2016-08-25 03:01:45 -07:00
Jason Volk 9c16de2d41 Refactor whowas. 2016-08-25 02:34:28 -07:00
Jason Volk 5f218cdbb2 Refactor scache. 2016-08-25 02:07:11 -07:00
Jason Volk fdf396862b ircd: Move inline/stringops.h out of inline/ 2016-08-25 02:07:11 -07:00
Jason Volk f7dc872592 configure.ac: Test targets for experimental std::string_view. 2016-08-25 02:07:11 -07:00