aboutsummaryrefslogtreecommitdiff
path: root/src/cull_list.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Fix recursion of QuitUser in SendQ quitsGravatar Jackmcbarn2011-05-231-0/+13
|
* Update copyright notices to 2011Gravatar Jackmcbarn2011-05-041-1/+1
|
* Remove cull_list.h from inspircd.hGravatar Jackmcbarn2011-01-291-0/+1
|
* ...because every now and again, i have to do a massive commit.Gravatar brain2010-01-111-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12248 e03df62e-2008-0410-955e-edbf42e46eb7
* Make classbase and refcountbase uncopyable; expand comments on their ↵Gravatar danieldg2009-10-171-2/+2
| | | | | | indended uses git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11888 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix module unmapping with culled Module objectsGravatar danieldg2009-10-141-0/+8
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11875 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix valgrind issues and crashes on exitGravatar danieldg2009-10-021-1/+13
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11794 e03df62e-2008-0410-955e-edbf42e46eb7
* Actually clear the cull list after applying itGravatar danieldg2009-09-301-0/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11787 e03df62e-2008-0410-955e-edbf42e46eb7
* Add explicit reference-counting base classGravatar danieldg2009-09-301-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11785 e03df62e-2008-0410-955e-edbf42e46eb7
* Detect, complain, and don't crash when objects are inserted into cull list twiceGravatar danieldg2009-09-301-9/+16
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11782 e03df62e-2008-0410-955e-edbf42e46eb7
* Allow objects to be added to cull list during apply - fixes user deletion on ↵Gravatar danieldg2009-09-211-2/+3
| | | | | | netsplit git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11754 e03df62e-2008-0410-955e-edbf42e46eb7
* Create StreamSocket for IO hooking implementationGravatar danieldg2009-09-211-2/+6
| | | | | | | | | | | | | | Fixes the SSL SendQ bug Removes duplicate code between User and BufferedSocket Simplify SSL module API Simplify EventHandler API (Readable/Writeable moved to SE) Add hook for culled objects to invoke callbacks prior to destructor Replace SocketCull with GlobalCull now that sockets can close themselves Shorten common case of user read/parse/write path: User::Write is now zero-copy up to syscall/SSL invocation User::Read has only two copy/scan passes from read() to ProcessCommand git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11752 e03df62e-2008-0410-955e-edbf42e46eb7
* Move user quit logic out of cull listGravatar danieldg2009-09-021-91/+2
| | | | | | | This changes the cull list from a list of User* that ran special cleanup to a list of classbase* that simply deletes the objects. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11636 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix CullList to not use O(n^2) version of vector clearGravatar danieldg2009-04-171-11/+4
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11312 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove CullList rate limiting to fix UID collisions on large networksGravatar danieldg2009-04-171-2/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11310 e03df62e-2008-0410-955e-edbf42e46eb7
* Update all wiki links to point to the new wiki. This was done automatically ↵Gravatar psychon2009-03-151-1/+1
| | | | | | | | | 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
* Fix fast quit/connect by changing nick to UID on QuitUserGravatar danieldg2009-03-101-21/+4
| | | | | | | This requires moving the sending of the QUIT back to usermanager from cull_list in order to prevent client desyncs. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11203 e03df62e-2008-0410-955e-edbf42e46eb7
* Update copyrights for 2009.Gravatar w00t2009-01-021-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10932 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix recursion in QuitUserGravatar w00t2008-11-171-7/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10809 e03df62e-2008-0410-955e-edbf42e46eb7
* Merge the second interface for socket hooking into one, so it's all done by ↵Gravatar w00t2008-09-071-2/+2
| | | | | | Add/Del/GetIOHook now. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10457 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove last vestige of libircdfoo, by changing tag into a single ↵Gravatar w00t2008-07-291-1/+1
| | | | | | identifier marking object as requiring compilation into a .o (minor commit) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10076 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix compile. Also remove write error stuff, as that was used prior to the ↵Gravatar w00t2008-07-191-1/+1
| | | | | | goodness of global culllist. This makes getting user's quit messages to them (on excess recvq etc) much easier. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10042 e03df62e-2008-0410-955e-edbf42e46eb7
* First phase of conversion to dynamic limits on all the lengths, configured ↵Gravatar brain2008-05-251-2/+2
| | | | | | | | | via the <limits> tag (the tag isnt there yet, these all just run on defaults in the class constructor) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9802 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove some of this, this isn't (strictly speaking) an issue nowGravatar w00t2008-05-211-21/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9784 e03df62e-2008-0410-955e-edbf42e46eb7
* Convert connection::hostGravatar brain2008-05-191-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9768 e03df62e-2008-0410-955e-edbf42e46eb7
* Some logging/preventative code for Jason's issue.. it shouldn't crash now ↵Gravatar w00t2008-05-191-6/+33
| | | | | | (fingers crossed) if it tries to do something naughty, but it will log about it instead. I know this is buttfucked code, but it's highly temporary. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9762 e03df62e-2008-0410-955e-edbf42e46eb7
* Make User:: nick/ident/dhost/fullname and some other things std::string ↵Gravatar aquanight2008-05-181-10/+8
| | | | | | instead of char*/char[] (MODULES DO NOT COMPILE) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9748 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix quietbans and hidesplits etc, cull list's sending a seperate quit ↵Gravatar brain2008-04-211-1/+1
| | | | | | message to normal users was broken git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9574 e03df62e-2008-0410-955e-edbf42e46eb7
* Add stuff so that modules can hook users by altering a pointer in the User ↵Gravatar brain2008-03-241-2/+2
| | | | | | class. Note that ssl modules still bind by port, but the idea of doing this change is so we can remove that logic next git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9187 e03df62e-2008-0410-955e-edbf42e46eb7
* Convert remaining InspIRCd::Log() calls to new logging systemGravatar aquanight2008-02-221-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9001 e03df62e-2008-0410-955e-edbf42e46eb7
* Move some stuff to usermanager, remove a little header insanity, remove ↵Gravatar w00t2008-02-021-8/+8
| | | | | | trace because it's still less useful than a chocolate fireman. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8790 e03df62e-2008-0410-955e-edbf42e46eb7
* Add a warning about quitting a user twice, and fix a minor brainfartGravatar w00t2008-01-161-0/+4
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8718 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove an O(log n) in favour of an O(1) operation, and tidy up culllist some ↵Gravatar w00t2008-01-161-8/+4
| | | | | | more git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8717 e03df62e-2008-0410-955e-edbf42e46eb7
* Re-add support for silent quits (note: we also remove an O(n) doing it this way)Gravatar w00t2008-01-161-19/+10
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8715 e03df62e-2008-0410-955e-edbf42e46eb7
* Hacked-up culllist: stores user pointers rather than CullItem, as creating ↵Gravatar w00t2008-01-161-75/+17
| | | | | | them seems to be very expensive and wasteful. Doesn't support silent quits (yet), and User::QuitUser seems to trigger *many* times per user before they are removed (socketengine getting write events to closed socket perhaps). It's still much quicker than the old way (NO perceptible lag AT ALL :)) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8714 e03df62e-2008-0410-955e-edbf42e46eb7
* Someone forgot to delete what they new :PGravatar brain2008-01-151-0/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8713 e03df62e-2008-0410-955e-edbf42e46eb7
* CullList -> CullItem *Gravatar w00t2008-01-151-10/+10
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8712 e03df62e-2008-0410-955e-edbf42e46eb7
* CullList: Don't try quit everyone. Speed/resource use enhancement on netsplits..Gravatar w00t2008-01-151-1/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8711 e03df62e-2008-0410-955e-edbf42e46eb7
* Header update: 2007 -> 2008Gravatar w00t2008-01-101-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8694 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove the need for a bunch of the hard coded arrays/hashes by scanning the ↵Gravatar brain2007-10-221-0/+2
| | | | | | src/ dir for tag comments, like in modules git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8307 e03df62e-2008-0410-955e-edbf42e46eb7
* Cache the culllist' GetUser() return. Looks cleaner.Gravatar w00t2007-10-161-26/+27
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8219 e03df62e-2008-0410-955e-edbf42e46eb7
* In the grand tradition of huge fucking commits:Gravatar w00t2007-10-151-8/+8
| | | | | | | | - chanrec -> Channel - userrec -> User Enjoy. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8204 e03df62e-2008-0410-955e-edbf42e46eb7
* Move some stuff around, this will move a crash to a different place and ↵Gravatar brain2007-10-131-1/+0
| | | | | | maybe we'll catch it git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8171 e03df62e-2008-0410-955e-edbf42e46eb7
* Add sanity checks to the ssl modules so that theres no possibility of an out ↵Gravatar brain2007-10-131-1/+1
| | | | | | | | | of range fd being passed to the events. The cull_list commit is a tidy-up only. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8155 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove more unnecessary header trafficGravatar w00t2007-08-271-1/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7887 e03df62e-2008-0410-955e-edbf42e46eb7
* OOPS! We try again, since I'm smoking craq. LF is 0x0a NOT CR.Gravatar peavey2007-07-161-1/+202
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7456 e03df62e-2008-0410-955e-edbf42e46eb7
* 'svn propset -R svn:eol-style CR *' Set to UNIX-style always. Binaries are ↵Gravatar peavey2007-07-161-202/+1
| | | | | | auto skipped by svn. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7454 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix multi-level if() madness, thanks HiroPGravatar brain2007-05-071-3/+8
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6909 e03df62e-2008-0410-955e-edbf42e46eb7
* Add options:quietbursts, fixes bug #269, also adds support for quits in a ↵Gravatar brain2007-05-041-2/+29
| | | | | | cull list which do not generate a quit snotice git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6883 e03df62e-2008-0410-955e-edbf42e46eb7
* DO NOT USE THIS COMMIT - if you do, most of the modules wont work.Gravatar brain2007-05-031-1/+1
| | | | | | | DEVS: Please fix all modules that have warnings to use the new parameters to OnUserJoin, OnUserPart and OnUserKick (bool &silent) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6858 e03df62e-2008-0410-955e-edbf42e46eb7