summaryrefslogtreecommitdiff
path: root/src/users.cpp
Commit message (Expand)AuthorAgeFilesLines
* Add stuff so that the core catches CoreException properly•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6017 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-12-161-6/+6
* Jesus, look who's the commit whore today. More header updates, and removal of...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5996 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar w00t2006-12-151-7/+4
* Try harder to make sure the ERROR string gets sent when closing a connection•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5994 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-12-151-0/+4
* Cleaning up irrelevent stuff in channels.cpp•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5993 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-12-151-31/+11
* Remove misc debug•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5991 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-12-141-7/+0
* Fix silly bug of the day.•••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 Gravatar brain2006-12-141-4/+10
* Change how users are quit if they get a write error during the things they do.•••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 Gravatar brain2006-12-141-5/+15
* Refactor userrec::chans.•••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 Gravatar brain2006-12-141-96/+50
* Refactoring:•••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 Gravatar brain2006-12-141-18/+9
* Improve the way 005 ISUPPORT is sent to users when they connect, cache it in ...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5978 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-12-131-21/+2
* Improve how we handle ELINEs on connect, turn O(2n) into O(n) (thats the best...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5968 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-12-121-29/+8
* New clone counting mechanism (this isnt tested yet)•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5967 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-12-121-32/+33
* Correctly handle write events•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5920 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-12-101-4/+4
* Fix bug found on barafranca, where quitting the user causes a cascade of erro...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5919 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-12-101-1/+2
* Make this look less insane :P•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5835 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar w00t2006-12-031-1/+1
* Fix /whois on users with lots, and lots of channels (see /whois idleserv). Wa...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5755 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar w00t2006-11-161-1/+1
* Tons of tweaks to the config stuff for the core•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5744 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-11-141-6/+6
* use --iter instead of iter-- in prunewhowas•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5738 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar peavey2006-11-131-1/+1
* fix for bug #173, unsafe delete while iterating•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5737 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar peavey2006-11-131-2/+6
* Fix PruneWhoWas to actually work right on rehash. Add debug output to whowas....•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5734 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar peavey2006-11-131-14/+25
* add <whowas> config option to control whowas behaviour. *may break*•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5731 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar peavey2006-11-131-2/+53
* Fix off-by-one error in userrec::ChangeDisplayedHost, some hosts were truncated•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5709 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar om2006-11-121-2/+2
* Apply patch for bug #165 (compile warning for users.cpp) by peaveydk•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5660 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar special2006-11-061-1/+1
* Fix IPv4 resolution, spank satmd if you were affected by this•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5659 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar w00t2006-11-061-0/+4
* Added time syncing! This is fairly simple - servers exchange timestamps and u...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5649 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar special2006-11-051-0/+1
* Merge peaveys patch, tracker #162•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5642 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-11-041-2/+17
* Fix compile error, and spank Brain•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5634 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar w00t2006-11-031-1/+1
* When we get an event on a userrec of EVENT_ERROR, and errornum is 0, send the...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5633 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-11-021-1/+1
* Please in the future everyone: DO NOT submit patches via nopaste. Nopaste is ...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5632 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-11-021-6/+9
* Fixed another overflow, identical to the last one•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5622 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar special2006-11-011-1/+1
* Fixed a little overflow, noticed by satmd•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5621 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar special2006-11-011-1/+1
* Set write error when detected•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5610 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-10-311-0/+3
* Socket error state stuff•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5607 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-10-311-1/+1
* Fix broken quits (i broke them by taking out a check i didnt think was requir...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5590 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-10-301-1/+1
* Select is now done, and some debug removed. Not that anyone really should be ...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5587 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-10-301-1/+0
* Fix for laggehness•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5585 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-10-301-0/+7
* For users, we now only write when the socketengine says theyre writeable, set...•••The old way was to always try and flush the buffer after every read, regardless of wether the socket was writeable git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5584 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-10-301-0/+1
* WARNING: This commit breaks kqueue and select -- work in progress!•••epoll now allows both a write and a read event on a socket at the same time. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5580 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-10-301-2/+16
* And fix typo•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5574 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-10-281-1/+1
* Add support for OnWhoisLine, which allows modules to change or drop any line ...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5570 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-10-281-3/+4
* And so does my coding on a saturday afternoon...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5564 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-10-281-14/+14
* I HATE YOU DEBIAN, YOU AND YOUR WHOLE OPERATION STINK•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5563 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-10-281-0/+6
* Try this, werdnum•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5562 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-10-281-0/+2
* Unknown change here•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5559 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-10-281-0/+18
* <pid file> is no longer a manditory tag (thanks dotslasher)•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5556 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-10-271-1/+0
* Fix broken GlobalCloneCount (AGAIN).•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5544 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-10-261-3/+4
* Change around some dns stuff (dont use this yet)•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5522 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-10-221-2/+2
* Tidyup•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5521 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-10-221-2/+1
* /me thwaps special for not reading comments :p•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5445 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-10-061-1/+4
* WriteOpers when reaching the softlimit•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5442 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-10-061-0/+1