summaryrefslogtreecommitdiff
path: root/src/users.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Debug the spoutmouth outputGravatar brain2007-01-171-1/+5
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6363 e03df62e-2008-0410-955e-edbf42e46eb7
* Make this more sensibleGravatar brain2007-01-171-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6362 e03df62e-2008-0410-955e-edbf42e46eb7
* Log client output, so we can actually see what we're sending out, and make ↵Gravatar brain2007-01-171-0/+1
| | | | | | more sense of stuff git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6361 e03df62e-2008-0410-955e-edbf42e46eb7
* Crusade to remove debug from stable and tested parts of the core and base ↵Gravatar brain2007-01-151-26/+0
| | | | | | | | | | modules. Most of the code here being de-noised hasnt had a crash or bug in it for many months, if not a year so the debug output is useless noise in the logfile when trying to trace a bug in a REAL problem area. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6356 e03df62e-2008-0410-955e-edbf42e46eb7
* Document dns caching, add a "bool cached" to OnLookupComplete method in ↵Gravatar brain2007-01-071-2/+2
| | | | | | Resolver, and and add " -- cached" to end of 'looking up your host' string if their result is a cached result git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6254 e03df62e-2008-0410-955e-edbf42e46eb7
* DNS caching stuff (almost done)Gravatar brain2007-01-071-8/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6252 e03df62e-2008-0410-955e-edbf42e46eb7
* DNS Stuff - this wont work right yet, it will soon (tm)Gravatar brain2007-01-071-7/+15
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6250 e03df62e-2008-0410-955e-edbf42e46eb7
* Move all /WHOWAS related out of core and into cmd_whowas.Gravatar peavey2007-01-071-167/+6
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6249 e03df62e-2008-0410-955e-edbf42e46eb7
* Add TTL stuff to dns system (pass it to inherited objects)Gravatar brain2007-01-071-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6247 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix lusers breakage introduced by latest set of optimizationsGravatar brain2007-01-031-1/+14
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6219 e03df62e-2008-0410-955e-edbf42e46eb7
* SirOlli gets credit for this fix, because he was the only one willing to ↵Gravatar brain2007-01-031-1/+1
| | | | | | work with us till we cracked it :p git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6218 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix for crash in desync of whowas lists on rehash. Also less mem leakage on ↵Gravatar peavey2007-01-021-35/+64
| | | | | | adding to whowas. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6217 e03df62e-2008-0410-955e-edbf42e46eb7
* Cache invalidation in the wrong place, fixes FHOST remote host change bugGravatar brain2006-12-311-4/+4
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6187 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix broken cloaking introduced by last commit (we need to invalidate the ↵Gravatar brain2006-12-301-7/+6
| | | | | | cache after setting the new string, not before) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6181 e03df62e-2008-0410-955e-edbf42e46eb7
* Cached GetFullRealHost etc.Gravatar brain2006-12-301-9/+61
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6179 e03df62e-2008-0410-955e-edbf42e46eb7
* Tweaks to instantiate less stuff when writing to a bunch of usersGravatar brain2006-12-301-6/+13
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6172 e03df62e-2008-0410-955e-edbf42e46eb7
* Tons of optimization of WriteChannel, WriteChannelWithServ, WriteCommon etc, ↵Gravatar brain2006-12-301-4/+14
| | | | | | | | | | dont call userrec::GetFullHost or snprintf for every item, call it just once. Turns O(n) calls for every write into O(~1) calls per write. Remove some debug from the socketengines which makes debugging hard on large channels (write availability message) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6171 e03df62e-2008-0410-955e-edbf42e46eb7
* Add unregistered user counter, this may also fix the (minor) m_conn_lusers ↵Gravatar brain2006-12-301-1/+11
| | | | | | shows current connection as unregged git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6170 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix a bug in whowas that could desync list.Gravatar peavey2006-12-241-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6091 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix loop when quitting multiple users (this is probably whats eating cpu)Gravatar brain2006-12-241-3/+7
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6084 e03df62e-2008-0410-955e-edbf42e46eb7
* Hash rehashing changeGravatar brain2006-12-231-17/+18
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6080 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove useless debugGravatar brain2006-12-221-8/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6062 e03df62e-2008-0410-955e-edbf42e46eb7
* Refactor connect allow/deny linesGravatar brain2006-12-221-37/+32
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6061 e03df62e-2008-0410-955e-edbf42e46eb7
* Proper fix for CS server crash, forgot to delete chanrec* from users ↵Gravatar peavey2006-12-211-3/+1
| | | | | | chanlist on PurgeEmptyChannels() git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6052 e03df62e-2008-0410-955e-edbf42e46eb7
* Crude hotfix to what's been crashing chatspikeGravatar peavey2006-12-211-0/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6051 e03df62e-2008-0410-955e-edbf42e46eb7
* When we handle a READ event on a user, return immediately.Gravatar brain2006-12-191-1/+1
| | | | | | | This is because the read event may remove the user, in which case the !empty and quituser check below will address invalid data! git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6049 e03df62e-2008-0410-955e-edbf42e46eb7
* Add stuff so that the core catches CoreException properlyGravatar brain2006-12-161-6/+6
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6017 e03df62e-2008-0410-955e-edbf42e46eb7
* Jesus, look who's the commit whore today. More header updates, and removal ↵Gravatar w00t2006-12-151-7/+4
| | | | | | of namespacing. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5996 e03df62e-2008-0410-955e-edbf42e46eb7
* Try harder to make sure the ERROR string gets sent when closing a connectionGravatar brain2006-12-151-0/+4
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5994 e03df62e-2008-0410-955e-edbf42e46eb7
* Cleaning up irrelevent stuff in channels.cppGravatar brain2006-12-151-31/+11
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5993 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove misc debugGravatar brain2006-12-141-7/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5991 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix silly bug of the day.Gravatar brain2006-12-141-4/+10
| | | | | | | | | User was only getting a userrec::chans entry added if they had any privelages on the channel. If they werent opped, voiced, or halfopped on join, no entry in the hash. Silly brain now added a: user->chans[Ptr] = 0; :p git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5990 e03df62e-2008-0410-955e-edbf42e46eb7
* Change how users are quit if they get a write error during the things they do.Gravatar brain2006-12-141-5/+15
| | | | | | | | | Instead of QuitUser inside FlushWriteBuffer() (potentially *UNSAFE*), go back to using SetWriteError(), but to ensure we dont get a cascade of bad write events from the socket engine, QuitUser the user before returning in userrec::HandleEvent, after we can gaurantee ALL other reading or writing is done. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5987 e03df62e-2008-0410-955e-edbf42e46eb7
* Refactor userrec::chans.Gravatar brain2006-12-141-96/+50
| | | | | | | | | Old way: A vector of ucrec, MAXCHANS in size by default populated by NULLS, so you have to scan the vector to find an empty slot when joining a user, parting a user etc New way: std::map<chanrec*, char> (the char holds their basic core permissions on the channel [voice, halfop, op]) This increases speed a ton, and removes some wtf-age. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5986 e03df62e-2008-0410-955e-edbf42e46eb7
* Refactoring:Gravatar brain2006-12-141-18/+9
| | | | | | | | | | 1) Chain together a resize and an append, to improve the buffer read efficiency 2) eliminate a const char* pointer by doing it purely with string, saving a data copy 3) use iterators rather than ints and vector::size() for spooling motd and rules files to users 4) change a usage of !length() to empty() to make it more readable git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5985 e03df62e-2008-0410-955e-edbf42e46eb7
* Improve the way 005 ISUPPORT is sent to users when they connect, cache it in ↵Gravatar brain2006-12-131-21/+2
| | | | | | a much more sane format which is much simpler to spool to them git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5978 e03df62e-2008-0410-955e-edbf42e46eb7
* Improve how we handle ELINEs on connect, turn O(2n) into O(n) (thats the ↵Gravatar brain2006-12-121-29/+8
| | | | | | best we can do with g/k/z/q checks for now :( ) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5968 e03df62e-2008-0410-955e-edbf42e46eb7
* New clone counting mechanism (this isnt tested yet)Gravatar brain2006-12-121-32/+33
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5967 e03df62e-2008-0410-955e-edbf42e46eb7
* Correctly handle write eventsGravatar brain2006-12-101-4/+4
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5920 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix bug found on barafranca, where quitting the user causes a cascade of ↵Gravatar brain2006-12-101-1/+2
| | | | | | error state notifications without actually quitting the user until much later, wasting cpu time git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5919 e03df62e-2008-0410-955e-edbf42e46eb7
* Make this look less insane :PGravatar w00t2006-12-031-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5835 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix /whois on users with lots, and lots of channels (see /whois idleserv). ↵Gravatar w00t2006-11-161-1/+1
| | | | | | Was broken by the indroduction of OnWhoisLine stuff. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5755 e03df62e-2008-0410-955e-edbf42e46eb7
* Tons of tweaks to the config stuff for the coreGravatar brain2006-11-141-6/+6
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5744 e03df62e-2008-0410-955e-edbf42e46eb7
* use --iter instead of iter-- in prunewhowasGravatar peavey2006-11-131-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5738 e03df62e-2008-0410-955e-edbf42e46eb7
* fix for bug #173, unsafe delete while iteratingGravatar peavey2006-11-131-2/+6
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5737 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix PruneWhoWas to actually work right on rehash. Add debug output to ↵Gravatar peavey2006-11-131-14/+25
| | | | | | whowas. More code comments to whowas. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5734 e03df62e-2008-0410-955e-edbf42e46eb7
* add <whowas> config option to control whowas behaviour. *may break*Gravatar peavey2006-11-131-2/+53
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5731 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix off-by-one error in userrec::ChangeDisplayedHost, some hosts were truncatedGravatar om2006-11-121-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5709 e03df62e-2008-0410-955e-edbf42e46eb7
* Apply patch for bug #165 (compile warning for users.cpp) by peaveydkGravatar special2006-11-061-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5660 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix IPv4 resolution, spank satmd if you were affected by thisGravatar w00t2006-11-061-0/+4
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5659 e03df62e-2008-0410-955e-edbf42e46eb7