summaryrefslogtreecommitdiff
path: root/src/users.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Make sure this is pushed tooGravatar brain2008-04-051-1/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9352 e03df62e-2008-0410-955e-edbf42e46eb7
* Use 1.2, not VERSION constant for here.Gravatar w00t2008-04-051-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9350 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix a (long standing) tiny bug: wallops do not go out to all +w users, only ↵Gravatar w00t2008-04-031-1/+4
| | | | | | opered users. This needs applying to 1.1 too, will be done shortly. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9285 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix brain's compile error :pGravatar w00t2008-04-021-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9282 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix for bug #456 so we can be rid of itGravatar brain2008-04-021-2/+5
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9281 e03df62e-2008-0410-955e-edbf42e46eb7
* Automatic detection and allocation of max fds. No longer needs recompile to ↵Gravatar brain2008-04-021-1/+18
| | | | | | | | | change, just adjust it in your kernel or whatever and restart insp. Please note that select and iocp socket engines do not support detection and are always set to FD_SETSIZE and 10240 descriptors respectively. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9263 e03df62e-2008-0410-955e-edbf42e46eb7
* fix a few warnings by casting since thats the only way to be sure non native ↵Gravatar peavey2008-03-311-2/+2
| | | | | | C types matches their format tokens. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9239 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix two format warnings, dont you DARE tell me size_t varies in size too.Gravatar brain2008-03-311-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9235 e03df62e-2008-0410-955e-edbf42e46eb7
* Commit -Wformat=2 -Wmissing-format-attributes, printf-like functions in ↵Gravatar aquanight2008-03-301-6/+6
| | | | | | inspircd now get treated like printf (meaning compile-time check goodness) in GCC git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9217 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/+3
| | | | | | 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
* Clean up user/chan modes on deoper, fix memsets off-by-1, delete[] properly ↵Gravatar aquanight2008-03-231-6/+17
| | | | | | in destructor git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9182 e03df62e-2008-0410-955e-edbf42e46eb7
* These memsets cant rely on sizeof() any more, afaik. The sizeof() would give ↵Gravatar brain2008-03-231-4/+4
| | | | | | 4 or 8, size of the pointer :) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9181 e03df62e-2008-0410-955e-edbf42e46eb7
* Whoops, take out some foolish memsets (well theyre foolish now :p)Gravatar brain2008-03-231-2/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9180 e03df62e-2008-0410-955e-edbf42e46eb7
* This should save 128 bytes per user for non-opers. Well worth it imho for a ↵Gravatar brain2008-03-231-0/+26
| | | | | | reasonably large amount of unused ram. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9179 e03df62e-2008-0410-955e-edbf42e46eb7
* Add ability to control what opertypes can set what operonly user/chan modes. ↵Gravatar aquanight2008-03-231-1/+38
| | | | | | This works the same way as commands, in that modes allowed by classes are added together, and * allows all. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9176 e03df62e-2008-0410-955e-edbf42e46eb7
* Wheeee for HUGE commits. Convert all numerics to WriteNumeric so that ↵Gravatar brain2008-03-221-16/+16
| | | | | | OnNumeric can capture them. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9175 e03df62e-2008-0410-955e-edbf42e46eb7
* Add WriteNumeric() to User and OnNumeric module event. Note that modules do ↵Gravatar brain2008-03-221-0/+26
| | | | | | not change the numeric text on the fly, as this involves needless allocations for numerics that arent being changed, so instead they block the original numeric and send out their own when needed. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9174 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix for bug #466 reported by JohnGravatar brain2008-02-261-2/+18
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9042 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix for feature request in bug #465 by JohnGravatar brain2008-02-261-0/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9041 e03df62e-2008-0410-955e-edbf42e46eb7
* Convert remaining InspIRCd::Log() calls to new logging systemGravatar aquanight2008-02-221-9/+9
| | | | 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
* The issue from stable does not exist here, because we initialize ↵Gravatar brain2008-02-211-1/+1
| | | | | | userrec::quietquit to false in QuitUser (we didnt in stable) however it makes sense to also init this in the ctor git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8974 e03df62e-2008-0410-955e-edbf42e46eb7
* Seperate USERIO into USERINPUT and USEROUTPUTGravatar brain2008-02-171-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8949 e03df62e-2008-0410-955e-edbf42e46eb7
* Commit patch from danieldg that makes a ton of stuff const-safe for latest ↵Gravatar brain2008-02-131-1/+1
| | | | | | warn-happy trigger-happy gcc4 (thanks) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8922 e03df62e-2008-0410-955e-edbf42e46eb7
* Backport r8910: oper quit message would be blankGravatar w00t2008-02-121-1/+6
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8911 e03df62e-2008-0410-955e-edbf42e46eb7
* Add -Wshadow to cflags, and fix a bunch of warnings that come with it. Add a ↵Gravatar w00t2008-02-111-17/+17
| | | | | | note to webirc that needs looking at. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8892 e03df62e-2008-0410-955e-edbf42e46eb7
* Add a printf-type override for LogManager::Log(). We need to find a way to ↵Gravatar w00t2008-02-091-192/+126
| | | | | | see if a log call would have any interest, to avoid unnecessary printf() here though. Convert a bunch of stuff to using new logging (added targets: USERS, USERIO) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8860 e03df62e-2008-0410-955e-edbf42e46eb7
* Support for /invite <user> <channel> <timeout> - if the user doesn't partake ↵Gravatar aquanight2008-02-081-5/+40
| | | | | | in <timeout> time, the invite expires git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8854 e03df62e-2008-0410-955e-edbf42e46eb7
* This makes more senseGravatar brain2008-02-051-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8837 e03df62e-2008-0410-955e-edbf42e46eb7
* Brain, look at this pleaseGravatar w00t2008-02-041-14/+22
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8817 e03df62e-2008-0410-955e-edbf42e46eb7
* Cache User::GetIPString()Gravatar w00t2008-02-021-0/+11
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8795 e03df62e-2008-0410-955e-edbf42e46eb7
* Move some stuff to usermanager, remove a little header insanity, remove ↵Gravatar w00t2008-02-021-14/+14
| | | | | | 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
* Fix.. snomask O is already taken (ffs) so use A insteadGravatar w00t2008-01-171-5/+5
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8729 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove InspIRCd::WriteOpers in favour of snomask OGravatar w00t2008-01-171-6/+6
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8728 e03df62e-2008-0410-955e-edbf42e46eb7
* Add a warning about quitting a user twice, and fix a minor brainfartGravatar w00t2008-01-161-1/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8718 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove an O(log n) in favour of an O(1) operation, and tidy up culllist some ↵Gravatar w00t2008-01-161-3/+3
| | | | | | more git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8717 e03df62e-2008-0410-955e-edbf42e46eb7
* Two stage commit: don't set user->muted except in QuitUser (duplicate ↵Gravatar w00t2008-01-161-2/+3
| | | | | | 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
* Re-add support for silent quits (note: we also remove an O(n) doing it this way)Gravatar w00t2008-01-161-0/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8715 e03df62e-2008-0410-955e-edbf42e46eb7
* Hacked-up culllist: stores user pointers rather than CullItem, as creating ↵Gravatar w00t2008-01-161-9/+7
| | | | | | them seems to be very expensive and wasteful. Doesn't support silent quits (yet), and User::QuitUser seems to trigger *many* times per user before they are removed (socketengine getting write events to closed socket perhaps). It's still much quicker than the old way (NO perceptible lag AT ALL :)) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8714 e03df62e-2008-0410-955e-edbf42e46eb7
* Undo my constructor playing, I'm pretty sure it will break stuff. This will ↵Gravatar w00t2008-01-131-14/+0
| | | | | | require thinkings. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8707 e03df62e-2008-0410-955e-edbf42e46eb7
* Move User::AddClient to UserManager::AddClient. WARNING: I assure you this ↵Gravatar w00t2008-01-131-161/+14
| | | | | | is currently WRONG as I was playing with moving a few bits to the constructor. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8706 e03df62e-2008-0410-955e-edbf42e46eb7
* First UserManager overhaul: Move clone counts out of InspIRCd & User.Gravatar w00t2008-01-131-46/+5
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8705 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
* Add param 'opername' to event OnPostOper. This will help make a (slightly ↵Gravatar w00t2008-01-021-2/+2
| | | | | | nicer) version of dz's patch to allow modes in <oper> git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8615 e03df62e-2008-0410-955e-edbf42e46eb7
* Implement roadmap item: "userrec::HasPermission -> map of maps, for (even ↵Gravatar brain2007-11-111-34/+52
| | | | | | | | | | faster) access" This is not a map of maps, but a single level map per oper, in non-opers this member is NULL. Please note that this is not yet tested. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8564 e03df62e-2008-0410-955e-edbf42e46eb7
* BanCache: Add a negative hit for an IP address upon FullConnect.Gravatar w00t2007-11-041-0/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8540 e03df62e-2008-0410-955e-edbf42e46eb7
* Integrate K/Gline into the bancache system by making some modifications to ↵Gravatar w00t2007-11-041-4/+2
| | | | | | DefaultApply method. This means any type of XLine that uses DefaultApply can hook into the bancache system and add positive hits quickly and easily with no modification, which is neat. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8538 e03df62e-2008-0410-955e-edbf42e46eb7
* Honking huge commit. Removal of DELETE() template that never worked right anywayGravatar brain2007-11-041-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8527 e03df62e-2008-0410-955e-edbf42e46eb7
* Avoid code duplication, just call XLine::Apply() rather than retyping all ↵Gravatar brain2007-11-041-15/+3
| | | | | | that moronbanner stuff each time git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8494 e03df62e-2008-0410-955e-edbf42e46eb7
* BanCache positive hits should be overridden by E:, thanks BrainGravatar w00t2007-11-041-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8493 e03df62e-2008-0410-955e-edbf42e46eb7