summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
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 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-20Roll back core matcher to the 1.1 design, which doesnt fail various unit testsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10564 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-20Add test suite tests for wildcard function for failures discovered by Ankitbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10563 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-19Fix my massacre of kqueue, filters may not be or'd.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10561 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-19inbound sockets need a timeout, too. 30 secs should be pleantybrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10560 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-19Don't check E:Lines when enforcing Q:Lines on connected users. Thanks MacGyver.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10559 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-19Implement timeout on outgoing server connections as per our docs <link:timeout>peavey
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10558 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-18Reinvert order of insert/erase into user hash_map to avoid a lil crash :)peavey
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10557 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-17Roll back tweak to the starttls spec requested by kvirc devs, sorry we cant ↵brain
do this as we have other client devs breathing down our throats that it broke their clients :( git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10549 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-16Shrink users properly on quit, and make cloaks for all existing users on ↵brain
load, for situations where the cloaking module is loaded after the ircd is booted. Thanks Ankit git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10546 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-14Be more verbose in ValidateNotEmpty on failure. Patch by CyberbotX.peavey
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10544 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-14Patch by dz to remove the one usage of strdup/strtok_r, which is very un-C++ ↵special
behavior (and silly, since we have sepstream) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10543 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-14dont try and cloak if no valid cloak was returned (eg. localhost)peavey
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10542 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-13Merge commit 'danieldg/out-12'w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10540 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-13more namespace fix0rzpeavey
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10539 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-13Optimisationbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10538 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-13namespace fix0rzpeavey
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10537 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-13Fix setting of +x before we've processed an OnUserConnectbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10536 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-12Last cleanup. All trunk extras now builds again.peavey
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10532 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-12fix for listensocket, tested and also working like a charm.peavey
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10531 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-12more cleanuppeavey
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10530 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-12cleanuppeavey
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10529 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-12fix for listenbase, tested and works like a charm.peavey
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10528 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-12Cleanup of some internals. Tested via m_httpd.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10527 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-11Remove some duplication, everything calls the SE equivilant anyway.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10525 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-11Remove useless parameter.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10524 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-11Fix KILL server-notice duplicationaquanight
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10517 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-11Experimental WSAPoll (thanks for not just using poll(), guys) support for ↵w00t
Windows. Untested, uncompiled. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10516 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-11Minor stylistic improvements.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10515 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-11These socket engines may now recieve write and read events in the same ↵w00t
cycle, same as select and poll. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10514 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-11Fix a compile oops.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10513 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-11There is absolutely no need to cache connect timeout.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10512 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-11Remove an unused member.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10511 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-11Windows doesn't need blocking connect, IOCP was the cause of that.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10510 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-11Remove WaitingForWriteEvent, it seems to do *nothing* except confuse things. ↵w00t
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
2008-09-10Back out change, as this doesn't work properly with channel bans.. ↵w00t
Prioritise before cloaking, as otherwise you may encounter usermode changes on a nonexistant user. (part of the original change too). git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10508 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-10Bit of a tidyup, generate cloak whenever first set, not necessarily on connectw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10500 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-10Hook conn_umodes before anything else so that config order is less of a factorw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10497 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-10Clear out the string used for the temporarily stored hostname during DNS ↵special
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
2008-09-10Move XMLSocket to be modulemanager-provided, flash now has real socket ↵w00t
support (so it's not as necessary), and most networks do not have flash clients using it git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10495 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-09Remove a totally redundant method (this is already available via inheritance ↵w00t
from EventHandler) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10490 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-09Remember to free some stuff when failing in the ctorbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10489 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-09fix compile errors (whoops)brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10488 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-09Whoops, schoolboy errorbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10487 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-09Add connmutex to mutex the connections vector, otherwise we can get access ↵brain
from two threads and it is stl. ew. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10486 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-09peavey, w00t, this works now. Methods werent copied right. Please feel free ↵brain
to base the other sql module fixes on the diffs that i used to fix this. ALSO now works on win32, tested! git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10485 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-09fix various bodge-ups, we must have been tired when fixing this in the first ↵brain
place to use the new api, methods are in the wrong places. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10483 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-09not test compiled yet: sql modules werent working because someone chopped ↵brain
out the important code that determines what port the new socket is bound to when binding to port "0". The GetPort() method belongs in the listensocketbase derived socket not the bufferedsocket one, and the code for determining the getsockname() belongs in the ctor for the listen derived socket. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10482 e03df62e-2008-0410-955e-edbf42e46eb7