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
069a2ef214
Clean up Command constructor
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11707 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13 20:32:27 +00:00
danieldg
0ed3ef9dee
Add SerializeFormat for easier metadata formatting
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11704 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13 20:32:03 +00:00
danieldg
d9e3bb8d43
Remove redundant ServerInstance* fields
...
It has been impossible to have more than one InspIRCd* object in the
same address space for some time now, and this feature was never used.
This formalizes class InspIRCd as a singleton object.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11703 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13 20:31:54 +00:00
danieldg
8f9dafbfa3
Use FindMode instead of FindPrefix for OnUserPreJoin privs; makes it possible to give +q or +Y on join even without prefix
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11702 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13 20:31:45 +00:00
danieldg
7892c8a031
Replace OnAccessCheck with OnPreMode to remove a number of redundant checks
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11700 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13 20:31:23 +00:00
danieldg
b4be0c94ab
Module API changes to use Membership* where sensible
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11699 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13 20:31:11 +00:00
danieldg
91df762e93
Membership* changes
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11697 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13 20:30:47 +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
w00t
b49d529981
Likewise, convert OnLocalTopicChange to OnPreTopicChange and to be run for both local and remote changes, for API consistency.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11678 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-05 22:48:00 +00:00
w00t
b6decc75f2
Change OnPostLocalTopicChange to be OnPostTopicChange, invoked for both remote and local events. Will be needed for some xline trickery.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11677 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-05 22:47:46 +00:00
danieldg
f4472dd6dc
Change cmd_*.so to use the Module object API
...
Create Module* objects for each command, and load them like modules.
This unifies the external API for modules.
Library directory is now deprecated: all modules are located in a
single module directory.
Header files for each command are no longer needed; remove.
This also fixes two potential segfaults in m_spanningtree.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11668 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-03 02:30:12 +00:00
danieldg
3e26f42a8f
Include VERSION/REVISION information in module version tag, so that we do no longer rely on $Id$
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11666 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 18:33:16 +00:00
danieldg
cdf850dcbb
Add OnChangeIdent and FIDENT support
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11652 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:52:12 +00:00
danieldg
1b3dabf0ba
Add OnSendWhoLine hook, and use it in the oper hiding modules
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11650 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:51:56 +00:00
danieldg
54e89b822e
Change SAMODE to source from the acting user, not the server
...
This is a merge of the OOMODE command into SAMODE.
This fixes SAMODE not working because of mode merging.
An additional access check for umode changes is added for this command.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11647 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:51:33 +00:00
danieldg
c32734fb23
Fix some ICC-found warnings and remove unused #define
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11639 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:50:35 +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
3d8ec5dbd9
Remove "servermode" parameter, replace with IS_FAKE() which is more reliable
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11633 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:49:24 +00:00
danieldg
79f9faeec8
Record module source file in the Module object
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11630 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:48:39 +00:00
danieldg
c4cb1f9477
Change OnHookUserIO to OnHookIO, making it usable for more than User* and less picky on string matching
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11628 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:48:23 +00:00
danieldg
e07a1a5ffa
Add VF_OPTCOMMON for optionally common modules
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11619 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:47:14 +00:00
danieldg
f25c4b7a22
MetaData rework
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11607 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:45:37 +00:00
danieldg
8c149db461
Strong typing for stacked module results
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11605 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:45:22 +00:00
danieldg
a02ed18a1a
Remove unused I_ProtoSendMetaData, I_ProtoSendMode fields of Implementation
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11599 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:44:32 +00:00
danieldg
e27f338073
Replace FOREACH_RESULT_MAP with a more readable and flexible do_each_hook/while_each_hook macro pair
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11598 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:44:24 +00:00
danieldg
5abd3b1cc5
Add "created" parameter to OnUserJoin, to avoid explicit checks for +P
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11597 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:44:15 +00:00
danieldg
219993bc90
Replace std::deque with std::vector in spanningtree and related modules
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11593 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:43:25 +00:00
danieldg
248a14477c
Remove unneeded #ifdef IPV6 lines
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11582 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-01 15:08:09 +00:00
danieldg
7a672d42e4
Remove more text<->binary IP conversions, making code more IPv4/IPv6 independent
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11578 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-01 15:07:36 +00:00
danieldg
283563287b
Fix module prioritization when a module asks to be after spanningtree, which asks to be last
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11502 e03df62e-2008-0410-955e-edbf42e46eb7
2009-08-11 20:41:04 +00:00
w00t
f6f8605b15
Purely a documentation fix: PRIO_AFTER doesn't exist any more, it's PRIORITY_AFTER.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11469 e03df62e-2008-0410-955e-edbf42e46eb7
2009-08-03 14:00:15 +00:00
danieldg
c384697c88
Make rehash generate a new ServerInstance->Config object
...
This makes it possible to cancel a pending rehash, and fixes possible
threading issues with rehash and other events.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11424 e03df62e-2008-0410-955e-edbf42e46eb7
2009-07-01 22:55:46 +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
danieldg
ddc77036f6
Replace loopCall detection in OnUserKick with a check for the m_spanningtree fake user
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11377 e03df62e-2008-0410-955e-edbf42e46eb7
2009-05-13 05:27:53 +00:00
peavey
15b51c2ecc
rollback r11326, we're going to make vc9 the officially supported windows build methods since the few of us doing win dev can't keep up maintaining the others.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11327 e03df62e-2008-0410-955e-edbf42e46eb7
2009-04-23 22:21:35 +00:00
brain
c275233c7c
Heres the beef so far
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11326 e03df62e-2008-0410-955e-edbf42e46eb7
2009-04-23 19:03:40 +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
danieldg
96a4a1d41e
Include explicit parameter list in ProtocolInterface::SendMode
...
Also leave the strings split into deque, there's no need to pack it into a
string just to unpack it during the translate.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11181 e03df62e-2008-0410-955e-edbf42e46eb7
2009-03-07 01:29:45 +00:00
danieldg
526f5a4a02
Construct explicit parameter type list for MODE parameters
...
Previously, we used TR_SPACENICKLIST on the parameters. This worked only because
usually, if anything in the list parsed as a nick, then it was a nick. However,
some modes like +k and +g allow free-form text, which could also resolve as a
nick. Add extra parameters to allow modes to specify their TranslateType,
defaulting to TR_TEXT.
This fixes bug #757 , found by Taros
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11180 e03df62e-2008-0410-955e-edbf42e46eb7
2009-03-06 22:28:57 +00:00
w00t
27e0df3719
Remove redundant PriorityState, enum Priority does the exact same thing.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11121 e03df62e-2008-0410-955e-edbf42e46eb7
2009-02-16 22:14:36 +00:00
peavey
f209cce90b
Nuke trailing spaces
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11105 e03df62e-2008-0410-955e-edbf42e46eb7
2009-02-14 21:14:36 +00:00
w00t
4e1ae0981e
Remove an unused event.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10989 e03df62e-2008-0410-955e-edbf42e46eb7
2009-01-23 12:58:28 +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
dz
7f28ef9777
Minor documentation fix, spotted by Johannes13
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10902 e03df62e-2008-0410-955e-edbf42e46eb7
2008-12-21 13:44:01 +00:00
w00t
534870ed22
Remove numbers from these. They shouldn't be used anyway, enums are designed to prevent magic numbers abuse :).
...
Thanks Johannes13!
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10895 e03df62e-2008-0410-955e-edbf42e46eb7
2008-12-15 13:58:43 +00:00
w00t
adf20f6486
Use TargetTypeFlags instead of int in a few places.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10711 e03df62e-2008-0410-955e-edbf42e46eb7
2008-10-25 13:14:23 +00:00
brain
a95616f608
Fix for bug #601
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10614 e03df62e-2008-0410-955e-edbf42e46eb7
2008-10-02 22:27:03 +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