summaryrefslogtreecommitdiff
path: root/src/inspircd.cpp
AgeCommit message (Collapse)Author
2007-10-31Reorder creation of objects so:w00t
1) they are all done in the same place 2) calling InspIRCd::Exit() early on (before initialising a few things is done) doesn't crash us ;p git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8426 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-31Clean up XLine conf stuff a little bit, move most of it to configreader. ↵w00t
Also, check elines and call ApplyLines on both rehash and startup. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8425 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-25Make install list list automatically generated from build targets and ↵brain
provide facility for installing extra files. Using this, cert.pem and key.pem are only copied to the conf dir if you enabled an ssl module. Also, this provides facility for a 'make deinstall' which should be safe for use in all situations as it always specifies a file by name and never uses wildcards to rm. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8362 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-25Errr, who did this? :pbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8361 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-21Tidy up this windows ifdef. Still not sure why it's needed at all, but okay..w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8273 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-21We bloated. We're 5 lines now, not 4. :(w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8272 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-21Remove next_call garbage.. It didn't really do much more than obfuscate ↵w00t
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-15InspSocket -> BufferedSocket. Paves the way for a SimpleSocket class which ↵w00t
ident etc will use. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8206 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-15In the grand tradition of huge fucking commits:w00t
- chanrec -> Channel - userrec -> User Enjoy. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8204 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-14Fix crashing on startup if there was an error condition in win32brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8193 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-14Remove crashdump stuffbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8192 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-14move opening of log before opening of config so that failure to open the ↵brain
config can be logged git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8179 e03df62e-2008-0410-955e-edbf42e46eb7
2007-09-23Remove InspIRCd::DoOneIteration, throwback to software threading (lulz)brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8065 e03df62e-2008-0410-955e-edbf42e46eb7
2007-09-04* Fixed some incorrect declarations in IOCPEngineburlex
* Fixed the virtual socket wrapper functions in IOCPEngine {these should really be inlined on unix} * Fixed several compilation issues under Win32 * Fixed calls to close() which should've been changed to SE->Close() + Added a crashdump saving system to Win32 builds. Dumps are saved in the format of dump-<exename>-<year>-<month>-<day>-<hour>-<minute>-<second>.dmp in the working directory. Enabled by default, undefine ENABLE_CRASHDUMPS to disable. + Added m_operflood, this is a module I've had lying around for some time but some users may like it as it allows unreal-like behaviour without increasing flood limits for non-opers. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8015 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-31Unbreak the compile.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8008 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-31This may not compile, I'll test it on my desktop. Waiting 20 minutes for a ↵w00t
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-28Move everything module-related out of InspIRCd and into ModuleManager, there ↵om
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-28Oops: initialise fake client after UID setup, so it gets a UID. This may be ↵w00t
unnecessary, but I'd rather not explode things anyway. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7947 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-28Add a global fake client to class InspIRCd used instead of instantiating a ↵w00t
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-27Fix potential for duplicate SID if the SID is auto generated.brain
Auto generated SIDs are initialized too late after modules are loaded rather than before. Fixed. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7924 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-27Add <server:id> - this is optional, as stated in the example conf,brain
and should only be set if you are getting collisions. The comment also points out that ids where either of the last two letters are numeric are reserved for services use (e.g. 0ZZ or 5CQ) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7917 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-27Remove more unnecessary header trafficw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7887 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-27Add uuid hash_map - its management is automatic via userrec ↵brain
constructors/destructors. Note that this means 'fake' users used to set modes etc get a uid, but this isnt a major thing. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7876 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-27Now we know it works, remove debugbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7851 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-27Whoopsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7850 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-27Automatic SID generation based on code similar to the STL hash function and ↵brain
using server name and server gecos git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7849 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-26Initial UUID generation code. Generates a TS6 compatible UUID.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7846 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-23Craquity craq De-craq!brain
This is probably broken on windows, do not attempt to use there yet unless you like broken stuff. Cant say for sure as i havent even tried to build yet and most likely wont tonight. --- Abstract most of the berkely socket API out into SocketEngine derived classes. SocketEngine base class implements standard berkely sockets that 'real mens systems' like linux and freebsd have. For socketengine_iocp we implement the windows specific nonesense like the special things needed for udp and accept (ick). All this to eliminate a bunch of ifdefs. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7810 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-23Move WSACleanup() into IOCPEngine destructor, eliminating an "#ifdef WIN32" ↵brain
from inspircd.cpp git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7807 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-23Raft of fixes so that inspircd can call Cleanup() and Exit() in less ↵brain
'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-23Bricker said so.brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7795 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-27make sure that the pointers are set up correctly for win32brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7600 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-27Move a bunch of stuff around for tidyness, win32 functions keep creeping ↵brain
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-26Abort if we cant chdir to our own dir (i'd say we have bigger things to ↵brain
worry about if this happens, but meh) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7585 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-26Add extra detail to m_cloaking on failure to loadbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7580 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-26Forgot to add to init-listbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7579 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-26Move a ton of stuff into caller* functorsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7578 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-25Un-static InspIRCd::Exit and use SignalHandler instead.peavey
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7572 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-25Rehash from console works again due to new signalhandler. TODO: Use this to ↵peavey
catch SIGTERM and exit cleanly. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7571 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-25Shorthand macros DEFINE_HANDLER1()...DEFINE_HANDLER9() to save on defining ↵brain
functor classes that just implement Call() git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7569 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-25Turn IsIdent into a functorbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7568 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-25Add stuff for functors. Currently, as a test case only InspIRCd::IsNick has ↵brain
been 'functorized' git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7564 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-25Begin move of rehash to server.cpp - broken rehash from cmdline for now.peavey
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7563 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-25Put FileLogger in it's own class. Useful when logging doing more focused loggingpeavey
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7561 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-24Move a bundle of stuff to server.cpp from inspircd.cppw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7546 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-24Merge a tiny sub in for readability, use this-> consistantly while calling ↵w00t
methods git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7542 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-24Move more modules related stuff to modules.cppw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7541 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-24Some refactoring; move LoadModule and UnloadModule over to modules.cpp -- ↵w00t
seems like a logical home to me ;p git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7540 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-23Fix crash on unload of modules with listening sockets -- some situations ↵brain
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-23Clean up the indenting herew00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7517 e03df62e-2008-0410-955e-edbf42e46eb7