summaryrefslogtreecommitdiff
path: root/src/dynamic.cpp
AgeCommit message (Collapse)Author
2014-07-25Merge insp20Attila Molnar
2014-06-14Kill needless #includes in source filesAttila Molnar
2014-04-12Change FormatMessage() usage in DLLManager::RetrieveLastError() to match ↵Attila Molnar
SocketEngine::LastError() See 4451fd13a1accec8d7c2b1bb7fdafd6e50a2566b
2014-04-12Filter out newlines from error messages on WindowsAttila Molnar
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-04-19Replace copyright headers with headers granting specific authors copyrightRobby-
2010-01-14Move revision information from Version object to a static symboldanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12256 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-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-12Encode module API version in the init_module symbol; fixes conflic with ↵danieldg
glibc-exported init_module git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11863 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-12DLLFactory--danieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11861 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-08Update Event and Request APIsdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11808 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-02Cast rework: use C++ style static_cast<> instead of C-style castsdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11595 e03df62e-2008-0410-955e-edbf42e46eb7
2009-03-15Update all wiki links to point to the new wiki. This was done automatically ↵psychon
with the following command, only .Makefile.inc got some indent fixups by hand. for file in $(find -type f -and -not -path '*/.svn/*' -and -not -name '*.so') ; do sed -e 's#http://www.inspircd.org/wiki#http://wiki.inspircd.org#' -e 's#http://wiki.inspircd.org/index.php/#http://wiki.inspircd.org/#' -i $file ; done git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11223 e03df62e-2008-0410-955e-edbf42e46eb7
2009-02-14Nuke trailing spacespeavey
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11105 e03df62e-2008-0410-955e-edbf42e46eb7
2009-01-02Update copyrights for 2009.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10932 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-29Remove last vestige of libircdfoo, by changing tag into a single ↵w00t
identifier marking object as requiring compilation into a .o (minor commit) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10076 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
2007-10-23Pedantic safebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8317 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-22Remove the need for a bunch of the hard coded arrays/hashes by scanning the ↵brain
src/ dir for tag comments, like in modules git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8307 e03df62e-2008-0410-955e-edbf42e46eb7
2007-09-25Remove compiler warnings in windows buildbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8082 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-28First step on the road of module loader rewriting. So far this only really ↵om
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
2007-08-27Remove more unnecessary header trafficw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7887 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-23Fix some comments to be multiline, and remove a redundant if() case caused ↵w00t
by windows patch a while back git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7528 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-16OOPS! We try again, since I'm smoking craq. LF is 0x0a NOT CR.peavey
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7456 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-16'svn propset -R svn:eol-style CR *' Set to UNIX-style always. Binaries are ↵peavey
auto skipped by svn. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7454 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-21Reorder includes, dont worry there is method to my madness (i hope)brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7093 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-19Windows support. Tested and working to compile on freebsd and linux. Next ↵w00t
step is to make sure it actually works in windows too. ;p. Add Burlex to contributors. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7043 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-13Remove static linking support craq that hasn't been working/used since 1.0 ↵w00t
cygwin builds. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7015 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-17It says something about how excessive our debug output is when the ssl ↵brain
modules have 'cascades' of 'if-then-else' whos job is ONLY to output debug! git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6365 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-15Jesus, look who's the commit whore today. More header updates, and removal ↵w00t
of namespacing. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5996 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-28Remove ancient copy-to-tmp system for modules, this is no longer required so ↵brain
long as we keep using 'install' to overwrite the files git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5561 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-30Wahhhhhhhhhhhh bwahahaha. Mass commit to tidy up tons of messy include listsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5080 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11Just to mess with om's head, remove helperfuncs.h from everywherebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4900 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11Change to using Instance->Log (InspIRCd::Log) rather than log() macrobrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4880 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11Now two types of log macro, log() and ilog(). log() assumes an InspIRCd ↵brain
object called ServerInstance, ilog() takes an InspIRCd object as first param. TODO: Run a regexp over these, using perl, to translate them into InspIRCd::Log calls and then eliminate the macro :) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4879 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-10So much stuff changed in this one, i forgot most of it.brain
Oh yeah, main thing is ModeHandler and ModeWatcher classes now take an InspIRCd* to their constructor git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4858 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-09ServerConfig extern moved into class InspIRCdbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4808 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-07Put casts back :(brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4773 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-07The segfaults on missing init_module symbol are now gone, and hopefully not ↵brain
coming back! git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4772 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-07Added some hax :( to prevent invalid symbols. It seems that instead of ↵brain
returning NULL, its setting a pointer to -1 git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4770 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-07Tidy up, make a lot of char*'s constbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4769 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-07Better checks for running out of disk space, inability to write to tmp dir, etcbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4768 e03df62e-2008-0410-955e-edbf42e46eb7
2006-04-08Split inspircd_io.* insp inspsocket.* and configreader.* with a few odd bits ↵om
going into inspircd.*, doesn't look like I've broken anything... :P git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3847 e03df62e-2008-0410-955e-edbf42e46eb7
2006-02-21More error descriptivesbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3281 e03df62e-2008-0410-955e-edbf42e46eb7
2006-02-21Made error more understandable on 'file not found'brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3280 e03df62e-2008-0410-955e-edbf42e46eb7
2006-02-06Added support for changing tempdir via <options:tempdir>brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3107 e03df62e-2008-0410-955e-edbf42e46eb7
2006-01-30Small minor insignificant ite.. ZOMG CYGWIN DYNAMIC MODULES!frostycoolslug
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2984 e03df62e-2008-0410-955e-edbf42e46eb7
2006-01-26Altered so that if running in -debug mode, will not erase its .so files from ↵brain
/tmp to allow a clean backtrace git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2928 e03df62e-2008-0410-955e-edbf42e46eb7