395 Commits

Author SHA1 Message Date
attilamolnar
d743bdf338 Fix ConvToStr(char) 2013-09-14 15:23:45 +02:00
ChrisTX
3f4d54eb03 Fix a crash when running as systemd service
- Fix a NULL dereference if a signal is raised in the constructor of the
class InspIRCd
- Resolve the parent's process exit code being SIGTERM=15 and typically not
EXIT_SUCCESS thus

A combination of the two caused crashes when running as systemd unit.
2013-09-08 12:10:01 +02:00
attilamolnar
504caa8ca9 Fix typo in doc and remove some whitespace 2012-10-29 18:33:07 +01:00
attilamolnar
954786c678 Move ServerConfig::ProcessColors() into class InspIRCd, as a helper function
Change signature to accept a file_cache reference so modules can use it easily
2012-10-29 18:27:17 +01:00
Peter Powell
3479532178 Fix for #268.
- Move color stripping code to helperfuncs.
- Strip color codes before matching filters.
2012-10-19 17:50:08 +02:00
ChrisTX
ebdaf368e1 Replace printf(_c) with iostream 2012-10-14 02:13:49 +02:00
ChrisTX
5b9682275e 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
2012-10-12 22:31:38 +02:00
attilamolnar
41c26a03fa Move STATS handler back to cmd_stats so it's hotpatchable again 2012-07-13 17:18:07 +02:00
Justin Crawford
c79475caa8 Added color codes to /rules, moved the parsing to ServerConfig and cleaned the code up a bit 2012-07-06 09:15:48 -07:00
Peter Powell
808a0a0957 Fix Doxygen syntax errors. 2012-07-05 21:00:35 +01:00
attilamolnar
e3e7cb89e1 Add testsuite tests for UID generation 2012-05-27 23:30:02 +02:00
Peter Powell
cfbb5630c5 Fix compile error caused by unistd.h not existing on Windows. 2012-05-23 13:15:22 +01:00
Robin Burchell
fcacc8e030 Merge pull request #96 from Justasic/insp20
[2.0] Process escape sequences for MOTD for issue #23
2012-05-03 07:28:59 -07:00
Justin Crawford
a2d85a098e Fixed using a function on every call for /motd, causing lag on large networks (requested by w00t) 2012-04-22 23:59:53 -07:00
Robby-
46a3904619 Replace copyright headers with headers granting specific authors copyright 2012-04-19 20:58:29 +02:00
Guillaume Delacour
937c562ce4 Fix compilation with GCC 4.7.
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-16 08:20:46 +02:00
Justin Crawford
df5f76832e Fixes for bug #12 2012-04-14 18:03:25 -07:00
Daniel De Graaf
43d893c719 Add log header including ircd version 2010-04-28 15:33:27 -05:00
danieldg
4d46f5f9ef Restore <options:exemptchanops> with long names
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12502 e03df62e-2008-0410-955e-edbf42e46eb7
2010-02-20 09:15:55 +00:00
danieldg
55808216a8 Show opers the raw VERSION string, not the custom one
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12470 e03df62e-2008-0410-955e-edbf42e46eb7
2010-02-15 23:02:34 +00:00
danieldg
5ed94d9627 Fix conversion warnings on g++ 3.4
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12443 e03df62e-2008-0410-955e-edbf42e46eb7
2010-02-12 19:50:23 +00:00
danieldg
f5d5cee19a Floating-point math should have no place in an ircd
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12442 e03df62e-2008-0410-955e-edbf42e46eb7
2010-02-12 17:06:45 +00:00
danieldg
aab7998583 Add random number generation functions to InspIRCd class.
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-02-09 02:22:27 +00:00
danieldg
2b3d8e3d18 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
2010-01-28 20:16:31 +00:00
danieldg
3cda2e0971 Fix some command registration warnings
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12305 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-19 15:16:41 +00:00
danieldg
7e46119759 Remove excessive gettimeofday system calls
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12293 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-18 19:36:41 +00:00
danieldg
4b6bdeccb5 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
2010-01-17 16:00:14 +00:00
brain
cd712c40e1 ...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
2010-01-11 03:07:32 +00:00
danieldg
54fb0cd5aa 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
2009-11-16 17:59:06 +00:00
danieldg
fb3964d5c0 Add Inspircd::AddServices
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12135 e03df62e-2008-0410-955e-edbf42e46eb7
2009-11-15 18:26:53 +00:00
danieldg
9566b0bb15 Match USERINPUT/USEROUTPUT identifiers
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12004 e03df62e-2008-0410-955e-edbf42e46eb7
2009-11-03 22:45:50 +00:00
danieldg
6fe52cbb3b Fixes found by removing User inheritance from StreamSocket
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11975 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-25 15:21:45 +00:00
danieldg
6b2ea83367 Move forward declarations to typedefs.h
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11967 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-24 20:03:53 +00:00
danieldg
38e125bdb8 Change to <type:vhost> and <oper:vhost> because <oper:host> is taken.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11957 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-23 19:07:40 +00:00
danieldg
585138e4a4 Clean up unused functions, add nonicks operoverride [dKingston]
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11951 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-22 00:09:15 +00:00
danieldg
d221de8827 Kill ListenSocketBase, use OnAcceptConnection for all new connections
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11950 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-21 23:46:33 +00:00
danieldg
dcbb0ae938 Move command-line items to CommandLineConf
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11949 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-21 23:46:24 +00:00
danieldg
123eac3f25 Change module API to use LocalUser* where correct
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11943 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-21 23:45:19 +00:00
danieldg
9924e56311 Split LocalUser and RemoteUser
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11940 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-21 23:44:48 +00:00
danieldg
355b17f151 Update documentation and remove unused classes/functions
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11938 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-21 23:44:27 +00:00
danieldg
34fbe51fa4 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
2009-10-20 04:40:27 +00:00
danieldg
fa452641bf Remove more classbase
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11905 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-18 16:18:44 +00:00
danieldg
bf6724c049 Rewrite ConfigReader again
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11879 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-17 02:14:44 +00:00
danieldg
dbf4d59543 Fix module unmapping with culled Module objects
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11875 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-14 22:12:55 +00:00
danieldg
e80a1296a0 Move static map of extensions into ServerInstance, add const-correctness
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11873 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-14 18:39:38 +00:00
danieldg
37fd031da0 Remove Command and ModeHandler objects in their destructors; fixes possible 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-13 21:34:29 +00:00
peavey
e4839dc443 Move 2 static extensibles from user class to inspircd class for global 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-11 18:03:17 +00:00
peavey
c049a4a0f5 Use CoreExport for the ServerInstance extern. Fixes unresolved symbol error 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-11 15:23:33 +00:00
danieldg
de25d94673 Get rid of a bunch of memory-wasting C-style strings
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11796 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-03 01:52:59 +00:00
danieldg
8456cf5ccd Fix valgrind issues and crashes on exit
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11794 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-02 03:15:46 +00:00