summaryrefslogtreecommitdiff
path: root/src/inspircd.cpp
AgeCommit message (Collapse)Author
2008-01-21win32 compile error fixbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8745 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-17Fix.. snomask O is already taken (ffs) so use A insteadw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8729 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-17Remove InspIRCd::WriteOpers in favour of snomask Ow00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8728 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-16Two stage commit: don't set user->muted except in QuitUser (duplicate ↵w00t
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-15CullList: Don't try quit everyone. Speed/resource use enhancement on netsplits..w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8711 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-13New timer code. This may be a tiny fraction slower (though I think it will ↵w00t
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-13First UserManager overhaul: Move clone counts out of InspIRCd & User.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8705 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-10Header update: 2007 -> 2008w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8694 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-08Remove some debug on startupw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8660 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-05Add SnomaskManager::FlushSnotices() stubw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8636 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-03SID generation should(?) now work again as well. NOTE: no error checking on ↵w00t
SID from config yet, we may wish to do that sometime.. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8620 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-03Patch turning Config->sid from size_t to char **. This also undoes the total ↵w00t
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
2007-11-18First part of stuff for remote includes (this doesnt work yet)brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8601 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-16Correctly do the second setup of the fake client (AFTER uid has been ↵w00t
initialised) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8599 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-12Argh, i give upbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8594 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-12More craqbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8593 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-11This fixed. Initialise dns at the end of pass 1 before loading first set of ↵brain
modules git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8582 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-11We need to initialize the user twice, and we need to initialize the uid ↵brain
AFTER the config is read git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8573 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-11Report failure to load configsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8571 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-11Add a counter for errored filesbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8570 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-11Begin rethink on this. Warning, this WILL break your ircd if youre using trunk!brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8566 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-11In prep for remote includes, configuration reading is now two-pass.brain
Note that theres an important part missing from here, there can be a NON-BLOCKING delay between the start of pass 2 and the files being available for download. At this point, ServerConfig::Read() should probably return an ENOTREADY or such at which point it gets monitored for ready state. The socket engine is ready at this point so we can poll the socket engine for it. In the case of startup, the socket engine blocks in a private loop, its no good booting the ircd till we have a complete config! git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8565 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04Fix these to use new hook system (u_listmode wasnt fixed yet)brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8533 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04Fix the two FIXMEsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8521 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04Not yet tested: remove last vestiges of modules[] and module_names[] arrays.brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8514 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04Remove our vectors of Module*/ircd_module*, replace with a map of ↵brain
std::pair<ircd_module*, Module*> git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8513 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04Instantiate BanCache in InspIRCd class.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8491 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-02Tidy up, and make the identifer for a line type be std::string not charbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8459 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-02XLines now only checked for expiry on positive hit. saves us a honking big ↵brain
O(n) loop. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8458 e03df62e-2008-0410-955e-edbf42e46eb7
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