summaryrefslogtreecommitdiff
path: root/include/inspircd.h
AgeCommit message (Collapse)Author
2012-10-12Windows: In-depth cleanup (see details)ChrisTX
-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
2012-07-13Move STATS handler back to cmd_stats so it's hotpatchable againattilamolnar
2012-07-06Added color codes to /rules, moved the parsing to ServerConfig and cleaned ↵Justin Crawford
the code up a bit
2012-07-05Fix Doxygen syntax errors.Peter Powell
2012-05-27Add testsuite tests for UID generationattilamolnar
2012-05-23Fix compile error caused by unistd.h not existing on Windows.Peter Powell
2012-05-03Merge pull request #96 from Justasic/insp20Robin Burchell
[2.0] Process escape sequences for MOTD for issue #23
2012-04-22Fixed using a function on every call for /motd, causing lag on large ↵Justin Crawford
networks (requested by w00t)
2012-04-19Replace copyright headers with headers granting specific authors copyrightRobby-
2012-04-16Fix compilation with GCC 4.7.Guillaume Delacour
GCC 4.7 headers no longer implicitly include unistd.h in many places, see http://gcc.gnu.org/gcc-4.7/porting_to.html Fixes #65
2012-04-14Fixes for bug #12Justin Crawford
2010-04-28Add log header including ircd versionDaniel De Graaf
2010-02-20Restore <options:exemptchanops> with long namesdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12502 e03df62e-2008-0410-955e-edbf42e46eb7
2010-02-15Show opers the raw VERSION string, not the custom onedanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12470 e03df62e-2008-0410-955e-edbf42e46eb7
2010-02-12Fix conversion warnings on g++ 3.4danieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12443 e03df62e-2008-0410-955e-edbf42e46eb7
2010-02-12Floating-point math should have no place in an ircddanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12442 e03df62e-2008-0410-955e-edbf42e46eb7
2010-02-09Add random number generation functions to InspIRCd class.danieldg
Default implementation uses libc random(), which can be better than rand(). If gnutls is loaded, gcrypt will be used to provide random numbers. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12404 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-28Fix empty FMODE being sent if SendMode mode changesdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12323 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-19Fix some command registration warningsdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12305 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-18Remove excessive gettimeofday system callsdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12293 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-17Add Module::init() for correct exception handling during hook registrationdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12278 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-11...because every now and again, i have to do a massive commit.brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12248 e03df62e-2008-0410-955e-edbf42e46eb7
2009-11-16Use ServiceProvider for inter-module dependenciesdanieldg
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
2009-11-15Add Inspircd::AddServicesdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12135 e03df62e-2008-0410-955e-edbf42e46eb7
2009-11-03Match USERINPUT/USEROUTPUT identifiersdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12004 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-25Fixes found by removing User inheritance from StreamSocketdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11975 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-24Move forward declarations to typedefs.hdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11967 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-23Change to <type:vhost> and <oper:vhost> because <oper:host> is taken.danieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11957 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-22Clean up unused functions, add nonicks operoverride [dKingston]danieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11951 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-21Kill ListenSocketBase, use OnAcceptConnection for all new connectionsdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11950 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-21Move command-line items to CommandLineConfdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11949 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-21Change module API to use LocalUser* where correctdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11943 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-21Split LocalUser and RemoteUserdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11940 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-21Update documentation and remove unused classes/functionsdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11938 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-20Move DumpText into User; kill unused WriteWallOps and DecreasePenalty functionsdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11931 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-18Remove more classbasedanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11905 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-17Rewrite ConfigReader againdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11879 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-14Fix module unmapping with culled Module objectsdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11875 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-14Move static map of extensions into ServerInstance, add const-correctnessdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11873 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-13Remove Command and ModeHandler objects in their destructors; fixes possible ↵danieldg
pointer leak if a module was not careful when triggering exceptions in its constructor git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11872 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-11Move 2 static extensibles from user class to inspircd class for global ↵peavey
access in an attempt to further fix windows build. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11838 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-11Use CoreExport for the ServerInstance extern. Fixes unresolved symbol error ↵peavey
for windows DLLs like modules and commands. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11833 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-03Get rid of a bunch of memory-wasting C-style stringsdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11796 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-02Fix valgrind issues and crashes on exitdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11794 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-01Add ROUTE_TYPE_MESSAGE and use for PRIVMSG/NOTICE routingdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11791 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-26Remove InspIRCd* parameters and fieldsdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11763 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-24Move configuration filename specification to start script, to reduce ↵danieldg
hardcoded paths in executable git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11759 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-21Create StreamSocket for IO hooking implementationdanieldg
Fixes the SSL SendQ bug Removes duplicate code between User and BufferedSocket Simplify SSL module API Simplify EventHandler API (Readable/Writeable moved to SE) Add hook for culled objects to invoke callbacks prior to destructor Replace SocketCull with GlobalCull now that sockets can close themselves Shorten common case of user read/parse/write path: User::Write is now zero-copy up to syscall/SSL invocation User::Read has only two copy/scan passes from read() to ProcessCommand git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11752 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13Clean up Command constructordanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11707 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13Remove redundant ServerInstance* fieldsdanieldg
It has been impossible to have more than one InspIRCd* object in the same address space for some time now, and this feature was never used. This formalizes class InspIRCd as a singleton object. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11703 e03df62e-2008-0410-955e-edbf42e46eb7