0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-11-30 10:42:47 +01:00
Commit graph

252 commits

Author SHA1 Message Date
Jason Volk
f5143fbf73 Add channel structure into namespace + remove related rb_banheaps. 2016-08-20 19:30:34 -07:00
Jason Volk
03660fc4b0 Refactor chmode into namespace.
She's still a bit of a mess.
2016-08-20 19:30:34 -07:00
Jason Volk
f112111e51 Add rfc1459:: case compliance namespace. 2016-08-20 19:30:34 -07:00
Jason Volk
39eebde589 Fix error on GCC-6 platform
error: invalid operands of types ‘__gnu_cxx::__enable_if<true, double>::__type
{aka double}’ and ‘int’ to binary ‘operator%’
2016-08-20 19:30:33 -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
Aaron Jones
ab96a37bfd
mkpasswd: use urandom for salts, cleanup
Using /dev/random for salt generation is pointless -- it can block, and
any extra randomness it would provide (which is debatable) is not needed,
as salts only need to be unique, not unpredictable.
2016-08-15 09:55:51 +00:00
Jason Volk
a71a4551ae ircd: Insert into ircd:: namespace. 2016-08-13 02:43:42 -07:00
Jason Volk
4796bec441 Activate PCH for position independent code.
Cuts compilation time by 30%+
2016-07-25 00:54:38 -07:00
Jason Volk
404239eb60 Build system cleanup. 2016-07-22 19:46:28 -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
William Pitcock
6645bd9d5e extensions: import @jevolk's spamfilter_expr module 2016-06-26 00:00:00 -05:00
William Pitcock
1a2426007f spamfilter: import @jevolk's spamfilter_nicks module 2016-06-25 23:19:40 -05:00
William Pitcock
189f035bd8 extensions: implement @jevolk's spamfilter core module 2016-06-25 23:07:05 -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
Elizabeth Myers
4eafa9e62f ipv4_from_ipv6: move to librb 2016-04-08 03:49:23 -05:00
Elizabeth Myers
f956cb0f1f Use rb_* versions of nonportable string functions 2016-04-05 05:39:59 -05:00
Elizabeth Myers
0ed0a9fe0a Move m_locops module to extensions.
Many networks do not use local ops and therefore should not be required
to have this around all the time.
2016-04-02 05:20:30 -05:00
Aaron Jones
fef6857e3f
extensions: Fix duplicate extban character usage
extb_usermode and extb_hostmask both use the same extban character
('m'), resulting in only one of the modules being usable (depending
on module load order) and neither one functioning if one of them
is unloaded.

This changes the character for extb_usermode from 'm' to 'u'.

[ci skip]
2016-03-28 03:26:10 +01:00
Matt Ullman
afba2488ec extb_combi: More int to bool conversion
Cleanup whitespace in ircd_lexer.l
2016-03-25 19:47:58 -04:00
Elizabeth Myers
fea4e2d2a8 modules: libircd depends on librb, so no need to include it.
This triggers multiple inclusion warnings on Solaris also.
2016-03-23 13:59:45 -05:00
Elizabeth Myers
79435744c7 common.h: raison d'être is gone, so out it goes.
Fold whatever was left into ircd_defs.h
2016-03-23 09:33:56 -05:00
Matt Ullman
66769bc1f8 More cleanup 2016-03-23 00:11:26 -04:00
Matt Ullman
e23126c83b Cleanup warnings 2016-03-21 22:28:41 -04:00
William Pitcock
032ef5ef9e modules: more GET_SS_FAMILY() checking 2016-03-20 04:46:50 -05:00
William Pitcock
c0949eb003 extensions/m_webirc: win32 fixes 2016-03-20 02:26:30 -05:00
Elizabeth Myers
503727d1ee More bool conversions 2016-03-09 02:19:31 -06:00
Elizabeth Myers
3c7d6fcce7 Message handlers should return void.
Also fix up some return values and stuff to use bool (or void if
nothing). I just did it whilst I was here.

According to jilles, the return value used to signify whether or not the
client had exited. This was error-prone and was fixed a long, long time
ago, but the return value was left int for historical reasons.

Since the return type is not used (and has no clear use case anyway),
it's safe to just get rid of it.
2016-03-09 01:37:03 -06:00
Elizabeth Myers
eeabf33a7c Move module description headers to the top
This is cleaner.

Note this was broken out of a much larger piece of work I did, so if
there's any problems, I apologise!
2016-03-09 01:29:41 -06:00
Max Teufel
54d8925ed4 extensions: add umode_noctcp extension 2016-03-07 18:48:14 +01:00
Elizabeth Myers
a278a4fc68 AV2 descriptions: forgot these 2016-03-07 04:11:58 -06:00
Elizabeth Myers
3bde01a819 Update extensions/spy_* with AV2 descriptions. 2016-03-07 04:09:14 -06:00
Elizabeth Myers
84b4c05888 Add AV2 descriptions for extensions/sno_* 2016-03-07 04:02:27 -06:00
Elizabeth Myers
3fd3d7e176 Port some more extensions to AV2 and add descriptions 2016-03-07 03:50:03 -06:00
Elizabeth Myers
8699801ca2 Compensate for my obviously diminished faculties. 2016-03-07 03:42:43 -06:00
Elizabeth Myers
02369fa767 Give all extensions/m_* modules AV2 descriptions 2016-03-07 03:40:51 -06:00
Elizabeth Myers
dacd2aa8c2 Bump some extensions to AV2 and add descriptions 2016-03-07 03:08:40 -06:00
Elizabeth Myers
de2b673f5a example_module: forgot a stupid semicolon. 2016-03-07 01:35:35 -06:00
Elizabeth Myers
4d552723ee example_module: update for AV2. 2016-03-07 01:27:57 -06:00
William Pitcock
c81afd1580 extensions: add AV2 description strings to a few modules 2016-03-07 00:32:01 -06:00
Elizabeth Myers
1bb809cb30 Remove m_42 from README. 2016-03-06 23:58:32 -06:00
Elizabeth Myers
d40217b4f6 Bye m_42.
Mostly a useless hybrid relic that nobody had used for years.
2016-03-06 23:57:50 -06:00
Elizabeth Myers
04f832b778 Bump all extensions to AV2
Most do not yet have descriptions, but that's trivial.
2016-03-06 23:57:10 -06:00
Elizabeth Myers
581dad19a4 Update chm_* modules to AV2 2016-03-06 23:48:27 -06:00
Elizabeth Myers
216d70e91d modules: tag origin at load time. 2016-03-06 18:57:05 -06:00
Elizabeth Myers
c63aeb44e9 modules: add origin field to V2 2016-03-06 17:52:49 -06:00
Elizabeth Myers
c168ef1864 m_remove: use new AV2 MAPI 2016-03-06 17:27:02 -06:00
Elizabeth Myers
a4bf26dd34 Move irc_* data structures to librb.
This makes the base ircd less cluttered up with data structures that can
go elsewhere.
2016-03-06 14:17:19 -06:00
Elizabeth Myers
fe037171d6 Change all leftover libratbox stuff to librb. 2016-03-06 03:49:27 -06:00
Elizabeth Myers
c6d81c6d59 m_echotags: Oops... 2016-03-06 02:49:16 -06:00