0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-06-18 09:58:22 +02:00
Commit graph

3244 commits

Author SHA1 Message Date
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
William Pitcock 499f3437c7 configure: 5 now 2016-06-25 22:30:58 -05:00
William Pitcock 528d6e43af travis: turn off clang on linux for now 2016-06-25 14:35:16 -05:00
Jason Volk 12de082e2c Fix bug. Note: The second hunk is just an assumption. It's not called from anywhere. 2016-06-25 14:27:32 -05:00
William Pitcock c642292f25 Merge pull request #196 from jevolk/master
I typed MODRESTART by accident
2016-06-21 20:00:01 -05:00
Jason Volk b5cfad0319 Core modules cannot be unloaded, otherwise bad things happen.
Additionally some information is logged and passed to the operator
conducting a MODRESTART.
2016-06-21 17:42:36 -07:00
Jason Volk 94afbe9c8e ircd: Fix capability entry name string ownership.
The entry->cap must be copied and exclusive to the entry for the
cap to be orphaned, even if literals are expected. Because modules.
2016-06-21 17:32:28 -07:00
William Pitcock 2e29fd422d librb: remove one more VMS detritius 2016-06-19 21:47:59 -05:00