aboutsummaryrefslogtreecommitdiff
path: root/src/userprocess.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Add a typedef for LocalUserListGravatar attilamolnar2012-11-291-1/+1
|
* Replace copyright headers with headers granting specific authors copyrightGravatar Robby-2012-04-191-8/+18
|
* Fix the pseudo-penalty hack that doesn't work properlyGravatar Daniel De Graaf2010-09-051-1/+1
|
* Remove excessive gettimeofday system callsGravatar danieldg2010-01-181-4/+4
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12293 e03df62e-2008-0410-955e-edbf42e46eb7
* ...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
* Add fine-grained command flood controlsGravatar danieldg2009-11-111-2/+6
| | | | | | | This reintrouces "Excess Flood" quits for those that prefer it to fakelag, and allows the maximum command rate to be set in the connect block. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12093 e03df62e-2008-0410-955e-edbf42e46eb7
* Move StreamSocket inheritance off of UserGravatar danieldg2009-11-061-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12047 e03df62e-2008-0410-955e-edbf42e46eb7
* Move SetClass to LocalUserGravatar danieldg2009-10-211-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11941 e03df62e-2008-0410-955e-edbf42e46eb7
* Split LocalUser and RemoteUserGravatar danieldg2009-10-211-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11940 e03df62e-2008-0410-955e-edbf42e46eb7
* Get rid of a bunch of memory-wasting C-style stringsGravatar danieldg2009-10-031-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11796 e03df62e-2008-0410-955e-edbf42e46eb7
* Flexible SendQGravatar danieldg2009-09-261-5/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11766 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove InspIRCd* parameters and fieldsGravatar danieldg2009-09-261-6/+6
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11763 e03df62e-2008-0410-955e-edbf42e46eb7
* Create StreamSocket for IO hooking implementationGravatar danieldg2009-09-211-98/+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
* Fix segfault due to invalidated iteratorGravatar danieldg2009-09-021-1/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11641 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
* 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 glitch before release v1.2.0b4Gravatar brain2008-12-071-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10864 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove lines_in and reset_due flood protection mechanism, recvq/sendq on ↵Gravatar w00t2008-12-011-25/+1
| | | | | | | | their own now fill this role, as we have proper penalties. This tidies up *a lot* of code, and also saves a further sizeof(time_t) + sizeof(unsigned int) per user. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10838 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove m_operflood, add privs: users/flood/no-throttle & ↵Gravatar w00t2008-12-011-1/+1
| | | | | | | | users/flood/increased-buffers. This also saves another sizeof(bool) per user. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10837 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove OverPenalty, saves sizeof(bool) per user.Gravatar w00t2008-12-011-7/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10836 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
* match() is no longer a function+no header, now a static method of InspIRCd ↵Gravatar w00t2008-08-211-1/+0
| | | | | | class, blah blah blah. Also rip out the 1.2 matcher, as it was slow, and replace it with one adapted from znc, which happens to be a tiny bit faster than 1.1's (and the fastest I've seen so far that works properly) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10212 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 the 4-byte read madness discovered by psychonGravatar brain2008-07-191-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10045 e03df62e-2008-0410-955e-edbf42e46eb7
* Use a switch (cleaner, probably more efficient) for user status here, also, ↵Gravatar w00t2008-07-191-37/+33
| | | | | | we can remove another member (::timeout) that is only actually used before registration by doing a bit of addition. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10041 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
* Don't background process quitting users (there's no point), half fixes ↵Gravatar w00t2008-05-191-0/+3
| | | | | | Jason's issue.. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9761 e03df62e-2008-0410-955e-edbf42e46eb7
* Make User:: nick/ident/dhost/fullname and some other things std::string ↵Gravatar aquanight2008-05-181-4/+4
| | | | | | instead of char*/char[] (MODULES DO NOT COMPILE) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9748 e03df62e-2008-0410-955e-edbf42e46eb7
* Move QuitUser into UserManager class, and unstaticize it. This prepares for ↵Gravatar w00t2008-04-091-5/+6
| | | | | | some benchmarking lulz on object pooling I plan to do today, as well as making more sense now we *have* a manager class git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9442 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
* Nuke TIMESYNC from orbit \o/Gravatar w00t2008-02-221-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8998 e03df62e-2008-0410-955e-edbf42e46eb7
* Move some stuff to usermanager, remove a little header insanity, remove ↵Gravatar w00t2008-02-021-1/+1
| | | | | | 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
* Two stage commit: don't set user->muted except in QuitUser (duplicate ↵Gravatar w00t2008-01-161-2/+0
| | | | | | setting), also, change muted to drop all socket operations instead of just not reading the user's buffer if muted is set (no point wasting time - they're going away). Also revert culllist back to once per mainloop iteration now it is much cheaper than previously. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8716 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
* Fix up to pass User*Gravatar brain2007-10-311-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8442 e03df62e-2008-0410-955e-edbf42e46eb7
* Fixified some moreGravatar brain2007-10-311-2/+5
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8428 e03df62e-2008-0410-955e-edbf42e46eb7
* PERL PIE FOR ALL: Rename a fuckload of XLineManager's methodsGravatar w00t2007-10-281-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8399 e03df62e-2008-0410-955e-edbf42e46eb7
* - Tear out a useless load of XLine clutters that did nothing much except ↵Gravatar w00t2007-10-281-1/+2
| | | | | | | | | | | confuse things - Revert back to early 1.0 design of using a single list for line storage. We'll make this work more efficiently than 1.0 though of course. This simplifies the code for expiry, checking, etc. - Merge a bunch of sort callbacks into a single sort callback for class XLine. - Horribly break apply_lines() for the time being. .. and that's probably it. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8398 e03df62e-2008-0410-955e-edbf42e46eb7
* this should fix any of the crashes w00t outlined where User::MyClass == NULL.Gravatar brain2007-10-251-12/+15
| | | | | | | | The simplest fix seems to be that if the user has no class, skip all the code that uses the class values. This makes sense because the only situation where User::MyClass == NULL is when they arent authorised to connect and are being quit so checking flood levels and max sendq etc are irrelevent. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8358 e03df62e-2008-0410-955e-edbf42e46eb7
* Move some stuff from using userrec cached stuff to using stuff in the ↵Gravatar w00t2007-10-231-5/+5
| | | | | | connect classes git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8339 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
* Move DNS timeouts into the UserResolver class, where they should have been ↵Gravatar w00t2007-10-211-18/+2
| | | | | | (but seems to have been overlooked due to the relics of 1.0). This simplifies some stuff :) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8278 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove more debugGravatar brain2007-10-211-2/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8268 e03df62e-2008-0410-955e-edbf42e46eb7
* Fixed ssl clients on trunk. The problem peavey was having was that before ↵Gravatar brain2007-10-211-1/+3
| | | | | | ReadBuffer was char[] now its char*. sizeof() on char[] returns its size in chars, and sizeof on char* returns 4. :p git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8263 e03df62e-2008-0410-955e-edbf42e46eb7
* Move some stuff around so the last penalty line doesnt get held erroneously ↵Gravatar brain2007-10-211-3/+4
| | | | | | until data arrives again git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8254 e03df62e-2008-0410-955e-edbf42e46eb7
* Tweak so that commands with larger penalty than 1 work rightGravatar brain2007-10-211-10/+7
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8252 e03df62e-2008-0410-955e-edbf42e46eb7
* Yay, all works!Gravatar brain2007-10-211-1/+7
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8251 e03df62e-2008-0410-955e-edbf42e46eb7
* *untested* command buffering/penaltyGravatar brain2007-10-211-31/+12
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8250 e03df62e-2008-0410-955e-edbf42e46eb7
* Subtract a boobieGravatar w00t2007-10-211-1/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8242 e03df62e-2008-0410-955e-edbf42e46eb7