summaryrefslogtreecommitdiff
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
* Thread safety fixes to avoid crashes on rehash, dont reopen logs within the ↵Gravatar brain2008-11-221-3/+5
| | | | | | | | | 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
* This was never supposed to be invoked on /rehash, only startup.. so move it ↵Gravatar w00t2008-11-021-4/+1
| | | | | | to startup only. Also remove (redundant) user arg. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10792 e03df62e-2008-0410-955e-edbf42e46eb7
* Obsolete m_restrictbanned, add <security:restrictbannedusers>, default on.. ↵Gravatar w00t2008-11-011-0/+5
| | | | | | 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
* Second attempt at time() -> SI->Time(), now problems with the original were ↵Gravatar w00t2008-11-012-5/+5
| | | | | | | | | 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
* Simulate AF_INET addresses for 4in6 connections [danieldg]Gravatar w00t2008-11-011-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10779 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove one (now unneeded) 4in6 hack.Gravatar w00t2008-10-281-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10744 e03df62e-2008-0410-955e-edbf42e46eb7
* Add user/channel mode synchronisation detection to CAPAB - link will now ↵Gravatar w00t2008-10-271-2/+7
| | | | | | | | | | 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
* Fix a number of commands to have max_params field. This means in practice, ↵Gravatar w00t2008-10-255-5/+5
| | | | | | 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
* Add optional max_params for commands, which means that we can compress ↵Gravatar w00t2008-10-252-3/+27
| | | | | | 'extra' params, while still accepting ':' terminated params, etc. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10715 e03df62e-2008-0410-955e-edbf42e46eb7
* Use TargetTypeFlags instead of int in a few places.Gravatar w00t2008-10-251-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10711 e03df62e-2008-0410-955e-edbf42e46eb7
* As we have an enum for type, why not ..use it?Gravatar w00t2008-10-251-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10710 e03df62e-2008-0410-955e-edbf42e46eb7
* Last of documentation for protocol interface. XXX, ↵Gravatar w00t2008-10-251-0/+37
| | | | | | ProtocolInterface::GetServerList is quite poorly documented. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10709 e03df62e-2008-0410-955e-edbf42e46eb7
* Document SendMode.Gravatar w00t2008-10-251-1/+6
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10708 e03df62e-2008-0410-955e-edbf42e46eb7
* Document SendTopic.Gravatar w00t2008-10-251-0/+4
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10707 e03df62e-2008-0410-955e-edbf42e46eb7
* Document SendMetaData.Gravatar w00t2008-10-251-1/+7
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10706 e03df62e-2008-0410-955e-edbf42e46eb7
* Document ENCAP.Gravatar w00t2008-10-251-0/+6
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10705 e03df62e-2008-0410-955e-edbf42e46eb7
* (sort of..) Revert commit 7736e920fe6ccaf9ad1984afc70db19efd4fb8cd - remove ↵Gravatar w00t2008-10-251-5/+19
| | | | | | 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
* Revert earlier time() -> SI->Time() diff for now, this causes problems with ↵Gravatar w00t2008-10-232-5/+5
| | | | | | 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
* Patch from Namegduf converting all instances (where possible) of time() -> ↵Gravatar w00t2008-10-232-5/+5
| | | | | | ServerInstance->Time(). Thanks! git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10691 e03df62e-2008-0410-955e-edbf42e46eb7
* Patch from dz to fix bug 622 (config errors build up from /rehash to ↵Gravatar w00t2008-10-231-1/+1
| | | | | | /rehash), thanks! git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10690 e03df62e-2008-0410-955e-edbf42e46eb7
* Implement <security:runasuser> and <security:runasgroup> - allows for ↵Gravatar w00t2008-10-201-0/+5
| | | | | | 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
* Default 'noisy' to false. Until i hear from w00t i cant see how this can be ↵Gravatar brain2008-10-181-1/+2
| | | | | | 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
* Working privs implementation, and example usage in NOTICE for mass messaging.Gravatar w00t2008-10-182-4/+11
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10662 e03df62e-2008-0410-955e-edbf42e46eb7
* Migrate oper commands to an std::set, add a set for privs also. Change the ↵Gravatar w00t2008-10-182-2/+3
| | | | | | API a bit. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10661 e03df62e-2008-0410-955e-edbf42e46eb7
* Add skeleton of HasPrivPermission.Gravatar w00t2008-10-181-0/+8
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10660 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove the duplicate checking/disabled setting of <connect> craq, there is a ↵Gravatar w00t2008-10-171-19/+5
| | | | | | (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
* Fix for bug #601Gravatar brain2008-10-021-1/+7
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10614 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix for bug #604 reported by Phoenix, thanksGravatar brain2008-09-301-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10612 e03df62e-2008-0410-955e-edbf42e46eb7
* Replace the IP (in addition to hostname) for CGIIRC clients; fixes glines ↵Gravatar special2008-09-291-1/+2
| | | | | | 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
* warning-free on windowsGravatar brain2008-09-221-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10592 e03df62e-2008-0410-955e-edbf42e46eb7
* Second part of fix for bug #605, make adding and removal of lines not case ↵Gravatar brain2008-09-221-1/+1
| | | | | | sensitive git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10590 e03df62e-2008-0410-955e-edbf42e46eb7
* Be consistent. Use ServerInstance in all places instead of 'Instance' in ↵Gravatar w00t2008-09-211-1/+1
| | | | | | 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
* Fix some comment which was left over from before the conversion from User* ↵Gravatar psychon2008-09-211-3/+3
| | | | | | to UID git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10574 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix a rather nasty race condition revealed by my reading through the ↵Gravatar brain2008-09-202-5/+5
| | | | | | | | | | 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
* More commentsGravatar brain2008-09-201-1/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10568 e03df62e-2008-0410-955e-edbf42e46eb7
* More comments, and remove some unused craq. Someone (that being me) once ↵Gravatar brain2008-09-206-151/+87
| | | | | | | | | 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
* more commentsGravatar brain2008-09-203-7/+74
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10566 e03df62e-2008-0410-955e-edbf42e46eb7
* Start documenting stuff for 3rd party developers. Comments only, won't ↵Gravatar brain2008-09-201-4/+23
| | | | | | affect feature freeze git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10565 e03df62e-2008-0410-955e-edbf42e46eb7
* Changed Allowed Modes to bitsets.Gravatar aquanight2008-09-131-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10541 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove unneeded namespace stuff.Gravatar w00t2008-09-131-5/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10535 e03df62e-2008-0410-955e-edbf42e46eb7
* Minor style tidyup.Gravatar w00t2008-09-121-0/+4
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10533 e03df62e-2008-0410-955e-edbf42e46eb7
* Cleanup of some internals. Tested via m_httpd.Gravatar w00t2008-09-121-8/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10527 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove some duplication, everything calls the SE equivilant anyway.Gravatar w00t2008-09-111-8/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10525 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove useless parameter.Gravatar w00t2008-09-111-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10524 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix a comment.Gravatar w00t2008-09-111-5/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10523 e03df62e-2008-0410-955e-edbf42e46eb7
* Experimental WSAPoll (thanks for not just using poll(), guys) support for ↵Gravatar w00t2008-09-111-4/+11
| | | | | | Windows. Untested, uncompiled. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10516 e03df62e-2008-0410-955e-edbf42e46eb7
* There is absolutely no need to cache connect timeout.Gravatar w00t2008-09-111-5/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10512 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove an unused member.Gravatar w00t2008-09-111-6/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10511 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove WaitingForWriteEvent, it seems to do *nothing* except confuse things. ↵Gravatar w00t2008-09-111-10/+15
| | | | | | Also, don't close socket on http if FlushWriteBuf doesn't write it all in one go, in fact, don't try FlushWriteBuf at all - use the sockets default of waiting to be told it's safe to write data. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10509 e03df62e-2008-0410-955e-edbf42e46eb7
* Clear out the string used for the temporarily stored hostname during DNS ↵Gravatar special2008-09-101-1/+1
| | | | | | resolution. Should save at least strlen(host) per user git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10496 e03df62e-2008-0410-955e-edbf42e46eb7