summaryrefslogtreecommitdiff
path: root/src/users.cpp
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Added time syncing! This is fairly simple - servers exchange timestamps and ↵Gravatar special2006-11-051-0/+1
| | | | | | use the lowest - but should get rid of the annoying bounces for those of us who can't depend on ntpd. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5649 e03df62e-2008-0410-955e-edbf42e46eb7
* Merge peaveys patch, tracker #162Gravatar brain2006-11-041-2/+17
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5642 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix compile error, and spank BrainGravatar w00t2006-11-031-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5634 e03df62e-2008-0410-955e-edbf42e46eb7
* When we get an event on a userrec of EVENT_ERROR, and errornum is 0, send ↵Gravatar brain2006-11-021-1/+1
| | | | | | the error message "EOF from client" rather than using strerror and getting: Quit (Unknown error: 0) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5633 e03df62e-2008-0410-955e-edbf42e46eb7
* Please in the future everyone: DO NOT submit patches via nopaste. Nopaste is ↵Gravatar brain2006-11-021-6/+9
| | | | | | not designed for this, and mangles your patch so we cant apply it. gzip it instead! git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5632 e03df62e-2008-0410-955e-edbf42e46eb7
* Fixed another overflow, identical to the last oneGravatar special2006-11-011-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5622 e03df62e-2008-0410-955e-edbf42e46eb7
* Fixed a little overflow, noticed by satmdGravatar special2006-11-011-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5621 e03df62e-2008-0410-955e-edbf42e46eb7
* Set write error when detectedGravatar brain2006-10-311-0/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5610 e03df62e-2008-0410-955e-edbf42e46eb7
* Socket error state stuffGravatar brain2006-10-311-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5607 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix broken quits (i broke them by taking out a check i didnt think was ↵Gravatar brain2006-10-301-1/+1
| | | | | | required -- it was. RTFS!) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5590 e03df62e-2008-0410-955e-edbf42e46eb7
* Select is now done, and some debug removed. Not that anyone really should be ↵Gravatar brain2006-10-301-1/+0
| | | | | | using select()... git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5587 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix for laggehnessGravatar brain2006-10-301-0/+7
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5585 e03df62e-2008-0410-955e-edbf42e46eb7
* For users, we now only write when the socketengine says theyre writeable, ↵Gravatar brain2006-10-301-0/+1
| | | | | | | | | setting WantWrite after we call userrec::Write(). 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
* WARNING: This commit breaks kqueue and select -- work in progress!Gravatar brain2006-10-301-2/+16
| | | | | | | 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
* And fix typoGravatar brain2006-10-281-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5574 e03df62e-2008-0410-955e-edbf42e46eb7
* Add support for OnWhoisLine, which allows modules to change or drop any line ↵Gravatar brain2006-10-281-3/+4
| | | | | | of whois before its sent to a user git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5570 e03df62e-2008-0410-955e-edbf42e46eb7
* And so does my coding on a saturday afternoon...Gravatar brain2006-10-281-14/+14
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5564 e03df62e-2008-0410-955e-edbf42e46eb7
* I HATE YOU DEBIAN, YOU AND YOUR WHOLE OPERATION STINKGravatar brain2006-10-281-0/+6
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5563 e03df62e-2008-0410-955e-edbf42e46eb7
* Try this, werdnumGravatar brain2006-10-281-0/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5562 e03df62e-2008-0410-955e-edbf42e46eb7
* Unknown change hereGravatar brain2006-10-281-0/+18
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5559 e03df62e-2008-0410-955e-edbf42e46eb7
* <pid file> is no longer a manditory tag (thanks dotslasher)Gravatar brain2006-10-271-1/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5556 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix broken GlobalCloneCount (AGAIN).Gravatar brain2006-10-261-3/+4
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5544 e03df62e-2008-0410-955e-edbf42e46eb7
* Change around some dns stuff (dont use this yet)Gravatar brain2006-10-221-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5522 e03df62e-2008-0410-955e-edbf42e46eb7
* TidyupGravatar brain2006-10-221-2/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5521 e03df62e-2008-0410-955e-edbf42e46eb7
* /me thwaps special for not reading comments :pGravatar brain2006-10-061-1/+4
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5445 e03df62e-2008-0410-955e-edbf42e46eb7
* WriteOpers when reaching the softlimitGravatar brain2006-10-061-0/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5442 e03df62e-2008-0410-955e-edbf42e46eb7