Jason Volk
41cfb47de4
ircd: Add strncpy++ tool.
2019-09-18 09:50:14 -07:00
Jason Volk
34de10317b
ircd: Add info::versions instances for self API and ABI.
2019-09-07 14:10:01 -07:00
Jason Volk
fefaaca2c2
ircd::prof: Split header into directory.
...
ircd::prof: Split linux/perf_event specific to unit.
2019-07-31 19:43:09 -07:00
Jason Volk
1c01b21720
ircd::util: Add unit and deinline various date/time util.
2019-07-15 09:47:34 -07:00
Jason Volk
de94e95422
ircd: Split out overgrown components from stringops.h
2019-07-11 15:51:09 -07:00
Jason Volk
d17afdd531
ircd::http2: Start an RFC7540 implementation.
2019-06-21 16:54:22 -07:00
Jason Volk
f702520044
ircd: Add infrastructure to handle continuation notification after suspending.
2019-06-05 15:06:16 -07:00
Jason Volk
351f1804c8
Add runtime program option to soften assert behavior.
2019-06-01 02:10:30 -07:00
Jason Volk
16f6fbc352
ircd::magick: Start a central header; add interface support infrastructure.
2019-05-28 23:24:45 -07:00
Jason Volk
d7e1f88921
ircd: Minor remove cruft; internal ircd::main().
2019-05-24 18:15:56 -07:00
Jason Volk
744438ec49
ircd: Precompile the spirit.h header.
2019-04-20 19:24:18 -07:00
Jason Volk
f9025cebb9
ircd: Support read-only and write-avoid modes via conf item / command line.
2019-04-15 11:16:31 -07:00
Jason Volk
63c850b123
ircd: Rename perf:: to prof::.
2019-04-03 15:51:42 -07:00
Jason Volk
403bf52867
ircd::perf: Start a perf profiling subsystem; move ctx::prof counter utils.
2019-03-31 18:16:18 -07:00
Jason Volk
ede2439a55
ircd: Add support for configurable soft-assertions.
2019-03-15 16:19:05 -07:00
Jason Volk
f955f1d494
ircd::rfc3986: Add length checks to validations; consolidate validation paths from rfc1035.
2019-03-13 13:11:51 -07:00
Jason Volk
72fe68bb29
ircd::stats: Start a preliminary stats system.
2019-03-12 18:41:05 -07:00
Jason Volk
a21e03df27
ircd: Add restart support w/ console cmd.
2019-03-02 14:20:52 -08:00
Jason Volk
715c4749cd
ircd: Start a stdinc grammar header as a front to spirit.h.
2019-02-26 12:57:43 -08:00
Jason Volk
f0ce1cdcae
ircd: Split up resource.h.
2019-02-18 11:04:02 -08:00
Jason Volk
d8536ca9a9
ircd: Move fpe into util.
2019-02-16 13:17:44 -08:00
Jason Volk
d639eceba2
ircd: Move runlevel related into ircd::run:: namespace.
2019-01-18 09:08:56 -08:00
Jason Volk
815252e71f
ircd: Remove unused ap/cbor on this branch.
2019-01-02 12:27:17 -08:00
Jason Volk
1ba22a21ba
ircd: Disperse accumulated global options as conf items in namespaces.
2018-12-08 15:36:34 -08:00
Jason Volk
0c0c3b1f41
ircd: Split runlevel related into header and unit.
2018-12-08 15:15:31 -08:00
Jason Volk
99001a4ea5
ircd: Initial ap.
2018-12-05 15:17:00 -08:00
Jason Volk
10b8db0bb3
ircd::http: Add format string construction for http::error.
2018-12-05 15:15:26 -08:00
Jason Volk
ca525b081f
ircd: Add noaio global flag; add command line option.
2018-12-01 15:55:53 -08:00
Jason Volk
36b4e3cabe
ircd: Add init parameters for different origin and hostname strings.
2018-12-01 14:55:38 -08:00
Jason Volk
6967ad1faa
ircd::fpe: Add floating point environment suite; error scoping device.
2018-11-11 18:28:28 -08:00
Jason Volk
a7e4acc519
ircd: Split and reorg ircd::hash/ircd::crh related headers and units.
2018-11-08 17:04:15 -08:00
Jason Volk
60a0694853
construct: Add program option to disable direct IO.
2018-09-03 07:59:05 -07:00
Jason Volk
b63c103bb7
ircd: Disable CBOR for now.
2018-09-01 16:57:56 -07:00
Jason Volk
4199d5026c
ircd: Factor out the ircd::BUFSIZE; remove stale ircd::config extern.
2018-08-17 12:51:48 -07:00
Jason Volk
d1944c6006
construct/ircd: Use hostname-based init from command line params.
2018-08-13 14:36:50 -07:00
Jason Volk
9aedac4461
ircd: Move preliminary cbor into directory.
2018-08-11 00:42:08 -07:00
Jason Volk
a98bd357df
construct/ircd: Add -pitrecdb option to allow point-in-time recovery.
2018-07-06 17:09:33 -07:00
Jason Volk
8fcd6379a4
construct/ircd: Add -nojs option to not init js engine.
2018-07-05 16:57:47 -07:00
Jason Volk
01d9ce038c
ircd: Preliminary CBOR namespace and unit.
2018-07-01 02:09:35 -07:00
Jason Volk
13bee93ddc
ircd: Split standard includes back into an stdinc.h.
2018-06-15 16:19:29 -06:00
Jason Volk
9601dac9cc
ircd: Consolidate stdinc.h and ircd.h and fix precompiled headers.
2018-06-15 16:13:18 -06:00
Jason Volk
e3b97871f9
ircd: Add function to return daemon's uptime.
2018-04-14 17:15:06 -07:00
Jason Volk
91c9737f29
ircd: Improve runlevel changed callback related.
2018-03-23 22:17:09 -07:00
Jason Volk
8ad264f72d
ircd: Consolidate demangle related into interface / unit.
2018-03-23 22:17:09 -07:00
Jason Volk
be624ca7f6
Update Copyrastafaris.
2018-02-05 21:24:34 -08:00
Jason Volk
9871332957
fixup! Pin boost to 1.66.0.
2017-12-29 15:53:39 -07:00
Jason Volk
1a1a50f5f3
Checkpoint reorganization.
2017-11-30 12:30:19 -08:00
Jason Volk
97672ccc8f
ircd: Preliminary initial conf.
2017-11-30 11:23:46 -08:00
Jason Volk
d7136bb393
ircd: Improve and comment on runlevel / client interruption.
2017-11-30 11:23:43 -08:00
Jason Volk
816b5125b2
ircd: Improve/cleanup ircd::init()/ircd::stop() related.
2017-10-03 04:17:07 -07:00
Jason Volk
54d6793f59
Update various documentation and comments.
2017-09-24 18:16:33 -07:00
Jason Volk
6cd58b0d6a
ircd: Update various comments / minor cleanup.
2017-09-24 18:16:32 -07:00
Jason Volk
d9a4f06bf6
ircd: Employ namespace scope extensions from c++1z/gnu++14.
...
This is not a move to c++17. If the compiler happens to have support
for c++17 namespace scope resolution, they have been kind enough to
backport it to gnu++14. This limits our support for really old c++14
compilers, but that was limited anyway. GCC 6.1 and clang 3.6 tested.
2017-09-08 03:47:46 -07:00
Jason Volk
10472684f2
ircd: Cleanup client/ircd main. Fixes for exit notification.
2017-08-23 15:50:37 -06:00
Jason Volk
9ed8716569
fixup! What is the Matrix? Control.
2017-03-20 19:24:18 -07:00
Jason Volk
c9ddf4f6ab
ircd: Add lex_cast wrapper interface; various cleanup.
2017-03-14 15:03:15 -07:00
Jason Volk
b592b69b86
What is the Matrix? Control.
2017-03-10 17:51:18 -08:00
Jason Volk
be48466ef3
fixup! [temp] Checkpoint test.
2016-11-13 16:32:38 -08:00
Jason Volk
ae40f9c016
ircd: Move all signal handling to charybdis executable.
2016-11-13 16:32:37 -08:00
Jason Volk
417594d0cd
mapi: Add check for "stuck modules" and display warning for developer.
2016-09-21 16:29:30 -07:00
Jason Volk
26a3cd8441
Preliminary new client. Reorg/renames for ircd::client struct symbol.
2016-09-21 16:29:29 -07:00
Jason Volk
556ceba8a0
ircd: new client; start over.
2016-09-21 16:29:28 -07:00
Jason Volk
07177e8a6b
ircd/charybdis: Add at_main_exit() callback to indicate IRCd has finished
...
to the host program. Without any indication, the outer program's handlers
will continue to keep ios.run() from returning.
2016-09-21 16:28:51 -07:00
Jason Volk
9275429ee1
Replace command system.
2016-09-09 16:17:36 -07:00
Jason Volk
670990a215
Upgrade newconf parser to boost::spirit.
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
4b62a704bf
charybdis: Establish main entry point.
2016-09-09 16:17:02 -07:00
Jason Volk
153b017358
ircd: Remove pidfile.
2016-09-09 16:17:01 -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
3846579e59
ircd: Remove ircd_signals.h header (temp merge into ircd.h).
2016-08-25 06:27:10 -07:00
Jason Volk
dd9124b687
Preliminary Client refactor.
...
Add client to ircd::client:: namespace.
Also move former struct User and struct Server into client.cc as
opaque structure demo.
2016-08-22 15:56:12 -07:00
Jason Volk
3f6d567285
ircd: Improve/refactor version.cc -> info.cc related.
2016-08-20 19:30:34 -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
a71a4551ae
ircd: Insert into ircd:: namespace.
2016-08-13 02:43:42 -07:00
Jason Volk
625fb277ca
Add root exception + basic utilities.
2016-07-25 19:43:26 -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
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