aboutsummaryrefslogtreecommitdiff
path: root/src/modules.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Make m_password_hash able to pick up hasher modules after it's loaded, ↵Gravatar aquanight2008-02-021-0/+13
| | | | | | 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
* Move some stuff to usermanager, remove a little header insanity, remove ↵Gravatar w00t2008-02-021-1/+1
| | | | | | 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
* Change API OnOperCompare to OnPassCompare, password hashing is now available ↵Gravatar aquanight2008-01-271-1/+1
| | | | | | 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
* Remove a redundant method here, call the mode manager directlyGravatar w00t2008-01-171-19/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8732 e03df62e-2008-0410-955e-edbf42e46eb7
* Header update: 2007 -> 2008Gravatar w00t2008-01-101-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8694 e03df62e-2008-0410-955e-edbf42e46eb7
* Add OnExpireLine(XLine *) hook, will be used in xline db stuff to avoid ↵Gravatar w00t2008-01-091-0/+1
| | | | | | getting a fucked up vector git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8676 e03df62e-2008-0410-955e-edbf42e46eb7
* Hopefully correct implementation of OnRawMode.. can someone pls check this ↵Gravatar w00t2008-01-061-1/+1
| | | | | | for me tomorrow. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8654 e03df62e-2008-0410-955e-edbf42e46eb7
* OnRawMode event makes a return: This was removed post 1.0 because it was ↵Gravatar w00t2008-01-061-0/+1
| | | | | | 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
* Permanent channels, currently conflicts with blockcaps (+P) and is untestedGravatar w00t2008-01-061-0/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8650 e03df62e-2008-0410-955e-edbf42e46eb7
* Add param 'opername' to event OnPostOper. This will help make a (slightly ↵Gravatar w00t2008-01-021-1/+1
| | | | | | nicer) version of dz's patch to allow modes in <oper> git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8615 e03df62e-2008-0410-955e-edbf42e46eb7
* More stuff incomingGravatar brain2007-11-111-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8575 e03df62e-2008-0410-955e-edbf42e46eb7
* More stuffGravatar brain2007-11-111-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8574 e03df62e-2008-0410-955e-edbf42e46eb7
* This works properly now. Files in the file:// schema are loaded by the core.Gravatar brain2007-11-111-2/+0
| | | | | | | | | | Anything else will be loaded by a module, this isnt done yet. For remote includes to work, your <module> tags for the remote includes modules must be in the base inspircd.conf file. This is the only file gauranteed to be avaialble in pass 1 of the two pass config read. At the end of pass 1, all files are opened/downloaded and placed into a map. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8568 e03df62e-2008-0410-955e-edbf42e46eb7
* In prep for remote includes, configuration reading is now two-pass.Gravatar brain2007-11-111-1/+7
| | | | | | | | | 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
* Roadmap item "Fix jointhrottle to not try 'throttle' clients during a ↵Gravatar brain2007-11-091-1/+1
| | | | | | | | | netmerge (requires changing join event to be aware of netmerge?)" -- 1.2 only requires an extra parameter to OnUserJoin, bool sync. usually false, but FJOIN code during burst sets it to true. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8552 e03df62e-2008-0410-955e-edbf42e46eb7
* On failure to load a module, DetachAll on the module pointer, also, try to ↵Gravatar brain2007-11-041-1/+20
| | | | | | free module handle git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8537 e03df62e-2008-0410-955e-edbf42e46eb7
* Instead of a vector of vectors, use an array of vectors as in the original ↵Gravatar brain2007-11-041-2/+0
| | | | | | | | | spec on Development/Hooking. This is faster, as only the inner list resizes, and this avoids calls to std::vector::operator[] git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8531 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove debug junk from ModuleManager::SetPriorityGravatar brain2007-11-041-33/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8530 e03df62e-2008-0410-955e-edbf42e46eb7
* MODERR tidyupsGravatar brain2007-11-041-34/+30
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8524 e03df62e-2008-0410-955e-edbf42e46eb7
* CommentsGravatar brain2007-11-041-6/+27
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8519 e03df62e-2008-0410-955e-edbf42e46eb7
* Change this, risking a crash otherwiseGravatar brain2007-11-041-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8518 e03df62e-2008-0410-955e-edbf42e46eb7
* Not yet tested: remove last vestiges of modules[] and module_names[] arrays.Gravatar brain2007-11-041-0/+9
| | | | 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-128/+61
| | | | | | std::pair<ircd_module*, Module*> git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8513 e03df62e-2008-0410-955e-edbf42e46eb7
* All done... i think. Just tidying up to be done, removal of Implements() ↵Gravatar brain2007-11-041-7/+24
| | | | | | method from all modules. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8511 e03df62e-2008-0410-955e-edbf42e46eb7
* Convert all to new Attach() system. The Implements() method needs removing ↵Gravatar brain2007-11-041-3/+6
| | | | | | | | | from all modules as it is dead weight. WARNING: there are segfaults here! HERE BE DRAGONS, i am not finished! git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8510 e03df62e-2008-0410-955e-edbf42e46eb7
* Extra debug loggingGravatar brain2007-11-041-0/+19
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8509 e03df62e-2008-0410-955e-edbf42e46eb7
* This compiles, but note most modules are currently broken, they dont Attach()Gravatar brain2007-11-041-0/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8508 e03df62e-2008-0410-955e-edbf42e46eb7
* More craqGravatar brain2007-11-041-1/+12
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8507 e03df62e-2008-0410-955e-edbf42e46eb7
* Bring back Prioritize (needs to occur after module load) with a different ↵Gravatar brain2007-11-041-1/+69
| | | | | | declaration git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8499 e03df62e-2008-0410-955e-edbf42e46eb7
* Next part of Development/Hooking (see wiki)Gravatar brain2007-11-041-152/+1
| | | | | | | | Module::Prioritize and Module::Implements are now GONE. ModuleManager::MoveTo, MoveBefore, MoveAfter, MoveFirst, MoveLast are GONE too. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8498 e03df62e-2008-0410-955e-edbf42e46eb7
* Development/Hooking in full swing now: WARNING, this will break ALL modules ↵Gravatar brain2007-11-041-2/+33
| | | | | | for the time being until complete! git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8497 e03df62e-2008-0410-955e-edbf42e46eb7
* Add EventHandlers structure for Development/HookingGravatar brain2007-11-041-0/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8496 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove all the OnAddGLine, OnAddWhateverLine replace with one simple ↵Gravatar brain2007-10-311-10/+2
| | | | | | OnAddLine and a OnDelLine which is passed User* (person adding or NULL if its the server) and the XLine git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8440 e03df62e-2008-0410-955e-edbf42e46eb7
* - Tear out a useless load of XLine clutters that did nothing much except ↵Gravatar w00t2007-10-281-54/+0
| | | | | | | | | | | 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
* Whoops, must be constGravatar brain2007-10-261-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8378 e03df62e-2008-0410-955e-edbf42e46eb7
* Add new event for this with gauranteed delivery of message BEFORE the text ↵Gravatar brain2007-10-261-0/+1
| | | | | | is sent out git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8376 e03df62e-2008-0410-955e-edbf42e46eb7
* More pedantic safetyGravatar brain2007-10-231-115/+111
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8318 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove the need for a bunch of the hard coded arrays/hashes by scanning the ↵Gravatar brain2007-10-221-0/+2
| | | | | | src/ dir for tag comments, like in modules git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8307 e03df62e-2008-0410-955e-edbf42e46eb7
* Move InspIRCd::IsValidMask() to helperfuncs.cppGravatar w00t2007-10-221-36/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8298 e03df62e-2008-0410-955e-edbf42e46eb7
* In the grand tradition of huge fucking commits:Gravatar w00t2007-10-151-76/+76
| | | | | | | | - chanrec -> Channel - userrec -> User Enjoy. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8204 e03df62e-2008-0410-955e-edbf42e46eb7
* class command_t -> class Command. Whey :DGravatar w00t2007-10-151-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8203 e03df62e-2008-0410-955e-edbf42e46eb7
* Another dodgy count fixedGravatar brain2007-10-141-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8200 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix the 'total of -1 modules have been loaded' due to new loaderGravatar brain2007-10-141-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8197 e03df62e-2008-0410-955e-edbf42e46eb7
* Shut up, valgrindGravatar brain2007-10-131-1/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8163 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix for bug #415, affects only trunk (wish i'd known this before i started!)Gravatar brain2007-09-251-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8079 e03df62e-2008-0410-955e-edbf42e46eb7
* Renamed the needs_unsigned parameter of ConfigReader::ReadInteger to ↵Gravatar special2007-09-121-5/+5
| | | | | | need_positive to better reflect what it does git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8025 e03df62e-2008-0410-955e-edbf42e46eb7
* A few more minor cleanupsGravatar om2007-08-291-163/+161
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7986 e03df62e-2008-0410-955e-edbf42e46eb7
* Move everything module-related out of InspIRCd and into ModuleManager, there ↵Gravatar om2007-08-281-115/+166
| | | | | | | | 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
* (Om, this commit is safe): remove references to DELETE() macro, revert back ↵Gravatar w00t2007-08-281-3/+3
| | | | | | to delete. Nobody used this most of the time, it had no real purpose, etc. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7972 e03df62e-2008-0410-955e-edbf42e46eb7
* First step on the road of module loader rewriting. So far this only really ↵Gravatar om2007-08-281-18/+31
| | | | | | removes module factories. Any modules not updated to use MODULE_INIT() yet will now fail to compile \o/ git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7971 e03df62e-2008-0410-955e-edbf42e46eb7