1778 Commits

Author SHA1 Message Date
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
danieldg
e10bc5d2eb Actually use irc::modestacker correctly
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11322 e03df62e-2008-0410-955e-edbf42e46eb7
2009-04-20 22:12:40 +00:00
danieldg
828f256a9b Use loopCall to protect OnUserKick rather than the triggerevents hack
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11321 e03df62e-2008-0410-955e-edbf42e46eb7
2009-04-20 13:29:58 +00:00
danieldg
97c7c3ff2a Add global-routing snomask functions
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11314 e03df62e-2008-0410-955e-edbf42e46eb7
2009-04-18 19:51:24 +00:00
danieldg
e988ac11a2 Fix CullList to not use O(n^2) version of vector clear
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11312 e03df62e-2008-0410-955e-edbf42e46eb7
2009-04-17 21:47:30 +00:00
danieldg
1735fc95bb Fix memory leak on rehash: opertype used char* instead of std::string
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11309 e03df62e-2008-0410-955e-edbf42e46eb7
2009-04-17 13:55:14 +00:00
danieldg
2dfc384cde Fix SetModeParam to use std::string and handle edge cases.
Previously, changing the vaule of a mode could require 3 calls to SetMode and SetModeParam.
This also fixes memory leaks caused by the strdup() not always being paired with a free().

git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11307 e03df62e-2008-0410-955e-edbf42e46eb7
2009-04-17 13:54:53 +00:00
psychon
403fe8fd97 Remove the unused RESOLVER_NOTREADY define and fix the spelling of RESLOVER_FORCEUNLOAD
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11286 e03df62e-2008-0410-955e-edbf42e46eb7
2009-04-05 14:28:02 +00:00
dz
51f6fd1cf7 Reapply r11241: flush and close log filehandles properly when the log is closed.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11285 e03df62e-2008-0410-955e-edbf42e46eb7
2009-04-04 18:02:52 +00:00
danieldg
05c0944bc2 Correct bind address of ident requests on multihomed IPv6-capable servers.
Fixes bug #815, reported by Szymek.

git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11274 e03df62e-2008-0410-955e-edbf42e46eb7
2009-04-01 17:14:04 +00:00
brain
9b6337bec9 start of fix for bug #805
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11260 e03df62e-2008-0410-955e-edbf42e46eb7
2009-03-25 11:37:06 +00:00
danieldg
a4e0a1127a Fix headers for GCC 4.4: sprintf requires #include <cstdio>
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11259 e03df62e-2008-0410-955e-edbf42e46eb7
2009-03-25 05:08:58 +00:00
danieldg
e7150d29f4 ConfigReaderThread updates: add done flag, remove main-thread-only mutex
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11256 e03df62e-2008-0410-955e-edbf42e46eb7
2009-03-23 20:42:17 +00:00
danieldg
59dbcc1245 ThreadEngine: Allow interthread signaling without needing as many hacks
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11251 e03df62e-2008-0410-955e-edbf42e46eb7
2009-03-23 18:48:51 +00:00
danieldg
f9e6de5284 ThreadEngine: remove MutexFactory, mutexes should be constructed using their constructor
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11250 e03df62e-2008-0410-955e-edbf42e46eb7
2009-03-23 18:48:42 +00:00
danieldg
7b6eae3666 ThreadEngine: remove excessive mutex use on thread creation
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11249 e03df62e-2008-0410-955e-edbf42e46eb7
2009-03-23 18:48:32 +00:00
dz
c6b11d2130 Revert r11241 due to crashiness when rehashing from IRC.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11246 e03df62e-2008-0410-955e-edbf42e46eb7
2009-03-22 20:34:24 +00:00
dz
2699c4d764 Actually close file log FDs when we're done with them.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11241 e03df62e-2008-0410-955e-edbf42e46eb7
2009-03-21 17:40:35 +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
606aa8f09b Fix snomask stacking to only delay (last message repeated) part of the snomask
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11201 e03df62e-2008-0410-955e-edbf42e46eb7
2009-03-10 22:55:55 +00:00
w00t
349b6b9193 Rewrite BufferedSocket::BindAddr to actually make sense, and not infinite loop under some conditions, etc. This also splits a lot of it into DoBindMagic(), for readability.
Seems to work okay on an invalid bind and nonexistant bind.. Fixes bug #754, reported by HiroP and Indoril.

Fix FD leak in some circumstances: if bind fails hard (requested address couldn't be bound), Close() the socket. Also fixes a deficiency of the previous commit in that if one address failed to bind, the FD would be invalidated.

git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11189 e03df62e-2008-0410-955e-edbf42e46eb7
2009-03-09 18:51:07 +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
7d9cc14d3e Add missing header #define assuring its only included once where needed
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11106 e03df62e-2008-0410-955e-edbf42e46eb7
2009-02-14 21:14:43 +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
brain
9bca438482 Add security:genericoper as requested by Strawberry and TwinShadow.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11098 e03df62e-2008-0410-955e-edbf42e46eb7
2009-02-13 09:21:30 +00:00
brain
2841f55d4b Fix some stuff for nationalchars
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11058 e03df62e-2008-0410-955e-edbf42e46eb7
2009-02-08 16:56:07 +00:00
brain
89249e32fc Patch for bug #704 by Darom, allows for 64 bit file offsets, so that signal 25 isnt raised if there is a 2gb logfile (really, WATCH YOUR LOGS)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11035 e03df62e-2008-0410-955e-edbf42e46eb7
2009-02-06 23:48:25 +00:00
psychon
5de0f22264 Fix the poll socketengine to actually work.
The old implementation tried to use holes for unused entries in the array for
poll() and the OS replied with POLLNVAL to which we replied with 100% CPU.
Improvements:
- It does compile!
- It works


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11008 e03df62e-2008-0410-955e-edbf42e46eb7
2009-01-27 18:37:23 +00:00
peavey
ca571fc1bf fix typo
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10995 e03df62e-2008-0410-955e-edbf42e46eb7
2009-01-24 13:31:09 +00:00
brain
0b44d28a31 Templateise this
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10991 e03df62e-2008-0410-955e-edbf42e46eb7
2009-01-23 13:40:24 +00:00
brain
a3fb932831 Fix m_nationalchars using a copy and paste of my unsafe copy and paste algorithm, that will lock up if the string to replace contains the string to search for.
Finally make this function a core utility function and remove the copies from 3 modules m_alias m_nationalchars and m_sqlauth


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10990 e03df62e-2008-0410-955e-edbf42e46eb7
2009-01-23 13:20:57 +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
5f5ed857af Fix bug 688, reported by Ankit: extended invexes don't work correctly at all. Thanks very much for your help tracking this down :)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10988 e03df62e-2008-0410-955e-edbf42e46eb7
2009-01-23 10:16:51 +00:00
peavey
84af5345c1 Remove channel::created as its unused and only serves to confuse (see last commit to m_check). As a bonus saves memory usage :p
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10955 e03df62e-2008-0410-955e-edbf42e46eb7
2009-01-09 20:51:38 +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
w00t
376a2833d9 Change a few bits to use std::list instead of std::vector.
Vector is better than list, unless:
 - you require random access (these don't)
 - you require that the memory they are stored in are contiguous (these don't)
This will save a couple of bytes here and there perhaps (along with
much less problems with memory fragmentation and allocation).

git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10923 e03df62e-2008-0410-955e-edbf42e46eb7
2008-12-28 03:27:28 +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
187544bfd0 Fix naming convention to be consistant. (cmd_ -> Command)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10891 e03df62e-2008-0410-955e-edbf42e46eb7
2008-12-15 12:14:04 +00:00
w00t
275f58a955 national_case_sensitive_map -> national_case_insensitive_map.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10861 e03df62e-2008-0410-955e-edbf42e46eb7
2008-12-07 19:01:43 +00:00
w00t
805d47c98e Move stuff to use ASCII map where required.
Also move this out of being a member totally, as it breaks (gah) and is already untidy.. to be revisited.

git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10858 e03df62e-2008-0410-955e-edbf42e46eb7
2008-12-07 18:31:57 +00:00
w00t
6c38936243 national_case_sensitive_map must be static, thanks to the match stuff being static (this is a bit ugly, but necessary for now).
Default to national charset map instead of rfc map, as modules may change the pointer.

git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10857 e03df62e-2008-0410-955e-edbf42e46eb7
2008-12-07 18:31:54 +00:00
w00t
3c2c0b7733 Add InspIRCd::national_case_sensitive_map pointer, defaults to rfc_case_insensitive_map.
Modules may override this pointer to customise casemapping of nick/channel names.

git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10856 e03df62e-2008-0410-955e-edbf42e46eb7
2008-12-07 18:31:48 +00:00
w00t
a1ce19d1f4 Add ascii_case_insensitive_map, thanks MacGyver.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10854 e03df62e-2008-0410-955e-edbf42e46eb7
2008-12-07 18:31:42 +00:00
w00t
dadfb1ecc1 Rename case_sensitive_map to rfc_case_sensitive_map
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10851 e03df62e-2008-0410-955e-edbf42e46eb7
2008-12-07 01:11:48 +00:00
w00t
a23a840749 Rip flood/threshold out of config classes also.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10839 e03df62e-2008-0410-955e-edbf42e46eb7
2008-12-01 20:14:50 +00:00
w00t
be2a677ddd Remove lines_in and reset_due flood protection mechanism, recvq/sendq on their own now fill this role, as we have proper penalties.
This tidies up *a lot* of code, and also saves a further sizeof(time_t) + sizeof(unsigned int) per user.

git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10838 e03df62e-2008-0410-955e-edbf42e46eb7
2008-12-01 20:14:49 +00:00