74 Commits

Author SHA1 Message Date
danieldg
2d732f4dbf Change match direction of extbans to allow stacking
This allows you create stacked bans like:
	+b m:r:*bot* to mute anyone with bot in their gecos
	+e S:j:+#staff to allow voices in #staff to use color

It also deprecates extban M, which can be implemented using m:R:

git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11711 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13 20:33:11 +00:00
danieldg
6d57bbe05c Change Extensible to use strongly typed entries
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11696 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13 20:30:25 +00:00
danieldg
86775e2e98 ModResult conversion: Change return type of all module functions
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11634 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:49:36 +00:00
danieldg
24731c63b6 Add Module* creator to Command and ModeHandler
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11631 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:48:48 +00:00
danieldg
2630a87bb1 Change allocation of commands/modes
API change: Commands passed to AddCommand are no longer deleted automatically

This removes lots of needless heap allocation and fixes a few memory leaks by
allocating commands and modes as part of the Module rather than creating them
separately in the module constructor.

git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11592 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:43:04 +00:00
danieldg
0da6b3a13d OnRehash changes: split to multiple hooks to clarify use and prevent explosion of rehashes on a /REHASH *
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11388 e03df62e-2008-0410-955e-edbf42e46eb7
2009-05-24 02:53:45 +00:00
psychon
b6dbd6caab Update all wiki links to point to the new wiki. This was done automatically with the following command, only .Makefile.inc got some indent fixups by hand.
for file in $(find -type f -and -not -path '*/.svn/*' -and -not -name '*.so') ; do sed -e 's#http://www.inspircd.org/wiki#http://wiki.inspircd.org#' -e 's#http://wiki.inspircd.org/index.php/#http://wiki.inspircd.org/#' -i $file ; done


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11223 e03df62e-2008-0410-955e-edbf42e46eb7
2009-03-15 12:42:35 +00:00
danieldg
bd12e3a4e6 Extban rework: allow exceptions to override bans on join
Move all bans that prevent a user from joining the channel to OnCheckBan,
then stack their return results to allow an exception to override a ban.

This does not make join exceptions override any other exception like mute.

git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11222 e03df62e-2008-0410-955e-edbf42e46eb7
2009-03-14 20:48:43 +00:00
w00t
43847ec9c7 Update copyrights for 2009.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10932 e03df62e-2008-0410-955e-edbf42e46eb7
2009-01-02 18:16:05 +00:00
brain
e853ec6473 Newer extban-supporting listmode api
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10407 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-06 13:04:26 +00:00
w00t
8de87c2a9b Change module versions to use a string instead of fixed digits, and use propset ID to auto-set versions, so we don't have (essentially unused) module versions.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10291 e03df62e-2008-0410-955e-edbf42e46eb7
2008-08-25 20:35:51 +00:00
w00t
a1a7b96a8c Match conversion stuff.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10216 e03df62e-2008-0410-955e-edbf42e46eb7
2008-08-22 16:14:36 +00:00
w00t
58f4306bb6 Revert automated conversion by Special, as it (unfortunately) neglects some details. It provides a useful start point, though, so it'll be used as the basis for the final conversion.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10215 e03df62e-2008-0410-955e-edbf42e46eb7
2008-08-22 15:16:46 +00:00
special
517a26252a Fix a lot of calls to match() and uses of wildcard.h (which doesn't exist anymore) after w00t broke them. Still broken pending a few more changes (it's all w00t's fault.)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10214 e03df62e-2008-0410-955e-edbf42e46eb7
2008-08-22 10:09:36 +00:00
w00t
33f80efab6 Fix order of arguments, this means that ban exceptions for extbans actually work again
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10005 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-13 17:54:16 +00:00
w00t
bb7d85d51e Add support for ban exceptions on non-user extbans (e.g, +be r:*lol* r:lol?is?gay will now hopefully work)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9992 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-12 21:30:44 +00:00
w00t
328b3ef856 Extended ban exceptions (untested, probably will explode as I'm tired..)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9958 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-11 21:34:45 +00:00
pippijn
d185decae9 fixed some indentation and spacing in modules
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9888 e03df62e-2008-0410-955e-edbf42e46eb7
2008-06-11 11:35:23 +00:00
brain
0276e5138a Remove .c_str()'s in match() calls that are no longer needed as match() natively takes std::strings
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9737 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-18 17:51:36 +00:00
brain
697cf1b658 Please see my XXX in m_conn_umodes w00t, maybe something we can look at next?
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9735 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-18 17:38:51 +00:00
peavey
255b59e44b Fix crash if OnCheckBan is called and there is no list, the if was reversed.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9679 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-09 15:04:22 +00:00
w00t
d0646a9b10 Remove a level of nesting from this
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9662 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-08 16:38:30 +00:00
brain
69b42417f3 Make u_listmode more sensible and make it properly use WriteNumeric, and a few other misc fixes found during today
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9659 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-07 18:24:55 +00:00
brain
c2957516bc Finally change all the Version() objects
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9185 e03df62e-2008-0410-955e-edbf42e46eb7
2008-03-24 13:40:12 +00:00
brain
bfaf7e3b27 Commit patch from danieldg that makes a ton of stuff const-safe for latest warn-happy trigger-happy gcc4 (thanks)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8922 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-13 18:22:19 +00:00
w00t
ece985ccb3 Remove a redundant method here, call the mode manager directly
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8732 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-17 23:40:18 +00:00
w00t
e4acbc95b8 Header update: 2007 -> 2008
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8694 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-10 13:27:07 +00:00
brain
6fa2633311 Fix these to use new hook system (u_listmode wasnt fixed yet)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8533 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04 22:15:46 +00:00
brain
cadc11999e Convert all to new Attach() system. The Implements() method needs removing from all modules as it is dead weight.
WARNING: there are segfaults here! HERE BE DRAGONS, i am not finished!


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8510 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04 18:30:43 +00:00
brain
6fe38c14c1 This compiles, but note most modules are currently broken, they dont Attach()
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8508 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04 16:55:45 +00:00
brain
419f45ad54 Whoops and make it valid
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8502 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04 16:27:24 +00:00
brain
25df845b90 Fix this one too
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8501 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04 16:26:46 +00:00
brain
0e7fabc4b1 Some AddMode fixes
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8320 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-23 20:47:06 +00:00
w00t
b57c7f4e46 In the grand tradition of huge fucking commits:
- chanrec -> Channel
 - userrec -> User
Enjoy.

git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8204 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-15 20:59:05 +00:00
om
8394be69a0 Move everything module-related out of InspIRCd and into ModuleManager, there is a ModuleManager instantiated as InspIRCd::Modules. Several of the function names have changed slightly as well. e.g. Instance->FindModule(m_foobar.so); is now Instance->Modules->Find(m_foobar.so);
All modules in the core distribution should also be updated in line with these changes.

git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7985 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-28 23:32:41 +00:00
w00t
0549fb4156 DELETE() -> delete
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7973 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-28 19:27:19 +00:00
w00t
4e7c9f5a92 Remove unnecessary header traffic
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7885 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-27 14:49:08 +00:00
peavey
f2acdbc382 OOPS! We try again, since I'm smoking craq. LF is 0x0a NOT CR.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7456 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-16 17:30:04 +00:00
peavey
bab14f0dd2 'svn propset -R svn:eol-style CR *' Set to UNIX-style always. Binaries are auto skipped by svn.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7454 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-16 17:14:45 +00:00
pippijn
2b8ce39c6e Removed superfluous semicolons
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7423 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-03 16:40:09 +00:00
w00t
bfdf503e52 Convert more modules
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7347 e03df62e-2008-0410-955e-edbf42e46eb7
2007-06-17 13:13:38 +00:00
brain
e7106c5cba Fix for bug #303 reported by HiroP, thanks
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7136 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-25 16:42:59 +00:00
brain
76d7e8a068 Header rearrangement, move inspircd.h to top, remove stdio, stdlib, stdblahblah that we dont even use, remove redeclared <string>, <map>, <vector>.
This (1) fixes the irc::string::move warnings on vc8 (2) speeds up compile a lot


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7098 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-21 19:13:39 +00:00
brain
206e3b49c7 SPACE INDENTING ACTION RANGERS -- ATTACK!
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7048 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-19 17:36:26 +00:00
w00t
9cf56d917d Windows support. Tested and working to compile on freebsd and linux. Next step is to make sure it actually works in windows too. ;p. Add Burlex to contributors.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7043 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-19 15:56:42 +00:00
brain
902f5b3681 Change mask variable to irc::string to allow for case insensitive removal/addition
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6642 e03df62e-2008-0410-955e-edbf42e46eb7
2007-03-10 15:16:27 +00:00
brain
8c14f0f530 Added interface 'ChannelBanList' that these two modules implement. Send a request class ListModeRequest to the module to check if a user is matched on a channel:
const char* ismatched = ListModeRequest(this, targetmodule, someuser, somechan).Send();

ismatched will be NULL if theyre not matched by the modules list, or will contain the mask if they are matched.


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6325 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-14 18:25:56 +00:00
brain
42d5b9571e Fix to allow for OnRehash to know what user initiated the rehash
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6207 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-01 20:53:20 +00:00
brain
67878d628c Reasonably sized fix - when adding modes in modules, be sure to check the return value so we dont load two modules with conflicting modes
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6137 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-28 16:55:50 +00:00
w00t
3a554ef1e9 Remove global namespacing, makes modules compile FASTAH. Also massive update on headers (change to InspIRCd Development Team, extend copyright to 2007).
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5995 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-15 21:33:22 +00:00