456 Commits

Author SHA1 Message Date
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
w00t
cb6917c48e Add OnSendSnotice(char &, std::string &, const std::string &) to modify/block/notify about snotices being sent to users.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10221 e03df62e-2008-0410-955e-edbf42e46eb7
2008-08-22 18:01:15 +00:00
w00t
48f5beea5b Always deny invite to users below halfop status, move OnUserPreInvite up to above that access check, and allow a return of -1 to bypass the check.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10115 e03df62e-2008-0410-955e-edbf42e46eb7
2008-08-07 15:59:01 +00:00
w00t
eed401b6ec Oops, actually, return 1 to block change, 0 to check it, -1 to allow it regardless. Update docs in header also.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10083 e03df62e-2008-0410-955e-edbf42e46eb7
2008-08-04 15:31:21 +00:00
w00t
a67b9de174 Change modes in channels and users to use std::bitset instead of an array. This saves 56 bytes per channel, and 112 bytes per channel, with no loss in speed or ease of use in code. :). Thanks (VERY) much to Special for telling me about this.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10043 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-19 20:34:14 +00:00
w00t
8ed5d452db Okay, and there's the working version of it. Extbans that don't work on users have OnCheckStringExtBan. ;p
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9988 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-12 20:53:19 +00:00
w00t
bd2782b9e8 Add OnCheckExtBan, will be used for exceptions to extbans
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9957 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-11 21:26:27 +00:00
w00t
4e599dd4fb Fix m_nopartmsg to work via API modification, involves a string copy that won't last too long. Compiles cleanly.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9953 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-11 14:44:17 +00:00
brain
a914ae9195 Allow changing of command string and parameter vector within OnPreCommand, allowing for m_abbreviation and other fancy stuff.
Add basic skeleton module for it


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9840 e03df62e-2008-0410-955e-edbf42e46eb7
2008-06-06 15:22:07 +00:00
w00t
5865b900cd Fix logic being backwards (so every user was always away and an oper, except when they weren't an oper, and weren't away ...)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9767 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-19 18:29:30 +00:00
aquanight
4b856bda13 Make User:: nick/ident/dhost/fullname and some other things std::string instead of char*/char[] (MODULES DO NOT COMPILE)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9748 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-18 23:15:53 +00:00
brain
ffbd1eebf0 Conversion of command handler params from "const char* const* parameters, int pcnt" to "const std::vector<std::string>& parameters". All of core is converted, but cant test it till the modules are converted.
IMPORTANT: The mode parser public calls have had to be tweaked a bit to also use the string vector. Note that this makes a LOT of our core a bit messy and paves the way to convert a lot of stuff from the mess
of .c_str() calls to using std::string params directly.


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9608 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-04 21:37:36 +00:00
brain
94f2293f65 Implement our own dllmain. if this works and gets rid of error at 70 modules, i will backport it
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9521 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-16 22:17:28 +00:00
brain
3039e0663f Change that allows the m_override module to not announce a key override for a user that specified the right key
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9516 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-16 00:36:20 +00:00
brain
548883a392 Comment small API change (returning -1 from OnCheckBan to explicitly deny the ban)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9450 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-10 20:53:13 +00:00
w00t
ce4dc653ce Remove two useless methods, chanlog is b0rked at the moment.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9313 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-04 15:06:24 +00:00
brain
2db77cda56 Automatic detection and allocation of max fds. No longer needs recompile to change, just adjust it in your kernel or whatever and restart insp.
Please note that select and iocp socket engines do not support detection and are always set to FD_SETSIZE and 10240 descriptors respectively.


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9263 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-02 17:08:09 +00:00
w00t
e2f4bf3a13 Merge OnCancelAway and OnSetAway, add param awaymsg to OnSetAway (blank when cancelling), and change return type to int so modules can block away messages by returning nonzero.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9223 e03df62e-2008-0410-955e-edbf42e46eb7
2008-03-30 14:26:01 +00:00
brain
43d1577839 Port bindings for gnutls now bind via ip:port, rather than on all ports for that ip, fixes feature request for roadmap. NOTE, this still needs doing for the openssl module!
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9188 e03df62e-2008-0410-955e-edbf42e46eb7
2008-03-24 16:03:39 +00:00
brain
343f12b9b2 Add stuff so that modules can hook users by altering a pointer in the User class. Note that ssl modules still bind by port, but the idea of doing this change is so we can remove that logic next
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9187 e03df62e-2008-0410-955e-edbf42e46eb7
2008-03-24 15:13:17 +00:00
brain
9ee525bec5 Add WriteNumeric() to User and OnNumeric module event. Note that modules do not change the numeric text on the fly, as this involves needless allocations for numerics that arent being changed, so instead they block the original numeric and send out their own when needed.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9174 e03df62e-2008-0410-955e-edbf42e46eb7
2008-03-22 11:45:57 +00:00
brain
9855300460 Add support for OnNamesListItem, discussed with w00t a few days ago. This makes NAMESX etc a LOT cleaner and safer.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9140 e03df62e-2008-0410-955e-edbf42e46eb7
2008-03-21 15:54:15 +00:00
aquanight
da07481450 Convert remaining InspIRCd::Log() calls to new logging system
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9001 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-22 16:47:10 +00:00
brain
54b2b600de More test suite stuff
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8976 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-21 15:59:57 +00:00
brain
dd36852a52 Wheee, mass commit! this adds const stafety, throwing a compile error if anyone does: "parameters[n] = blahvar;" in a command handler etc. where they REALLY SHOULD NOT fuck with the value and should
copy the pointer.


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8971 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-20 19:07:07 +00:00