summaryrefslogtreecommitdiff
path: root/src/userprocess.cpp
Commit message (Collapse)AuthorAgeFilesLines
* 1) Fix for nickname overruled with new cullList stuff -- we have to change ↵Gravatar brain2007-02-191-0/+2
| | | | | | | | | | | | their nick, its not safe to quit them as it messes up the nick hash. 2) Add a mute flag for users, so we can drop commands from users who have been placed on the cullList. This is independent of the actual cullList and can be used as a general mute flag e.g. by shun modules. 3) Fix /kill to also not quit the user immediately, remove need for CMD_USER_DELETED return anywhere in the code. *** THIS NEEDS TESTING BY QA *** git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6596 e03df62e-2008-0410-955e-edbf42e46eb7
* Move quitting of clients to a central Cull List, and do quitting outside ↵Gravatar peavey2007-02-051-19/+12
| | | | | | userrec and in main loop. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6497 e03df62e-2008-0410-955e-edbf42e46eb7
* Crusade to remove debug from stable and tested parts of the core and base ↵Gravatar brain2007-01-151-4/+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
* Remove some debugGravatar brain2007-01-151-2/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6353 e03df62e-2008-0410-955e-edbf42e46eb7
* change userrec int timeout to time_t since it's a timestamp made of TIME + ↵Gravatar peavey2006-12-221-1/+1
| | | | | | users connection class timeout. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6066 e03df62e-2008-0410-955e-edbf42e46eb7
* Add stuff so that the core catches CoreException properlyGravatar brain2006-12-161-2/+2
| | | | 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-9/+2
| | | | | | of namespacing. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5996 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove commented out FlushWriteBuf()Gravatar brain2006-12-141-6/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5992 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix silly bug of the day.Gravatar brain2006-12-141-6/+6
| | | | | | | | | 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
* Remove FlushWriteBuffer() from DoBackgroundUserStuff(). Its no longer ↵Gravatar brain2006-12-141-1/+1
| | | | | | required here, it used to try and flush the buffer before we actually monitored write events, long ago, without seeing if it could write first, and wasted cpu. It should be removed now and doesnt seem to affect anything. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5989 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-1/+0
| | | | | | | | | 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
* Correctly handle write eventsGravatar brain2006-12-101-6/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5920 e03df62e-2008-0410-955e-edbf42e46eb7
* Older gcc gets confused when the only parameter has a default value? O_oGravatar brain2006-11-051-1/+1
| | | | | | | Changed an Instance->Time() to Instance->Time(false) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5655 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove some debugGravatar brain2006-10-311-110/+104
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5602 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix the makefile confusion removal of these headers createsGravatar brain2006-10-311-1/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5601 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix broken quits (i broke them by taking out a check i didnt think was ↵Gravatar brain2006-10-301-0/+3
| | | | | | required -- it was. RTFS!) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5590 e03df62e-2008-0410-955e-edbf42e46eb7
* For users, we now only write when the socketengine says theyre writeable, ↵Gravatar brain2006-10-301-9/+0
| | | | | | | | | 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
* Needs more testing but seems to work: In DoBackgroundUserStuff(), calculate ↵Gravatar brain2006-10-281-2/+44
| | | | | | the time value of when we actually do need enter the function body again, and dont run function body again till that time git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5568 e03df62e-2008-0410-955e-edbf42e46eb7
* Use a ternary operator to remove bracketing from ping timeout messageGravatar w00t2006-10-021-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5383 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix ping timeout messages. This is what I get for not fully testing.Gravatar w00t2006-10-011-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5377 e03df62e-2008-0410-955e-edbf42e46eb7
* Everybody loves boobies. It's true.Gravatar brain2006-10-011-0/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5367 e03df62e-2008-0410-955e-edbf42e46eb7
* InspIRCd: Now with 100% more boobies. Err, ping timeout message coolness.Gravatar w00t2006-10-011-1/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5365 e03df62e-2008-0410-955e-edbf42e46eb7
* Removal of debugGravatar brain2006-09-031-1/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5133 e03df62e-2008-0410-955e-edbf42e46eb7
* Add snomask f (flood)Gravatar brain2006-09-011-5/+6
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5097 e03df62e-2008-0410-955e-edbf42e46eb7
* Wahhhhhhhhhhhh bwahahaha. Mass commit to tidy up tons of messy include listsGravatar brain2006-08-301-22/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5080 e03df62e-2008-0410-955e-edbf42e46eb7
* Note: connect() cant time out for inspsockets in this commit. They'll sit in ↵Gravatar brain2006-08-281-23/+0
| | | | | | memory forever -- if you want something actually working properly wait for the next commit git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5040 e03df62e-2008-0410-955e-edbf42e46eb7
* EventHandler class, an abstraction for raw i/oGravatar brain2006-08-181-11/+8
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4941 e03df62e-2008-0410-955e-edbf42e46eb7
* Optimization and removal of casts (profiling stuff)Gravatar brain2006-08-171-5/+5
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4930 e03df62e-2008-0410-955e-edbf42e46eb7
* Just to mess with om's head, remove helperfuncs.h from everywhereGravatar brain2006-08-111-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4900 e03df62e-2008-0410-955e-edbf42e46eb7
* Change to using Instance->Log (InspIRCd::Log) rather than log() macroGravatar brain2006-08-111-15/+15
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4880 e03df62e-2008-0410-955e-edbf42e46eb7
* Now two types of log macro, log() and ilog(). log() assumes an InspIRCd ↵Gravatar brain2006-08-111-15/+15
| | | | | | | | | object called ServerInstance, ilog() takes an InspIRCd object as first param. TODO: Run a regexp over these, using perl, to translate them into InspIRCd::Log calls and then eliminate the macro :) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4879 e03df62e-2008-0410-955e-edbf42e46eb7
* Move all of the xline stuff into class XLineManager, make an instance of it ↵Gravatar brain2006-08-111-6/+6
| | | | | | | | | in class InspIRCd and use it (eliminates another extern) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4878 e03df62e-2008-0410-955e-edbf42e46eb7
* Move ReadBuffer into InspIRCd classGravatar brain2006-08-111-11/+6
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4877 e03df62e-2008-0410-955e-edbf42e46eb7
* Move whowas into InspIRCdGravatar brain2006-08-111-2/+2
| | | | | | | Tidy up lowermap extern (for now, we cant do much but have this as extern) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4876 e03df62e-2008-0410-955e-edbf42e46eb7
* extern time_t TIME -> InspIRCd::Time()Gravatar brain2006-08-111-2/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4873 e03df62e-2008-0410-955e-edbf42e46eb7
* So much stuff changed in this one, i forgot most of it.Gravatar brain2006-08-101-1/+1
| | | | | | | Oh yeah, main thing is ModeHandler and ModeWatcher classes now take an InspIRCd* to their constructor git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4858 e03df62e-2008-0410-955e-edbf42e46eb7
* Mass-tidyup of module global vars, theyre no longer global vars.Gravatar brain2006-08-101-2/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4856 e03df62e-2008-0410-955e-edbf42e46eb7
* Move IsNick, IsIdent into class InspIRCd, update modules that use it.Gravatar brain2006-08-101-1/+0
| | | | | | | Change message.h to just a #warning saying its deprecated, and remove all use of it from the core :) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4847 e03df62e-2008-0410-955e-edbf42e46eb7
* FindNick, FindChan, ChanModes, UserList, CountInvisible, PurgeEmptyChannels, ↵Gravatar brain2006-08-101-4/+4
| | | | | | | | | GetClass, WriteOpers, GetServerDescription -> into classes ServerConfig takes InspIRCd pointer in its constructor git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4832 e03df62e-2008-0410-955e-edbf42e46eb7
* userrec and chanrec now have their own independent pointer back to their ↵Gravatar brain2006-08-091-6/+6
| | | | | | 'creator' InspIRCd* object, extern now longer required in channels.cpp or users.cpp git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4820 e03df62e-2008-0410-955e-edbf42e46eb7
* Move tons more stuff into class InspIRCdGravatar brain2006-08-091-4/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4819 e03df62e-2008-0410-955e-edbf42e46eb7
* Move clientlist and chanlist into InspIRCd*Gravatar brain2006-08-091-3/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4818 e03df62e-2008-0410-955e-edbf42e46eb7
* Move fd_ref_table into class InspIRCd*Gravatar brain2006-08-091-25/+23
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4817 e03df62e-2008-0410-955e-edbf42e46eb7
* Move socket_ref and module_sockets vectors/arrays into InspIRCd*. These are ↵Gravatar brain2006-08-091-11/+8
| | | | | | | | | | public members, which InspSocket can modify. (eventually, this will be marshalled safely through some accessors). When constructing an InspSocket you must now provide an InspIRCd* instance to 'attach' the socket to. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4812 e03df62e-2008-0410-955e-edbf42e46eb7
* ServerConfig extern moved into class InspIRCdGravatar brain2006-08-091-8/+7
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4808 e03df62e-2008-0410-955e-edbf42e46eb7
* WHEEEEE!!!!!Gravatar brain2006-08-081-2/+2
| | | | | | | | | All of: Write(), WriteTo(), WriteFrom(), WriteServ() are now methods of userrec. Write_NoFormat(), WriteTo_NoFormat(), WriteFrom_NoFormat(), WriteServ_NoFormat() are now std::string-taking overloaded methods of the functions above All modules updated to use new syntax, my fingers hurt :( git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4798 e03df62e-2008-0410-955e-edbf42e46eb7
* userrec::UpdateNickHash(), userrec::ForceNickChange(), userrec::FullConnect()Gravatar brain2006-08-081-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4793 e03df62e-2008-0410-955e-edbf42e46eb7
* kill_link() and Server::QuitUser() -> userrec::QuitUser() (static member) - ↵Gravatar brain2006-08-081-6/+6
| | | | | | this cant be a normal member as it causes the userrec to be deleted, and "delete this" is bad, mmm'k git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4789 e03df62e-2008-0410-955e-edbf42e46eb7
* Change to using userrec::ip as a sockaddr to store port, ip and address ↵Gravatar brain2006-08-041-9/+9
| | | | | | | | | family, rather than userrec::ip4 and userrec::port. This allows us to handle remote ipv6 users on an ipv4 server, and vice versa. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4694 e03df62e-2008-0410-955e-edbf42e46eb7
* Comments, add more detail, remove dnsqueue.h include from tons of placesGravatar brain2006-08-011-5/+0
| | | | | | | Remove THREADED_DNS defines from all over the place git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4629 e03df62e-2008-0410-955e-edbf42e46eb7