summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
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
2008-09-29Replace the IP (in addition to hostname) for CGIIRC clients; fixes glines ↵special
and zlines on IPs affecting cgiirc users. Thanks to Saz|Laptop git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10607 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-22warning-free on windowsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10592 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-22Second part of fix for bug #605, make adding and removal of lines not case ↵brain
sensitive git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10590 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-21Be consistent. Use ServerInstance in all places instead of 'Instance' in ↵w00t
half. This has bugged me forever :p. I think I got all of extra/ too.. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10579 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-21Fix some comment which was left over from before the conversion from User* ↵psychon
to UID git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10574 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-20Fix a rather nasty race condition revealed by my reading through the ↵brain
comments and enhancing them. Back when i did executeable includes, i placed a 'todo' in the code which said something along the lines of: 'we cant pass a User* into the config reader any more, because when the config reader thread finishes, that user may be gone and this will crash. Consider using an UID instead so that if the user vanishes, we can detect this situation.' Of course, nobody ever did this, so i'm doing it now to ensure we dont come up against some particularly ugly race condition crashes! git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10569 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-20More commentsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10568 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-20More comments, and remove some unused craq. Someone (that being me) once ↵brain
wrote a craqy imitation of std::bitset called dynamicbitmask which took up a large amount of hashcomp.{h,cpp} before i actually knew that std::bitset existed. NOTHING has ever used this class, so whack it as tidyup, knowing it wont break anything :) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10567 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-20more commentsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10566 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-20Start documenting stuff for 3rd party developers. Comments only, won't ↵brain
affect feature freeze git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10565 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-13Changed Allowed Modes to bitsets.aquanight
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10541 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-13Remove unneeded namespace stuff.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10535 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-12Minor style tidyup.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10533 e03df62e-2008-0410-955e-edbf42e46eb7