aboutsummaryrefslogtreecommitdiff
path: root/src/inspircd.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix the two FIXMEsGravatar brain2007-11-041-15/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8521 e03df62e-2008-0410-955e-edbf42e46eb7
* Not yet tested: remove last vestiges of modules[] and module_names[] arrays.Gravatar brain2007-11-041-11/+8
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8514 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove our vectors of Module*/ircd_module*, replace with a map of ↵Gravatar brain2007-11-041-3/+0
| | | | | | std::pair<ircd_module*, Module*> git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8513 e03df62e-2008-0410-955e-edbf42e46eb7
* Instantiate BanCache in InspIRCd class.Gravatar w00t2007-11-041-0/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8491 e03df62e-2008-0410-955e-edbf42e46eb7
* Tidy up, and make the identifer for a line type be std::string not charGravatar brain2007-11-021-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8459 e03df62e-2008-0410-955e-edbf42e46eb7
* XLines now only checked for expiry on positive hit. saves us a honking big ↵Gravatar brain2007-11-021-1/+0
| | | | | | O(n) loop. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8458 e03df62e-2008-0410-955e-edbf42e46eb7
* Reorder creation of objects so:Gravatar w00t2007-10-311-9/+9
| | | | | | | 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
* Clean up XLine conf stuff a little bit, move most of it to configreader. ↵Gravatar w00t2007-10-311-0/+4
| | | | | | 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
* Make install list list automatically generated from build targets and ↵Gravatar brain2007-10-251-0/+2
| | | | | | | | | | 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
* Errr, who did this? :pGravatar brain2007-10-251-15/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8361 e03df62e-2008-0410-955e-edbf42e46eb7
* Tidy up this windows ifdef. Still not sure why it's needed at all, but okay..Gravatar w00t2007-10-211-10/+9
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8273 e03df62e-2008-0410-955e-edbf42e46eb7
* We bloated. We're 5 lines now, not 4. :(Gravatar w00t2007-10-211-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8272 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove next_call garbage.. It didn't really do much more than obfuscate ↵Gravatar w00t2007-10-211-2/+5
| | | | | | 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
* InspSocket -> BufferedSocket. Paves the way for a SimpleSocket class which ↵Gravatar w00t2007-10-151-3/+3
| | | | | | ident etc will use. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8206 e03df62e-2008-0410-955e-edbf42e46eb7
* In the grand tradition of huge fucking commits:Gravatar w00t2007-10-151-5/+5
| | | | | | | | - chanrec -> Channel - userrec -> User Enjoy. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8204 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix crashing on startup if there was an error condition in win32Gravatar brain2007-10-141-1/+5
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8193 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove crashdump stuffGravatar brain2007-10-141-3/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8192 e03df62e-2008-0410-955e-edbf42e46eb7
* move opening of log before opening of config so that failure to open the ↵Gravatar brain2007-10-141-8/+8
| | | | | | config can be logged git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8179 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove InspIRCd::DoOneIteration, throwback to software threading (lulz)Gravatar brain2007-09-231-74/+68
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8065 e03df62e-2008-0410-955e-edbf42e46eb7
* * Fixed some incorrect declarations in IOCPEngineGravatar burlex2007-09-041-1/+18
| | | | | | | | | | * 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
* Unbreak the compile.Gravatar w00t2007-08-311-2/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8008 e03df62e-2008-0410-955e-edbf42e46eb7
* This may not compile, I'll test it on my desktop. Waiting 20 minutes for a ↵Gravatar w00t2007-08-311-7/+16
| | | | | | | | | | | | 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
* Move everything module-related out of InspIRCd and into ModuleManager, there ↵Gravatar om2007-08-281-16/+13
| | | | | | | | 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
* Oops: initialise fake client after UID setup, so it gets a UID. This may be ↵Gravatar w00t2007-08-281-4/+4
| | | | | | 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
* Add a global fake client to class InspIRCd used instead of instantiating a ↵Gravatar w00t2007-08-281-0/+4
| | | | | | 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
* Fix potential for duplicate SID if the SID is auto generated.Gravatar brain2007-08-271-35/+33
| | | | | | | 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
* Add <server:id> - this is optional, as stated in the example conf,Gravatar brain2007-08-271-5/+14
| | | | | | | 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
* Remove more unnecessary header trafficGravatar w00t2007-08-271-5/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7887 e03df62e-2008-0410-955e-edbf42e46eb7
* Add uuid hash_map - its management is automatic via userrec ↵Gravatar brain2007-08-271-0/+8
| | | | | | | | | 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
* Now we know it works, remove debugGravatar brain2007-08-271-2/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7851 e03df62e-2008-0410-955e-edbf42e46eb7
* WhoopsGravatar brain2007-08-271-1/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7850 e03df62e-2008-0410-955e-edbf42e46eb7
* Automatic SID generation based on code similar to the STL hash function and ↵Gravatar brain2007-08-271-2/+12
| | | | | | using server name and server gecos git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7849 e03df62e-2008-0410-955e-edbf42e46eb7
* Initial UUID generation code. Generates a TS6 compatible UUID.Gravatar w00t2007-08-261-0/+15
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7846 e03df62e-2008-0410-955e-edbf42e46eb7
* Craquity craq De-craq!Gravatar brain2007-08-231-9/+5
| | | | | | | | | | 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
* Move WSACleanup() into IOCPEngine destructor, eliminating an "#ifdef WIN32" ↵Gravatar brain2007-08-231-5/+0
| | | | | | from inspircd.cpp git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7807 e03df62e-2008-0410-955e-edbf42e46eb7
* Raft of fixes so that inspircd can call Cleanup() and Exit() in less ↵Gravatar brain2007-08-231-13/+25
| | | | | | | | | '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
* Bricker said so.Gravatar brain2007-08-231-0/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7795 e03df62e-2008-0410-955e-edbf42e46eb7
* make sure that the pointers are set up correctly for win32Gravatar brain2007-07-271-0/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7600 e03df62e-2008-0410-955e-edbf42e46eb7
* Move a bunch of stuff around for tidyness, win32 functions keep creeping ↵Gravatar brain2007-07-271-107/+3
| | | | | | into #ifdef'ed chunks in non-win32 files git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7588 e03df62e-2008-0410-955e-edbf42e46eb7
* Abort if we cant chdir to our own dir (i'd say we have bigger things to ↵Gravatar brain2007-07-261-1/+5
| | | | | | worry about if this happens, but meh) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7585 e03df62e-2008-0410-955e-edbf42e46eb7
* Add extra detail to m_cloaking on failure to loadGravatar brain2007-07-261-0/+6
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7580 e03df62e-2008-0410-955e-edbf42e46eb7
* Forgot to add to init-listGravatar brain2007-07-261-1/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7579 e03df62e-2008-0410-955e-edbf42e46eb7
* Move a ton of stuff into caller* functorsGravatar brain2007-07-261-0/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7578 e03df62e-2008-0410-955e-edbf42e46eb7
* Un-static InspIRCd::Exit and use SignalHandler instead.Gravatar peavey2007-07-251-15/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7572 e03df62e-2008-0410-955e-edbf42e46eb7
* Rehash from console works again due to new signalhandler. TODO: Use this to ↵Gravatar peavey2007-07-251-1/+18
| | | | | | catch SIGTERM and exit cleanly. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7571 e03df62e-2008-0410-955e-edbf42e46eb7
* Shorthand macros DEFINE_HANDLER1()...DEFINE_HANDLER9() to save on defining ↵Gravatar brain2007-07-251-1/+3
| | | | | | functor classes that just implement Call() git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7569 e03df62e-2008-0410-955e-edbf42e46eb7
* Turn IsIdent into a functorGravatar brain2007-07-251-1/+4
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7568 e03df62e-2008-0410-955e-edbf42e46eb7
* Add stuff for functors. Currently, as a test case only InspIRCd::IsNick has ↵Gravatar brain2007-07-251-1/+4
| | | | | | been 'functorized' git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7564 e03df62e-2008-0410-955e-edbf42e46eb7
* Begin move of rehash to server.cpp - broken rehash from cmdline for now.Gravatar peavey2007-07-251-15/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7563 e03df62e-2008-0410-955e-edbf42e46eb7
* Put FileLogger in it's own class. Useful when logging doing more focused loggingGravatar peavey2007-07-251-86/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7561 e03df62e-2008-0410-955e-edbf42e46eb7