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