0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-10-30 02:18:58 +01:00
Commit graph

3436 commits

Author SHA1 Message Date
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
William Pitcock
0268efc78c librb: we have no plans to support VMS 2016-06-19 21:47:23 -05:00
William Pitcock
94555087a1 ircd: relocate_paths() back on windows only now 2016-06-18 01:05:38 -05:00
William Pitcock
2185c50aad m_modules: use new module api 2016-06-18 00:59:15 -05:00
William Pitcock
1e37cb443d conf_parser: warning fixes 2016-06-18 00:52:54 -05:00
William Pitcock
e55a9d6abc modules: serious cleanups 2016-06-18 00:52:16 -05:00
William Pitcock
92dad4831d modules: cleanups 2016-06-18 00:38:40 -05:00
William Pitcock
73b70ae846 ircd: fix compile of relocate_paths() 2016-06-18 00:22:02 -05:00
William Pitcock
7145720468 ircd: make relocate_paths() available always 2016-06-18 00:21:39 -05:00