summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2008-01-16Two stage commit: don't set user->muted except in QuitUser (duplicate ↵w00t
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
2008-01-16Re-add support for silent quits (note: we also remove an O(n) doing it this way)w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8715 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-16Hacked-up culllist: stores user pointers rather than CullItem, as creating ↵w00t
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
2008-01-15Someone forgot to delete what they new :Pbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8713 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-15CullList -> CullItem *w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8712 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-15CullList: Don't try quit everyone. Speed/resource use enhancement on netsplits..w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8711 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-15Fix a stupid crash on unknown commands caused by me blindly applying a 1.1 ↵w00t
patch.. doesn't affect 1.1 git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8710 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-14IPv6 fix, thanks to danieldg. Doesn't affect 1.1.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8709 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-13New timer code. This may be a tiny fraction slower (though I think it will ↵w00t
be acceptable given that we no longer need to tick old timers etc), but it is a lot simpler (about half the codesize of the old + no allocation of new timergroups etc), and should (I hope) always tick timers and never 'lose' them. Performs okay under 3500 connection attempts (0:00 CPU time :)) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8708 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-13Undo my constructor playing, I'm pretty sure it will break stuff. This will ↵w00t
require thinkings. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8707 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-13Move User::AddClient to UserManager::AddClient. WARNING: I assure you this ↵w00t
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
2008-01-13First UserManager overhaul: Move clone counts out of InspIRCd & User.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8705 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-13Add a channel manager class while I'm at it.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8704 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-13Add usermanager.cppw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8702 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-13I think (and Brain concurs) that B for blockcaps and P for permanent make a ↵w00t
lot more sense, so 1.2 blockcaps gets mode B. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8701 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-10Add goodchan tags for m_denychans: Allows the use case of forbidding ↵w00t
*warez*, and allowing #thisreallyisntwarez, or whatever. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8696 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-10Header update: 2007 -> 2008w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8694 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-10Erase their quit count on banning (so they get another 10 or whatever ↵w00t
attempts, and not banned instantly on one quit after that ;p) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8693 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-10Add m_quitban: Bans IPs that connect/disconnect more than X times per 3600 ↵w00t
seconds for a configurable duration. Default is 10 quits, 10 minute ban. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8692 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-10Implement <options:prefixpart|suffixpart|fixedpart>w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8690 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-10Add optional SAPART reason. No prefixing done yet.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8689 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-10Register RLine factory on load, unregister it on unload.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8686 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-10Fix bug in rline, xline derived class declared itself as xline type 'K' not 'R'brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8685 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-09Fix some random crash due to my not knowing how to use STL *shrug*w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8684 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-09Correct a few things, and yay for code that randomly decides to work.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8683 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-09Utterly untested RLINEw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8682 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-09Flesh this out a little more. Create our derived XLine and factory. Doesn't ↵w00t
implement a command yet. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8681 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-09Add RLINE skeleton module to move it between PCs (I'm lazy :p)w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8680 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-09Fix for bug #464, taxonomy output spooled to target not to requestor, ↵brain
reported by John, thanks :) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8678 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-09Add OnExpireLine hook to xline db stuffw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8677 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-09Add OnExpireLine(XLine *) hook, will be used in xline db stuff to avoid ↵w00t
getting a fucked up vector git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8676 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-09Some quick credits updates.. nothing huge, just people that have been ↵w00t
helpful during 1.2 so far, etc.. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8675 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-09Fake lag on nick change, thanks pLaYaw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8674 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-09Remove useless debug from here (finished with it), and add some debug that ↵w00t
makes sense :P git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8673 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-09Fix bug in new XLine system (thanks Brain) - I don't know how I didn't spot ↵w00t
this one :P git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8672 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-08Fix problem #2 (this means that xlinedb is essentially working and ↵w00t
feature-complete..). XLine subsystem still seems to be having rather screwed problems per bug #457. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8671 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-08Fix problem #1 by setting a lock on writes when we're reading. This means no ↵w00t
more stupid/pointless writes. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8670 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-08xline.db reading. Two things I notice are funky in some way about this.. 1) ↵w00t
db module needs to know when lines are being added because of db read (else it generates spurious writes), 2) somehow, my E:Lines in my db turned into glines. Other than that, it seems to have worked. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8669 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-08Code to write xline.db.. reading is not yet handled.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8668 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-08Very early on version of xline database module, doesn't yet physically store ↵w00t
bans.. but does keep track of the ones that exist etc. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8667 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-08Fix careless compile error caused by forward port of patch earlier today.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8666 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-08Forward port r8664: bind server sockets on /rehashw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8665 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-08Don't send 421 to unregistered clients, per RFC (thanks nenolod)w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8661 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-08Remove some debug on startupw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8660 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-07Correct typow00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8659 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-07git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8657 ↵w00t
e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-07Second half of usercount fix..w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8656 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-07Fix up some usercounts stuff.. to be tested.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8655 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-06Hopefully correct implementation of OnRawMode.. can someone pls check this ↵w00t
for me tomorrow. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8654 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-06OnRawMode event makes a return: This was removed post 1.0 because it was ↵w00t
incredibly slow with the previous hooking mechanism. It should be okay now that module hooks aren't O(n).. Just the header and virtual atm, no implementation in the parser. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8653 e03df62e-2008-0410-955e-edbf42e46eb7