aboutsummaryrefslogtreecommitdiffstats
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
...
* Two stage commit: don't set user->muted except in QuitUser (duplicate ↵Gravatar w00t2008-01-161-4/+4
| | | | | | 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/+4
| | | | 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-162-14/+10
| | | | | | 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
* CullList -> CullItem *Gravatar w00t2008-01-151-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8712 e03df62e-2008-0410-955e-edbf42e46eb7
* New timer code. This may be a tiny fraction slower (though I think it will ↵Gravatar w00t2008-01-131-19/+18
| | | | | | 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
* Move User::AddClient to UserManager::AddClient. WARNING: I assure you this ↵Gravatar w00t2008-01-132-12/+12
| | | | | | 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-133-37/+51
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8705 e03df62e-2008-0410-955e-edbf42e46eb7
* Add a channel manager class while I'm at it.Gravatar w00t2008-01-131-0/+28
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8704 e03df62e-2008-0410-955e-edbf42e46eb7
* Feh. Remember the header too.Gravatar w00t2008-01-131-0/+28
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8703 e03df62e-2008-0410-955e-edbf42e46eb7
* Header update: 2007 -> 2008Gravatar w00t2008-01-10106-106/+106
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8694 e03df62e-2008-0410-955e-edbf42e46eb7
* Implement <options:prefixpart|suffixpart|fixedpart>Gravatar w00t2008-01-101-0/+12
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8690 e03df62e-2008-0410-955e-edbf42e46eb7
* Add OnExpireLine(XLine *) hook, will be used in xline db stuff to avoid ↵Gravatar w00t2008-01-091-2/+8
| | | | | | getting a fucked up vector git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8676 e03df62e-2008-0410-955e-edbf42e46eb7
* Hopefully correct implementation of OnRawMode.. can someone pls check this ↵Gravatar w00t2008-01-061-1/+1
| | | | | | for me tomorrow. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8654 e03df62e-2008-0410-955e-edbf42e46eb7
* OnRawMode event makes a return: This was removed post 1.0 because it was ↵Gravatar w00t2008-01-061-1/+13
| | | | | | 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
* Permanent channels, currently conflicts with blockcaps (+P) and is untestedGravatar w00t2008-01-061-7/+7
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8650 e03df62e-2008-0410-955e-edbf42e46eb7
* Move CreateChannel to a constructor insteadGravatar w00t2008-01-061-13/+5
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8647 e03df62e-2008-0410-955e-edbf42e46eb7
* Move channel creation to a seperate Channel::CreateChannel (y'know, perhaps ↵Gravatar w00t2008-01-061-0/+8
| | | | | | this might go into a constructor sometime) in preperation for permanent channels git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8646 e03df62e-2008-0410-955e-edbf42e46eb7
* Forward declaration isn't required hereGravatar w00t2008-01-061-3/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8645 e03df62e-2008-0410-955e-edbf42e46eb7
* Add overridden constructor with specified time in seconds for bancache entry ↵Gravatar w00t2008-01-061-0/+10
| | | | | | to last (we'll probably want to use this for xlines etc) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8644 e03df62e-2008-0410-955e-edbf42e46eb7
* Add bancache expiry stuff, currently records expire 60 seconds after ↵Gravatar w00t2008-01-061-1/+3
| | | | | | creation. Live, we will want perhaps an hour before expiry. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8640 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix a bug (snotices repeating constantly), and add a flush timer (1x5 seconds)Gravatar w00t2008-01-051-3/+4
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8639 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix snomask stacking, still needs to flush all snomasks on a timer to avoid ↵Gravatar w00t2008-01-051-0/+1
| | | | | | messages getting too stacked up.. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8638 e03df62e-2008-0410-955e-edbf42e46eb7
* Snomask stacking: not yet working (crashes), and not quite finishedGravatar w00t2008-01-051-4/+10
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8637 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove non-portable code and replace with a debug callGravatar w00t2008-01-041-7/+7
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8632 e03df62e-2008-0410-955e-edbf42e46eb7
* Format the header a little better, add some stuff preparing for snomask ↵Gravatar w00t2008-01-041-0/+38
| | | | | | compression. Nothing concrete yet.. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8628 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove some stuff that isn't needed from here.Gravatar w00t2008-01-041-3/+7
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8625 e03df62e-2008-0410-955e-edbf42e46eb7
* Patch turning Config->sid from size_t to char **. This also undoes the total ↵Gravatar w00t2008-01-031-1/+1
| | | | | | fuckery that occurs when someone tries to specify <server:id>. Automatic generation is not yet tested. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8619 e03df62e-2008-0410-955e-edbf42e46eb7
* Add param 'opername' to event OnPostOper. This will help make a (slightly ↵Gravatar w00t2008-01-022-2/+3
| | | | | | 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
* Remove an unneeded forward declaration and typedefGravatar w00t2007-12-301-6/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8612 e03df62e-2008-0410-955e-edbf42e46eb7
* First part of stuff for remote includes (this doesnt work yet)Gravatar brain2007-11-181-5/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8601 e03df62e-2008-0410-955e-edbf42e46eb7
* Add another BanCache stub. I'm not writing it yet as the storage of entries ↵Gravatar w00t2007-11-151-0/+6
| | | | | | has not yet been finalised. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8595 e03df62e-2008-0410-955e-edbf42e46eb7
* Currently crashes with multiple layers of include. don't use this yetGravatar brain2007-11-111-4/+10
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8589 e03df62e-2008-0410-955e-edbf42e46eb7
* Provide a facility for modules to flag a config file completedGravatar brain2007-11-111-0/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8576 e03df62e-2008-0410-955e-edbf42e46eb7
* More stuff incomingGravatar brain2007-11-111-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8575 e03df62e-2008-0410-955e-edbf42e46eb7
* More stuffGravatar brain2007-11-111-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8574 e03df62e-2008-0410-955e-edbf42e46eb7
* Report failure to load configsGravatar brain2007-11-111-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8571 e03df62e-2008-0410-955e-edbf42e46eb7
* Add a counter for errored filesGravatar brain2007-11-111-0/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8570 e03df62e-2008-0410-955e-edbf42e46eb7
* More stuff for this. Its starting to take shape a bit now, and is tidier ↵Gravatar brain2007-11-111-1/+3
| | | | | | than the craq i came up with before git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8567 e03df62e-2008-0410-955e-edbf42e46eb7
* Begin rethink on this. Warning, this WILL break your ircd if youre using trunk!Gravatar brain2007-11-111-1/+7
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8566 e03df62e-2008-0410-955e-edbf42e46eb7
* In prep for remote includes, configuration reading is now two-pass.Gravatar brain2007-11-112-5/+11
| | | | | | | | | Note that theres an important part missing from here, there can be a NON-BLOCKING delay between the start of pass 2 and the files being available for download. At this point, ServerConfig::Read() should probably return an ENOTREADY or such at which point it gets monitored for ready state. The socket engine is ready at this point so we can poll the socket engine for it. In the case of startup, the socket engine blocks in a private loop, its no good booting the ircd till we have a complete config! git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8565 e03df62e-2008-0410-955e-edbf42e46eb7
* Implement roadmap item: "userrec::HasPermission -> map of maps, for (even ↵Gravatar brain2007-11-111-0/+2
| | | | | | | | | | 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
* Fix crashes from badly written safeitersGravatar brain2007-11-111-8/+8
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8563 e03df62e-2008-0410-955e-edbf42e46eb7
* Make iterators safe in FOREACH_MOD etc macros, so that ↵Gravatar brain2007-11-111-20/+38
| | | | | | ModuleManager::Detach() wont screw up the iterator git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8562 e03df62e-2008-0410-955e-edbf42e46eb7
* m_spy no longer implements SPYNAMES, instead it overrides normal NAMES on ↵Gravatar brain2007-11-101-1/+3
| | | | | | | | | the event that: (1) you are an oper and (2) you are not actually ON the channel. This way it will not break m_auditorium, m_delayjoin etc, however it will work properly with mircs annoying assumptions in its channel list git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8555 e03df62e-2008-0410-955e-edbf42e46eb7
* Roadmap item "Fix jointhrottle to not try 'throttle' clients during a ↵Gravatar brain2007-11-092-3/+5
| | | | | | | | | netmerge (requires changing join event to be aware of netmerge?)" -- 1.2 only requires an extra parameter to OnUserJoin, bool sync. usually false, but FJOIN code during burst sets it to true. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8552 e03df62e-2008-0410-955e-edbf42e46eb7
* Rehash method added which frees unused memory from the hash_map. Has a ↵Gravatar brain2007-11-051-0/+2
| | | | | | delete-safe iterator. see comments. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8542 e03df62e-2008-0410-955e-edbf42e46eb7
* Why the hell the includes are half way down the damn file in modules.h is ↵Gravatar brain2007-11-041-12/+12
| | | | | | beyond me. lets fix this. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8541 e03df62e-2008-0410-955e-edbf42e46eb7
* Integrate K/Gline into the bancache system by making some modifications to ↵Gravatar w00t2007-11-041-1/+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
* And whoops, typoGravatar brain2007-11-041-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8534 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix these to use new hook system (u_listmode wasnt fixed yet)Gravatar brain2007-11-041-2/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8533 e03df62e-2008-0410-955e-edbf42e46eb7