summaryrefslogtreecommitdiff
path: root/src/inspircd.cpp
AgeCommit message (Collapse)Author
2014-01-24Convert LocalUserList to an intrusively linked listAttila Molnar
2014-01-21Merge insp20Attila Molnar
2014-01-05Move server description field from TreeServer into Server; remove ↵Attila Molnar
OnGetServerDescription hook
2014-01-05Introduce Server classAttila Molnar
- Replaces std::string server in User - Replaces InspIRCd::ULine() and SilentULine()
2013-12-15Move stuff around a bit:Peter Powell
- Create FileSystem class: * Move ServerConfig::CleanFilename to FileSystem::GetFileName and rewrite. * Move ServerConfig::ExpandPath to FileSystem. * Move ServerConfig::FileExists to FileSystem. * Move ServerConfig::StartsWithWindowsDriveLetter to FileSystem. - Move FileReader to fileutils.cpp and fix documentation. - Move UserManager::DoBackgroundUserStuff to usermanager.cpp.
2013-11-21Fix a few issuesattilamolnar
- Rehash notices - Modes in CAPAB - GetTargetAndAction() not being static in m_callerid - Loading custom configuration files using --config. (@SaberUK) - ServerConfig::Read not using std::endl. (@SaberUK) - Out of date comments in opers.conf.example, issue #624
2013-09-26Improve error reporting for <security:runas{user,group}>.Peter Powell
2013-09-08Remove InspIRCd::HandleRehash functorattilamolnar
Call InspIRCd::Rehash() from cmd_rehash and from the SIGHUP handler
2013-09-08Fix a crash when running as systemd serviceChrisTX
- 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-08-30Merge insp20attilamolnar
2013-08-18m_spanningtree Propagate oper-only quit reason using METADATA, remove OPERQUITattilamolnar
2013-08-12Add <path> keys for all of the compile-time paths.Peter Powell
Also, make all paths in the config relative to their associated directory. This reverts a change in 2.0 which turned out to be a terrible idea, especially for system-wide installations.
2013-08-08Fix a couple of issuesattilamolnar
- Wrong doc for Snomask::GetDescription() - Incorrect idle time when WHOISing remote users - String + int = garbage - Remote MODE commands (user mode changes) being broadcast in addition to being forwarded - Incorrect revision being shown
2013-08-04Change the syntax of FOREACH macros to be less dumb.Adam
2013-07-07Fix low risk crash when we can't determine maximum open socket count.Peter Powell
2013-07-04Remove $Core and $Mod* comments apart from $ModDep.Peter Powell
2013-07-01Fix a few oversightsattilamolnar
This partially reverts e0cb6bd46fb1d804ad6adea5688c844f7e1a0f6f
2013-06-18Remove dead code from the InspIRCd and CommandParser classes and typedefs.hattilamolnar
Removed functions: InspIRCd: - Restart() - unused - DoSocketTimeouts() - no implementation exists - AddCommand() - useless wrapper around ModuleManager::AddService() CommandParser: - IsValidCommand() - unused - ProcessParameters() - no implementation exists
2013-06-18Minor changes to the startup and shutdown codeattilamolnar
- Update comments - Close logs in LogManager destructor instead of relying on other code to do it - Change return type of InspIRCd::Run() to void - private: InspIRCd::CheckRoot() - Change log message type of setgroups() etc. errors to "STARTUP" - Load cmd_privmsg in PURE_STATIC builds
2013-06-18Remove unused exit codesattilamolnar
2013-06-06Move code between usermanager.(cpp|h), clarify commentsattilamolnar
Initialize clientlist and uuidlist in UserManager constructor
2013-06-06Move DoBackgroundUserStuff() and AllModulesReportReady() into UserManagerattilamolnar
2013-06-06Merge insp20attilamolnar
2013-05-23Update authorsattilamolnar
2013-05-19Fix spacing in calls to LogManager::Log.Peter Powell
2013-05-19Purge a ton of code related to non <log> related logging.Peter Powell
- InspIRCd::OpenLog - ./inspircd --logfile [file] This is no longer needed now we have (since 1.2) custom logging.
2013-05-18Get rid of the NICKForced extensionattilamolnar
Don't run OnUserPreNick when the nick change is forced
2013-05-18Initialize local_countattilamolnar
2013-05-07Clean up cross-platform compatibility.Peter Powell
- Move compatibility macros to a new header file. - Sort system include files in alphabetical order. - Clean up signal handling (thanks to Adam).
2013-04-26Modularize DNSAdam
The DNS modules are temporarily in commands/ so they're loaded automatically Thanks to Attila for helping with much of this.
2013-04-14Extract UID/SID generation logic into a new class: UIDGeneratorattilamolnar
2013-04-12Add LOG_ prefix to the log level enum values.Peter Powell
2013-04-11Convert ISUPPORT to use a map instead of a string.Peter Powell
2013-04-08Migrate u_listmode.h into the core, change +b to use itattilamolnar
2013-04-08Add builtin modes using AddService()attilamolnar
2013-04-08Rework dynamic_reference management, introduce dynamic_reference_nocheckattilamolnar
New dynamic references are now resolved at construction and all of them are re-resolved when a relevant service is added or removed; resolution is no longer done in operator-> dynamic_reference_nocheck is a variant of dynamic_reference that does not check for value being null in operator-> / operator* dynamic_reference still throws an exception when used in this case Both kinds of dynamic references support .check(): an exception is thrown if this is called when value is null
2013-04-05Merge inspircd_{config,version}.h into a single header file.Peter Powell
2013-04-04Stop recreating hashmaps every hour, move garbage collection code related to ↵attilamolnar
local users to UserManager
2013-04-04Line ending conversionattilamolnar
2013-04-01Convert IsSID() to a static member function, modules shouldn't override itattilamolnar
2013-04-01Remove more deprecated codeattilamolnar
- ConfigReader - FloodQuitUserHandler - IsValidModuleCommand - CallCommandHandler - DoCleanup from u_listmode.h
2013-03-28Fix premature overwriting of OLDTIME that resulted in time drifts never ↵attilamolnar
being detected
2013-03-25Accept -c as a command line argument (equivalent to --config)attilamolnar
2013-03-24Initialize the FakeClient pointer in InspIRCd::InspIRCd()attilamolnar
2012-12-03Properly shut down stdinattilamolnar
Replace hardcoded ints
2012-11-29Add a typedef for LocalUserListattilamolnar
2012-10-14Replace printf(_c) with iostreamChrisTX
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-10-04Replace hardcoded paths with configurable onesChrisTX
This patchset aims to ease the packaging of InspIRCd for a system-wide installation scenario. Changes in detail: configure: Add the options --log-path and --data-path m_ssl_gnutls, openssl: Change the hardcoded "conf/" to the existent CONFIG_PATH macro m_xline_db: Make the location of xline.db configurable. It will use --data-path as default value, but this can be changed using the configuration files.
2012-07-21Don't hardcode conf/inspircd.conf as the config file, allow the configure ↵attilamolnar
script to override it (configure asked for the path but the ircd used the hardcoded path regardless) Fixes #264 reported by @ampt