summaryrefslogtreecommitdiff
path: root/src/modules.cpp
Commit message (Expand)AuthorAgeFilesLines
* Fix possible use of invalid iterator on module unload•••When a module quits a user or destroys a channel in OnCleanup() the object is no longer in the container being iterated by the time OnCleanup() returns Gravatar Attila Molnar2014-01-051-7/+12
* Fix m_randquote with 0 quotesGravatar Adam2013-05-161-1/+1
* Don't attempt to unload or reload modules that are waiting to be unloadedGravatar attilamolnar2013-04-051-1/+3
* Throw an exception when attempting to register an extension with a name that ...•••Previously this silently failed Gravatar attilamolnar2012-12-021-1/+2
* Windows: In-depth cleanup (see details)•••-Fix x64 builds for Windows. Now all configurations compile. -Remove the non-working rebase stuff. -Remove the Windows fork hack and instead use FreeConsole() to emulate the behavior. This directly allows us to compile with ASLR, which is turned on now. -Remove the old IPC mechanism for the removed GUI. This is not needed anymore as the GUI wasn't ever supported on anything newer than 1.2 -Remove the WIN32/WINDOWS macros. _WIN32 is supported on all x86-based VC++ targets, so that's what we need. -Enable optimizations for release builds. -De-duplicate printf_c(), it was previously copy-pasted into colors.h for configure -Add the VC++ specific bad files in .gitignore -Disable PID writing on Windows. This is only making sense for *nix builds. -Replace the CPU usage retrieval with an algorithm analogous to the *nix behavior. Also supports separated now/total values. (Tested with a dummy busy loop - seems working) -Removed certain unused functions and variables -Remove stdint defines from the windows wrapper -Remove CRT debug alloc. This is a bad idea as it would define a macro to replace free which breaks builds. -Re-evaluated the warnings list, commented it. -Moved inspircd_config/_version to include/ to match *nix -Removed the creation of inspircd_se_config, as it isn't used at all. -Made non-git builds show as "r0" instead of "r" (thanks to @SaberUK for pointing this out) -Fixed up m_spanningtree's project paths. Now all configurations (debug/release x86/x64) have been tested and build properly. -Moved FindDNS out of the wrapper and matched its log behavior with *nix. (It's pointless having it in the wrapper after the recent slimming down) -Replaced random/srandom wrappers with a mechanism that tries to use Windows' Random API first is no SSL module is loaded. -Removed more old junk from support for compilers older than VC++ 2010 (we don't have project files for these, so compiling them would be hard anyways) -Removed the unused ClearConsole() -Removed unused includes from the wrapper. Also, do not include psapi.h here if we don't link psapi.lib. This should be done where appropriate. -Made inet_aton an inline function for increased performance -C4800, performance warning about bool forcing, resolved at all occurrences. -C4701, uninitialized variable 'cached', resolved at all occurrences. -dlerror() was migrated out of the wrapper for more thread safety (no global buffer being shared) and increased performance. -Removed the wrong CRT debug flags. This drains a lot of performance. -Removed the clock_gettime/gettimeofday wrappers -Replaced all TCHAR/ANSI mix-ups of functions with the correct respective function. -Added a block of C4355 for < VS2012 -Update project files for c870714 Gravatar ChrisTX2012-10-121-2/+2
* New OnUserSetIP() hookGravatar attilamolnar2012-09-131-0/+1
* Revert "users: introduce OnSetClientIP hook."•••This reverts commit 5fd31ec5a6ba6021763b36d8d17d4665900623ab. Gravatar Robin Burchell2012-07-011-1/+0
* users: introduce OnSetClientIP hook.•••This hook is called whenever a client's IP is modified. Gravatar William Pitcock2012-06-121-0/+1
* Fix 2 clang warnings reported by @SaberUKGravatar attilamolnar2012-06-121-1/+1
* Replace copyright headers with headers granting specific authors copyrightGravatar Robby-2012-04-191-8/+21
* Fix compile warningGravatar Daniel De Graaf2011-07-231-2/+0
* Remove harmless but scary-looking logfile linesGravatar Daniel De Graaf2011-07-191-5/+0
* Split up API_VERSION number•••Since we can make API changes in multiple branches at the same time, a single sequence number is insufficient. Use two numbers to indicate the major version and API increment. Gravatar Daniel De Graaf2010-04-011-11/+2
* Remove channel argument from OnSendWhoLine, this information is already avail...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12650 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2010-03-221-1/+1
* Move ModuleManager::UnloadAll out of modmanager_dynamic•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12649 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2010-03-221-0/+23
* Allow static initialization of dynamic_reference objects•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12648 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2010-03-221-10/+25
* Convert pgsql to SQLv3•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12626 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2010-03-131-0/+26
* Fix ModuleManager::SetPriority algorithm which did not handle PRIORITY_BEFORE...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12600 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2010-03-061-47/+28
* Restore <options:exemptchanops> with long names•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12502 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2010-02-201-1/+0
* Kill m_spy, which was replaced by channels/auspex in 1.2 but kept alive for n...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12497 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2010-02-191-1/+0
* m_dnsbl updates•••Prevent user registration until dnsbl lookups are complete Allow DNSBLs to be checked using <connect:dnsbl> (MARK type) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12454 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2010-02-141-0/+1
* Change SERVICE_{CMODE,UMODE} to SERVICE_MODE, which makes more sense•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12430 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2010-02-111-2/+1
* Allow opermotd to specify its file in <files> without also requiring an <oper...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12355 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2010-02-021-0/+1
* Executable include for MOTD and more•••This introduces an <execfiles> tag that reads files from the output of a command, in the same way as executable includes. The files specified here can also be used anywhere a file is used (opermotd, randquote, etc) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12354 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2010-02-021-5/+18
* Add OnSetConnectClass hook for use in adding requirements to connect classes ...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12352 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2010-02-021-0/+1
* Add parameters to OnSendWhoLine hook, fixes "/who * o" returning opers with +H•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12345 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2010-02-011-1/+1
* Fix empty FMODE being sent if SendMode mode changes•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12323 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2010-01-281-0/+8
* Put ConfigReader deprecation warning in logs•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12310 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2010-01-211-0/+2
* Fix some command registration warnings•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12305 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2010-01-191-2/+2
* ERROR is not a valid log level, so all these messages were getting dropped•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12304 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2010-01-191-2/+2
* PreCommand/PostCommand are local-only hooks•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12291 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2010-01-181-2/+2
* Add Module::init() for correct exception handling during hook registration•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12278 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2010-01-171-8/+7
* PURE_STATIC improvements: Allow modules to be reloaded, generate linker argum...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12276 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2010-01-171-0/+73
* Verify cloak keys match during CAPAB negotiation•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12258 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2010-01-141-2/+8
* Move revision information from Version object to a static symbol•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12256 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2010-01-141-2/+8
* ...because every now and again, i have to do a massive commit.•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12248 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2010-01-111-1/+1
* Use ServiceProvider for inter-module dependencies•••This will stop dependency chains from preventing module reloads when it is not actually needed; however, it removes some failsafes that will need to be reimplemented in order to avoid unmapped vtables. This deprecates Request as an inter-module signaling mechanism, although SQL still uses it. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12140 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-11-161-130/+69
* Add Inspircd::AddServices•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12135 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-11-151-1/+24
* Allow static build of inspircd without module support•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12083 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-11-111-304/+0
* Force heap allocation of refcountbase, create usecountbase for non-allocation...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11978 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-10-251-3/+1
* Kill ListenSocketBase, use OnAcceptConnection for all new connections•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11950 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-10-211-1/+2
* Use ConfigTagList as a faster access method for access to configuration•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11948 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-10-211-9/+19
* Change module API to use LocalUser* where correct•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11943 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-10-211-6/+6
* Fix channel deletion on user quit and automatic removal of mode "z"•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11934 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-10-201-1/+1
* Move DumpText into User; kill unused WriteWallOps and DecreasePenalty functions•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11931 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-10-201-48/+0
* Use custom allocater to decide if refcountbase was allocated on the heap and ...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11928 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-10-201-2/+2
* Maintain refcount of Module objects to complain about leaked pointers•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11925 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-10-191-2/+6
* Fix implementation of reference to const, use reference counting for Extensib...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11924 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-10-191-1/+1
* Clean up some log messages•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11917 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-10-191-2/+11
* Prevent path names from being specified in modules, and move moduledir to a <...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11914 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-10-191-0/+3