274 Commits

Author SHA1 Message Date
brain
bfaf7e3b27 Commit patch from danieldg that makes a ton of stuff const-safe for latest warn-happy trigger-happy gcc4 (thanks)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8922 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-13 18:22:19 +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
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
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
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
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
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
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
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
brain
12b9855339 Honking huge commit. Removal of DELETE() template that never worked right anyway
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8527 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04 21:24:40 +00:00
w00t
9f936a7830 Instantiate BanCache in InspIRCd class.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8491 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04 13:23:15 +00:00
w00t
4840d5e775 - Tear out a useless load of XLine clutters that did nothing much except confuse things
- Revert back to early 1.0 design of using a single list for line storage. We'll make this work more efficiently than 1.0 though of course. This simplifies the code for expiry, checking, etc.
- Merge a bunch of sort callbacks into a single sort callback for class XLine.
- Horribly break apply_lines() for the time being.
.. and that's probably it.

git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8398 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-28 18:33:06 +00:00
brain
a78e985b88 More pedantic safety
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8318 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-23 20:29:00 +00:00
brain
18b1ec5080 -pedantic tidyups, lets see if it finds anything worthy of a fix
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8313 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-23 19:28:41 +00:00
w00t
8691870bf7 Remove a wrapper, it's easy to read as is :p
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8300 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-22 15:01:15 +00:00
w00t
4487dde76f Remove next_call garbage.. It didn't really do much more than obfuscate things. InspIRCd::DoBackgroundUserStuff() is now called once per second, roughly. This will (of course) not be going into 1.1.x
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8241 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-21 12:22:39 +00:00
w00t
2b68243097 InspSocket -> BufferedSocket. Paves the way for a SimpleSocket class which ident etc will use.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8206 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-15 21:04:32 +00:00
w00t
03e0fb206d InspTimer -> Timer
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8205 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-15 21:03:30 +00:00
w00t
b57c7f4e46 In the grand tradition of huge fucking commits:
- chanrec -> Channel
 - userrec -> User
Enjoy.

git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8204 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-15 20:59:05 +00:00
w00t
694e307c09 class command_t -> class Command. Whey :D
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8203 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-15 20:55:55 +00:00
special
2be86e1958 Fixed bug #404; this was caused by recieving multiple OPERTYPEs from a remote server, which eventually resulted in bad pointers inside the all_opers list
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8084 e03df62e-2008-0410-955e-edbf42e46eb7
2007-09-26 23:49:15 +00:00
brain
6a02f84272 Remove InspIRCd::DoOneIteration, throwback to software threading (lulz)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8065 e03df62e-2008-0410-955e-edbf42e46eb7
2007-09-23 19:19:14 +00:00
w00t
b2b7bfd5e9 This may not compile, I'll test it on my desktop. Waiting 20 minutes for a build is unacceptable.
- Move UUID initialisation to InspIRCd::InitialiseUID()
- Call it if we run out of existing UUIDs
- Call it on startup

Just a small cleanup.

git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8007 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-31 19:37:22 +00:00
om
8394be69a0 Move everything module-related out of InspIRCd and into ModuleManager, there is a ModuleManager instantiated as InspIRCd::Modules. Several of the function names have changed slightly as well. e.g. Instance->FindModule(m_foobar.so); is now Instance->Modules->Find(m_foobar.so);
All modules in the core distribution should also be updated in line with these changes.

git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7985 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-28 23:32:41 +00:00
w00t
7d241d39ff Document the need for the fake client
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7944 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-28 13:50:04 +00:00
w00t
d5d692037e Oops. This is supposed to be a public member
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7939 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-28 13:23:47 +00:00
w00t
5ee7322040 Add a global fake client to class InspIRCd used instead of instantiating a fake client every time a mode needs to be forced through, etc
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7938 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-28 13:20:11 +00:00
brain
90ee2ee38c Add FindNickOnly, that wont fall through to uid checks if isdigit(*first). We may need this. (i thought we did for this fix, we dont)
Fix cmd_nick to not treat all nicks as invalid and make the client give up.


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7883 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-27 13:54:15 +00:00
brain
0ba4b96bba Allocate uid in userrec constructor. Optional param added, if its empty, the server allocates one, if its not empty the user gets the one given
(this is used for remote users)


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7873 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-27 11:24:43 +00:00
w00t
0c9434cde9 Add InspIRCd::FindUUID() methods. Currently, these work off an iteration around the whole client list. This sucks, and will be changed to a map the same as FindNick(). Also update FindNick's docs a little out of anal habit: it returns a user, not a nick. :)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7855 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-27 01:01:20 +00:00
w00t
1075956100 Add skeleton functions for UID stuff.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7845 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-26 23:07:06 +00:00
brain
443b0f9645 Raft of fixes so that inspircd can call Cleanup() and Exit() in less 'stable' circumstances, e.g. when half initialized, and it wont segfault.
Also fix OpenLog to not always exit on error, but to return a bool instead, which is much more friendly on rehash (you don't want /REHASH dieing your server if you cant write the log!)


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7804 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-23 19:57:02 +00:00
w00t
b42e3e0578 Remove an un-needed define while I poke around in here
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7693 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-09 19:49:01 +00:00
brain
27d4ea0d97 Move a bunch of stuff around for tidyness, win32 functions keep creeping into #ifdef'ed chunks in non-win32 files
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7588 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-27 16:45:03 +00:00
brain
6344881c9f Move a ton of stuff into caller* functors
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7578 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-26 16:36:37 +00:00
peavey
0bb707c10c Un-static InspIRCd::Exit and use SignalHandler instead.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7572 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-25 20:23:18 +00:00
peavey
eadd5cce87 Rehash from console works again due to new signalhandler. TODO: Use this to catch SIGTERM and exit cleanly.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7571 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-25 19:46:25 +00:00
brain
529f16e84b Shorthand macros DEFINE_HANDLER1()...DEFINE_HANDLER9() to save on defining functor classes that just implement Call()
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7569 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-25 17:36:13 +00:00
brain
89bc1282b9 Turn IsIdent into a functor
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7568 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-25 17:21:30 +00:00
brain
f827df8403 Add stuff for functors. Currently, as a test case only InspIRCd::IsNick has been 'functorized'
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7564 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-25 16:58:56 +00:00
peavey
77b0de3fed Begin move of rehash to server.cpp - broken rehash from cmdline for now.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7563 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-25 15:07:27 +00:00
peavey
326191cd16 Put FileLogger in it's own class. Useful when logging doing more focused logging
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7561 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-25 11:53:07 +00:00
w00t
c88d4a3511 Replace some voodoo with a define
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7556 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-24 20:21:29 +00:00
w00t
52525bc3df And remove it from the header..
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7543 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-24 15:03:34 +00:00
brain
f12fd5382f Fix crash on unload of modules with listening sockets -- some situations require that the socket cull list is purged *immediately*, provide facility for this.
Also squish some silly error output on unloading spanningtree.


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7529 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-23 23:10:16 +00:00