summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2009-01-27Fix the poll socketengine to actually work.psychon
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-24fix typopeavey
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10995 e03df62e-2008-0410-955e-edbf42e46eb7
2009-01-23Templateise thisbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10991 e03df62e-2008-0410-955e-edbf42e46eb7
2009-01-23Fix m_nationalchars using a copy and paste of my unsafe copy and paste ↵brain
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-23Remove an unused event.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10989 e03df62e-2008-0410-955e-edbf42e46eb7
2009-01-23Fix bug 688, reported by Ankit: extended invexes don't work correctly at ↵w00t
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-09Remove channel::created as its unused and only serves to confuse (see last ↵peavey
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-02Update copyrights for 2009.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10932 e03df62e-2008-0410-955e-edbf42e46eb7
2008-12-28Change a few bits to use std::list instead of std::vector.w00t
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-21Minor documentation fix, spotted by Johannes13dz
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10902 e03df62e-2008-0410-955e-edbf42e46eb7
2008-12-15Remove numbers from these. They shouldn't be used anyway, enums are designed ↵w00t
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-15Fix naming convention to be consistant. (cmd_ -> Command)w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10891 e03df62e-2008-0410-955e-edbf42e46eb7
2008-12-07national_case_sensitive_map -> national_case_insensitive_map.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10861 e03df62e-2008-0410-955e-edbf42e46eb7
2008-12-07Move stuff to use ASCII map where required.w00t
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-07national_case_sensitive_map must be static, thanks to the match stuff being ↵w00t
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-07Add InspIRCd::national_case_sensitive_map pointer, defaults to ↵w00t
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-07Add ascii_case_insensitive_map, thanks MacGyver.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10854 e03df62e-2008-0410-955e-edbf42e46eb7
2008-12-07Rename case_sensitive_map to rfc_case_sensitive_mapw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10851 e03df62e-2008-0410-955e-edbf42e46eb7
2008-12-01Rip flood/threshold out of config classes also.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10839 e03df62e-2008-0410-955e-edbf42e46eb7
2008-12-01Remove lines_in and reset_due flood protection mechanism, recvq/sendq on ↵w00t
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-01Remove m_operflood, add privs: users/flood/no-throttle & ↵w00t
users/flood/increased-buffers. This also saves another sizeof(bool) per user. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10837 e03df62e-2008-0410-955e-edbf42e46eb7
2008-12-01Remove OverPenalty, saves sizeof(bool) per user.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10836 e03df62e-2008-0410-955e-edbf42e46eb7
2008-11-22Thread safety fixes to avoid crashes on rehash, dont reopen logs within the ↵brain
rehash thread. Put this in the safe part of the rehash operation, after the thread exits. Put a mutex around the part where the thread exits, just in case somehow there are two rehash threads exiting at the same time due to user muppetry. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10811 e03df62e-2008-0410-955e-edbf42e46eb7
2008-11-02This was never supposed to be invoked on /rehash, only startup.. so move it ↵w00t
to startup only. Also remove (redundant) user arg. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10792 e03df62e-2008-0410-955e-edbf42e46eb7
2008-11-01Obsolete m_restrictbanned, add <security:restrictbannedusers>, default on.. ↵w00t
this is insane to leave off, really, but allow it anyway. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10785 e03df62e-2008-0410-955e-edbf42e46eb7
2008-11-01Second attempt at time() -> SI->Time(), now problems with the original were ↵w00t
fixed. (SI::TIME was not initialised). Thanks Namegduf! (Please test, all, valdebug etc, report odd behaviour/warnings!) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10783 e03df62e-2008-0410-955e-edbf42e46eb7
2008-11-01Simulate AF_INET addresses for 4in6 connections [danieldg]w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10779 e03df62e-2008-0410-955e-edbf42e46eb7
2008-10-28Remove one (now unneeded) 4in6 hack.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10744 e03df62e-2008-0410-955e-edbf42e46eb7
2008-10-27Add user/channel mode synchronisation detection to CAPAB - link will now ↵w00t
drop if modes differ in some way (one side requires param, other doesn't, etc). Same for user modes. This will not affect services. Side effect: Modes::ChanModes() -> Modes::GiveModeList(ModeMasks), mode list is formatted identically for both MASK_CHANNEL and MASK_USER. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10733 e03df62e-2008-0410-955e-edbf42e46eb7
2008-10-25Fix a number of commands to have max_params field. This means in practice, ↵w00t
that colons on gline reasons (etc) are no longer mandatory, provided the command tells the core how many parameters at max it has. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10718 e03df62e-2008-0410-955e-edbf42e46eb7
2008-10-25Add optional max_params for commands, which means that we can compress ↵w00t
'extra' params, while still accepting ':' terminated params, etc. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10715 e03df62e-2008-0410-955e-edbf42e46eb7
2008-10-25Use TargetTypeFlags instead of int in a few places.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10711 e03df62e-2008-0410-955e-edbf42e46eb7
2008-10-25As we have an enum for type, why not ..use it?w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10710 e03df62e-2008-0410-955e-edbf42e46eb7
2008-10-25Last of documentation for protocol interface. XXX, ↵w00t
ProtocolInterface::GetServerList is quite poorly documented. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10709 e03df62e-2008-0410-955e-edbf42e46eb7
2008-10-25Document SendMode.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10708 e03df62e-2008-0410-955e-edbf42e46eb7
2008-10-25Document SendTopic.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10707 e03df62e-2008-0410-955e-edbf42e46eb7
2008-10-25Document SendMetaData.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10706 e03df62e-2008-0410-955e-edbf42e46eb7
2008-10-25Document ENCAP.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10705 e03df62e-2008-0410-955e-edbf42e46eb7
2008-10-25(sort of..) Revert commit 7736e920fe6ccaf9ad1984afc70db19efd4fb8cd - remove ↵w00t
dupe checking on connect classes. Now, we just delete ones with refcount 0 on rehash, and add new ones. Connection can only match a non-disabled class, so most of the braindamage should be gone from here, without causing wild pointer fun.. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10701 e03df62e-2008-0410-955e-edbf42e46eb7
2008-10-23Revert earlier time() -> SI->Time() diff for now, this causes problems with ↵w00t
dns.cpp in mysterious ways.. seemingly a bad pointer there somehow..? git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10695 e03df62e-2008-0410-955e-edbf42e46eb7
2008-10-23Patch from Namegduf converting all instances (where possible) of time() -> ↵w00t
ServerInstance->Time(). Thanks! git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10691 e03df62e-2008-0410-955e-edbf42e46eb7
2008-10-23Patch from dz to fix bug 622 (config errors build up from /rehash to ↵w00t
/rehash), thanks! git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10690 e03df62e-2008-0410-955e-edbf42e46eb7
2008-10-20Implement <security:runasuser> and <security:runasgroup> - allows for ↵w00t
set(g|u)id to drop privs after starting, which can be useful for people who want to bind privileged ports without exposing their anus to a giant cucumber. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10682 e03df62e-2008-0410-955e-edbf42e46eb7
2008-10-18Default 'noisy' to false. Until i hear from w00t i cant see how this can be ↵brain
of use right now (non-opers get spammed with crap just from doing regular things like joining channels) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10678 e03df62e-2008-0410-955e-edbf42e46eb7
2008-10-18Working privs implementation, and example usage in NOTICE for mass messaging.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10662 e03df62e-2008-0410-955e-edbf42e46eb7
2008-10-18Migrate oper commands to an std::set, add a set for privs also. Change the ↵w00t
API a bit. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10661 e03df62e-2008-0410-955e-edbf42e46eb7
2008-10-18Add skeleton of HasPrivPermission.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10660 e03df62e-2008-0410-955e-edbf42e46eb7
2008-10-17Remove the duplicate checking/disabled setting of <connect> craq, there is a ↵w00t
(better) way to do this, which is to hunt for a new connect class on all users once /rehash happens. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10654 e03df62e-2008-0410-955e-edbf42e46eb7
2008-10-02Fix for bug #601brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10614 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-30Fix for bug #604 reported by Phoenix, thanksbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10612 e03df62e-2008-0410-955e-edbf42e46eb7