1504 Commits

Author SHA1 Message Date
w00t
dd98d56cab Move some stuff to usermanager, remove a little header insanity, remove 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
2008-02-02 20:55:16 +00:00
fez
db90a4e900 removed sys/select.h on windows platform
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8781 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-01 07:37:04 +00:00
aquanight
20bea3078d Change API OnOperCompare to OnPassCompare, password hashing is now available for <connect:allow>, <power die= restart=>, <title> (m_customtitle.so), <vhost> (m_vhost.so), this works the same was as for <oper>: load m_password_hash.so (after all hasher modules, of course), and add hash="md5/sha256/whatever" to the relevant tag. Also fix m_callerid.cpp crashing on unload.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8755 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-27 00:12:11 +00:00
w00t
ece985ccb3 Remove a redundant method here, call the mode manager directly
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8732 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-17 23:40:18 +00:00
w00t
94afde43b0 Remove InspIRCd::WriteOpers in favour of snomask O
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8728 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-17 13:07:49 +00:00
w00t
1e5728d84c Move a number of methods from class InspIRCd to class UserManager
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8726 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-17 12:17:09 +00:00
w00t
bf77b312c8 Add logger.(cpp|h), will eventually hold implementation of logging manager
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8725 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-17 12:02:22 +00:00
w00t
05bd4c0a51 Make default bancache time one day. This may seem long, but as XLines expire, so will the bancache entries, so it'll be fine.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8724 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-16 21:45:50 +00:00
w00t
4b122677df Add an overridden AddHit to BanCacheManager, allowing the expiry time to be set.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8723 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-16 21:43:03 +00:00
w00t
b979bc4674 Validate <server:id> on startup if provided, thx Brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8721 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-16 21:36:07 +00:00
w00t
af9d361737 Remove an O(log n) in favour of an O(1) operation, and tidy up culllist some more
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8717 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-16 16:19:57 +00:00
w00t
72fe978b29 Two stage commit: don't set user->muted except in QuitUser (duplicate 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-16 09:14:23 +00:00
w00t
32026e5b6f Re-add support for silent quits (note: we also remove an O(n) doing it this way)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8715 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-16 08:55:18 +00:00
w00t
1963fba97f Hacked-up culllist: stores user pointers rather than CullItem, as creating 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-16 07:59:09 +00:00
w00t
f059ceea21 CullList -> CullItem *
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8712 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-15 16:06:35 +00:00
w00t
c88afe5b9a New timer code. This may be a tiny fraction slower (though I think it will 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-13 21:29:53 +00:00
w00t
de6bba7882 Move User::AddClient to UserManager::AddClient. WARNING: I assure you this 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-13 03:51:04 +00:00
w00t
2192a9f58a First UserManager overhaul: Move clone counts out of InspIRCd & User.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8705 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-13 03:37:25 +00:00
w00t
f56b7d5e86 Add a channel manager class while I'm at it.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8704 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-13 03:10:30 +00:00
w00t
61e944f9fd Feh. Remember the header too.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8703 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-13 02:59:06 +00:00
w00t
e4acbc95b8 Header update: 2007 -> 2008
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8694 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-10 13:27:07 +00:00
w00t
84083a73e8 Implement <options:prefixpart|suffixpart|fixedpart>
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8690 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-10 11:47:15 +00:00
w00t
6f84254ed6 Add OnExpireLine(XLine *) hook, will be used in xline db stuff to avoid getting a fucked up vector
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8676 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-09 12:20:21 +00:00
w00t
38cc4dda4d Hopefully correct implementation of OnRawMode.. can someone pls check this for me tomorrow.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8654 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-06 21:25:38 +00:00
w00t
413074b771 OnRawMode event makes a return: This was removed post 1.0 because it was 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
2008-01-06 21:04:56 +00:00
w00t
e7f33ba189 Permanent channels, currently conflicts with blockcaps (+P) and is untested
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8650 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-06 14:43:42 +00:00
w00t
488cea15e8 Move CreateChannel to a constructor instead
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8647 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-06 02:36:05 +00:00
w00t
d2fea45d5a Move channel creation to a seperate Channel::CreateChannel (y'know, perhaps 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
2008-01-06 02:24:26 +00:00
w00t
c244f3ecd5 Forward declaration isn't required here
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8645 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-06 02:01:34 +00:00
w00t
c110833e67 Add overridden constructor with specified time in seconds for bancache entry 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
2008-01-06 01:50:34 +00:00
w00t
01d7b8e246 Add bancache expiry stuff, currently records expire 60 seconds after 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
2008-01-06 01:15:58 +00:00
w00t
ef8c1e5e65 Fix a bug (snotices repeating constantly), and add a flush timer (1x5 seconds)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8639 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-05 16:57:42 +00:00
w00t
d138843fe0 Fix snomask stacking, still needs to flush all snomasks on a timer to avoid messages getting too stacked up..
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8638 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-05 16:06:21 +00:00
w00t
1c774ea51f Snomask stacking: not yet working (crashes), and not quite finished
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8637 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-05 15:54:37 +00:00
w00t
4fe35b6ead Remove non-portable code and replace with a debug call
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8632 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-04 20:34:25 +00:00
w00t
66e41aba0f Format the header a little better, add some stuff preparing for snomask compression. Nothing concrete yet..
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8628 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-04 14:49:40 +00:00
w00t
2264343714 Remove some stuff that isn't needed from here.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8625 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-04 13:43:40 +00:00
w00t
ce5bee9a3e Patch turning Config->sid from size_t to char **. This also undoes the total 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
2008-01-03 13:04:10 +00:00
w00t
f5c3e3782b Add param 'opername' to event OnPostOper. This will help make a (slightly 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
2008-01-02 22:58:47 +00:00
w00t
94fd751561 Remove an unneeded forward declaration and typedef
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8612 e03df62e-2008-0410-955e-edbf42e46eb7
2007-12-30 13:49:43 +00:00
brain
380852d1a7 First part of stuff for remote includes (this doesnt work yet)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8601 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-18 10:25:12 +00:00
w00t
8bc8dc92e4 Add another BanCache stub. I'm not writing it yet as the storage of entries has not yet been finalised.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8595 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-15 15:59:05 +00:00
brain
5252b3095f Currently crashes with multiple layers of include. don't use this yet
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8589 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-11 23:09:09 +00:00
brain
60a6385be4 Provide a facility for modules to flag a config file completed
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8576 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-11 19:34:06 +00:00
brain
6408757295 More stuff incoming
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8575 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-11 19:24:30 +00:00
brain
621f93b72f More stuff
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8574 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-11 19:21:19 +00:00
brain
a004ad524f Report failure to load configs
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8571 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-11 18:57:22 +00:00
brain
1a0357cc2c Add a counter for errored files
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8570 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-11 18:45:50 +00:00
brain
461e4aef03 More stuff for this. Its starting to take shape a bit now, and is tidier than the craq i came up with before
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8567 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-11 18:11:42 +00:00
brain
05e88fcd54 Begin rethink on this. Warning, this WILL break your ircd if youre using trunk!
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8566 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-11 17:53:57 +00:00