1522 Commits

Author SHA1 Message Date
w00t
1df2121274 Fix a bug in new logging API (global logstreams weren't notified of events if a specific logstream had an event claimed, don't store type in logstreams (pass it to OnLog instead), and add an example of what the new logging API can do: m_chanlog - logs to #services at the moment.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8865 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-09 21:00:07 +00:00
w00t
bfff1d9d93 Implement LogManager::CloseLogs() to give logstreams a chance to clean up on rehash or exit.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8863 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-09 20:15:09 +00:00
w00t
a969da5dec Add destructor for FileLogStream that destroys nonblocking FileLogger
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8861 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-09 13:18:41 +00:00
w00t
2bd34b7037 Add a printf-type override for LogManager::Log(). We need to find a way to 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
2008-02-09 13:06:02 +00:00
w00t
af7e1a1ca8 New logging implementation. Also write messages about InspIRCd::Log() being deprecated. Any takers on changing it all to use the new system? :P. STILL TODO: create <log> blocks in config, add a method called to 'cleanup' (or use destructor) of logstreams, add a method to logmanager to initiate destruction of all logstreams.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8858 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-09 12:41:17 +00:00
w00t
db1c78986c Instantiate log manager
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8857 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-09 11:43:25 +00:00
w00t
3897856fb7 Initial totally untested logger implementation that does nothing.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8856 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-09 11:35:27 +00:00
aquanight
18154f4d22 Support for /invite <user> <channel> <timeout> - if the user doesn't partake in <timeout> time, the invite expires
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8854 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-08 23:35:39 +00:00
brain
0ae3241087 ARGH SPACE INDENTS, DIE DIE DIE
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8849 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-07 15:16:19 +00:00
fez
e1b1b6380c fixed std:: stuff
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8827 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-05 02:42:39 +00:00
fez
41c5854a19 fixed w00t's brain (I mean std:: stuff)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8826 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-05 02:42:01 +00:00
fez
532d9de8c5 fixed std:: stuff
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8825 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-05 02:41:22 +00:00
fez
426be9a89f fixed std:: stuff
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8824 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-05 02:40:51 +00:00
w00t
f127161467 Clear up header insanity
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8808 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-03 23:20:20 +00:00
w00t
34fe4276bd (finally) remove deprecated CMD_USER_DELETED
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8807 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-03 21:23:06 +00:00
w00t
27fbecdaa7 Back out the AllowDevoiceSelf stuff, it wasn't going to work anyway. Accidental commit.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8796 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-02 22:58:56 +00:00
w00t
8509727e16 Cache User::GetIPString()
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8795 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-02 22:57:28 +00:00
aquanight
d555db40f4 Make m_password_hash able to pick up hasher modules after it's loaded, meaning m_md5 and m_sha256 no longer have to be loaded before it.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8793 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-02 22:14:24 +00:00
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