461 Commits

Author SHA1 Message Date
Peter Powell
0d3a6719b8 Fix building with libc++.
- Purged std::tr1::strlower (was never used).
- Moved std::tr1::insensitive to irc::insensitive.
- Added TR1NS macro to point to the correct C++ TR1 namespace.
2013-04-19 01:34:07 +01:00
attilamolnar
48f7fa6b11 Extract UID/SID generation logic into a new class: UIDGenerator 2013-04-14 18:20:02 +02:00
attilamolnar
f8127cf8c5 Remove const char* versions of InspIRCd::FindNick()/FindNickOnly()/FindUUID()/FindChan() 2013-04-13 17:43:37 +02:00
Peter Powell
11cafc12d5 Tidy up source files:
- Use #pragma once instead of include guards.
- Move header files in src/modules to include/modules.
- Fixed various spacing issues.
2013-04-12 17:03:05 +01:00
Peter Powell
5c29c53f65 Convert ISUPPORT to use a map instead of a string. 2013-04-11 23:08:03 +01:00
attilamolnar
01b71ef43f Move most whois related code from the core into cmd_whois 2013-04-09 18:36:49 +02:00
attilamolnar
ebe5b201aa Migrate u_listmode.h into the core, change +b to use it 2013-04-08 23:13:24 +02:00
Peter Powell
362f3009ac Merge inspircd_{config,version}.h into a single header file. 2013-04-05 16:39:40 +01:00
attilamolnar
bb3aa2fb37 Stop recreating hashmaps every hour, move garbage collection code related to local users to UserManager 2013-04-04 19:23:16 +02:00
attilamolnar
886f1ba488 Convert InspIRCd::Duration() to be static 2013-04-03 15:54:28 +02:00
Attila Molnar
66b90807bb Merge pull request #452 from SaberUK/master+nuke-hashmap
Purge the deprecated hash_map from existance.
2013-04-01 09:50:50 -07:00
attilamolnar
713416ddfc Change IsNickHandler()/IsIdentHandler()/IsChannelHandler() to use C++ strings as arguments instead of C strings 2013-04-01 16:20:35 +02:00
attilamolnar
6a080dfd91 Convert IsSID() to a static member function, modules shouldn't override it 2013-04-01 16:15:19 +02:00
attilamolnar
de9cf90b6b Remove more deprecated code
- ConfigReader
- FloodQuitUserHandler
- IsValidModuleCommand
- CallCommandHandler
- DoCleanup from u_listmode.h
2013-04-01 16:10:45 +02:00
Attila Molnar
df2cbbe6e7 Merge pull request #454 from SaberUK/master+misc-improvements
Purge dead code and deprecated types.
2013-04-01 06:53:24 -07:00
Peter Powell
6b71f21137 Remove some dead code:
- Conditions in m_httpd_stats which can never be true.
- Commented out code in m_sqloper.
- Unused macro in inspircd.h.
2013-04-01 10:42:23 +01:00
Peter Powell
52fa9f8fbc Add macro for marking methods as deprecated. 2013-04-01 10:39:55 +01:00
Peter Powell
fd655fa93a Purge the deprecated hash_map from existance. 2013-04-01 05:57:33 +01: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