0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-11-28 01:32:43 +01:00
Commit graph

3351 commits

Author SHA1 Message Date
Jason Volk
7d0d2add64 appveyor: Update for C++ 2016-07-22 19:46:27 -07:00
Jason Volk
748faeb264 Improve warnings. 2016-07-22 19:46:27 -07:00
Jason Volk
8873731aa0 Attempt at shipping boost. 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
ac4dda1e67 Towards a leak-free repository.
Adds a Makefile target 'mrproper' though this only works on new versions of AC.
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
007c6bf496 ircd/librb: Move "AFP" macro from ircd to rb. 2016-07-19 22:38:56 -07:00
Jason Volk
b903059075 Autotools preparation for GNU++14.
Files with the suffix .cpp will automatically integrate.
2016-07-19 22:38:56 -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
William Pitcock
3ec073dc83 Merge pull request #201 from jevolk/master
ircd: Fix missing operhash reference decrement from b02a913b.
2016-07-19 18:14:50 -05: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
Aaron Jones
8a5fb52836
reference.conf: Document fingerprint generation
[ci skip]
2016-07-16 05:42:58 +00:00
Jason Volk
4928572037 travis: Fix GCC compiler environment. 2016-06-30 21:07:03 -07:00
William Pitcock
7f6e873ec7 Merge pull request #197 from jevolk/mapi3
Module API Version 3 + ratbox package
2016-06-28 22:19:57 -05: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
ba7cb82ab3 librb: Add backtrace support and trace on assertions. 2016-06-28 20:13:52 -07:00
Jason Volk
5a0016ccbd librb: Minor cleanup of rb_dlink.h
Add prototypes; some macro cleanup.
2016-06-28 17:00:14 -07:00
Jason Volk
c5698b0276 librb: Move bool type stuff from ircd stdinc to rb. 2016-06-28 17:00:14 -07:00
Jason Volk
1490dd36b5 librb: Add missing rb_dictionary.h to rb_lib.h list. 2016-06-28 17:00:14 -07:00
Jason Volk
c9f0354dbc librb: Add array_to_string() to invert string_to_array(). 2016-06-28 17:00:14 -07:00
Jason Volk
14cd76b435 librb: Suppress a ubiquitous strict-prototypes warning with anecdote. 2016-06-28 17:00:14 -07:00
Jason Volk
c7529ba5bf librb: Relax rb_free() to allow const pointers. 2016-06-28 17:00:14 -07:00
Jason Volk
050e36b369 librb: Dress some memory functions with attributes. 2016-06-28 17:00:06 -07:00
Elizabeth Myers
180b684529
Fix stupid compiler errors by my stupidity and tiredness 2016-06-27 19:14:32 -05:00
Elizabeth Myers
96b1c6b8bf
blacklist: add blacklist_cancel_none 2016-06-27 19:06:49 -05:00
Elizabeth Myers
2374f221fe
blacklist: add return statement. d'oh. 2016-06-27 19:00:00 -05:00
Elizabeth Myers
57779d5439
blacklist: fix precedence lossage 2016-06-27 18:59:53 -05:00
Elizabeth Myers
cd38b86d3e
blacklist: if no blacklists were checked, properly terminate query. 2016-06-27 18:56:14 -05:00
Elizabeth Myers
01f6c84bbc
build_rdns: minor cleanup 2016-06-27 18:37:46 -05:00
Elizabeth Myers
8dfd99e7fe
blacklist: tweak message for timeout 2016-06-27 18:28:02 -05:00
Elizabeth Myers
3c9d3bb23f
blacklist: give different messages for cancellation and timeout 2016-06-27 18:24:39 -05:00
Jason Volk
4ad6696403 librb: fork an rb_dlink.h out of rb_tools.h 2016-06-27 14:32:53 -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
Jason Volk
215775da59 librb: Add smart-pointer macro for RAII resource management.
A good practice, especially for large community projects, preventing
leaks and error handling as clean possible without exceptions.
2016-06-27 14:32:43 -07:00
Mantas Mikulėnas
33bbdf474e
use designated initializers for the mode table
The table sure was pretty but we've been using the C99 syntax in quite a
few places already with no complaints, anyway.
2016-06-27 09:18:01 +03:00
William Pitcock
79235fec68 modules: missed a spot 2016-06-26 01:43:17 -05:00
William Pitcock
f200d90869 modules: allow non-opers to see what extensions are loaded 2016-06-26 01:40:43 -05:00
William Pitcock
355f78b248 add an example spamfilter configuration file (probably shouldn't be used on actual networks of course) 2016-06-26 01:22:30 -05:00
William Pitcock
6645bd9d5e extensions: import @jevolk's spamfilter_expr module 2016-06-26 00:00:00 -05:00
William Pitcock
2be307e059 configure: check for PCRE2 2016-06-25 23:42:00 -05:00
William Pitcock
1a2426007f spamfilter: import @jevolk's spamfilter_nicks module 2016-06-25 23:19:40 -05:00
William Pitcock
6727daa33e librb: export-syms: export rb_radixtree_destroy(). 2016-06-25 23:19:25 -05:00
William Pitcock
189f035bd8 extensions: implement @jevolk's spamfilter core module 2016-06-25 23:07:05 -05:00
Jason Volk
6357ad5fd9 Add a reason pointer to hook_data_privmsg_channel. When set, the reason is appended to the text of ERR_CANNOTSENDTOCHAN. The pointer will not be free()'ed. 2016-06-25 22:57:04 -05:00
William Pitcock
7e1bb8ad0d Proper channel mode classification. Fixes existing ad hoc
channel mode classification which is required by RPL_MYINFO indicating arity,
and RPL_ISUPPORT indicating an enumerated class. The content of these replies
had previously been generated by hardcoded strings of some letters.

Channel modes require classification which corresponds to the
CHANMODES= data in RPL_ISUPPORT. Classes A,B,C can then be
listed in the unary column of RPL_MYINFO. cflag_add() is updated
for this. Additional cleanup of chmode.h and channel.h
circularity is also proffered within.

Submitted-by: Jason Volk <jason@zemos.net>
2016-06-25 22:54:37 -05:00