520 Commits

Author SHA1 Message Date
Attila Molnar
984db9e301 Remove InspIRCd::BindSocket() 2014-08-04 12:12:07 +02:00
Attila Molnar
831998ff16 Move ISupportManager class declaration to isupportmanager.h from inspircd.h 2014-07-14 16:39:09 +02:00
Attila Molnar
0986021634 Add InspIRCd::TimingSafeCompare() function that compares strings in a timing-safe way 2014-06-28 18:25:05 +02:00
Peter Powell
1cf8590816 Add parameter to InspIRCd::TimeString for UTC time formats.
Missing doc added by @attilamolnar
2014-06-25 14:41:01 +02:00
Peter Powell
da9adf9e29 Add formatting to InspIRCd::TimeString; switch all code to use it.
m_httpd also now uses the correct timestamp format.

Windows-specific fixes by @attilamolnar, original PR #849
2014-06-25 14:31:25 +02:00
Attila Molnar
024906dbcd Change allocation of InspIRCd::Users to be physically part of the object containing it using fakederef 2014-06-24 12:21:31 +02:00
Attila Molnar
86092ec591 Change allocation of InspIRCd::SNO to be physically part of the object containing it using fakederef 2014-06-24 12:20:02 +02:00
Attila Molnar
a3d2b44757 Change allocation of InspIRCd::Modules to be physically part of the object containing it using fakederef 2014-06-24 12:16:57 +02:00
Attila Molnar
e66ea395e4 Change allocation of InspIRCd::Logs to be physically part of the object containing it using fakederef 2014-06-24 12:15:03 +02:00
Attila Molnar
53f7229869 Change allocation of InspIRCd::Modes to be physically part of the object containing it using fakederef 2014-06-24 12:10:59 +02:00
Attila Molnar
3a921efb0b Add the fakederef class 2014-06-24 12:08:20 +02:00
Attila Molnar
b9e323b2c3 Remove unused #define ERROR -1 2014-06-14 15:14:46 +02:00
Attila Molnar
c35089b8cf Make the default ProtocolInterface instance part of class InspIRCd
The protocol module no longer has to delete it on load and construct it on
unload, only assign a new value to ServerInstance->PI
2014-06-13 15:59:37 +02:00
Attila Molnar
5b1ee304b5 Change allocation of InspIRCd::Parser to be physically part of the object containing it 2014-06-13 15:45:55 +02:00
Attila Molnar
467b276d9d Change allocation of InspIRCd::BanCache to be physically part of the object containing it 2014-06-13 15:27:40 +02:00
Attila Molnar
caa0c27a5a Pull in bancache.h from inspircd.h 2014-06-13 15:23:39 +02:00
Attila Molnar
b071a6acd8 Change allocation of InspIRCd::Threads to be physically part of the object containing it 2014-06-13 15:09:20 +02:00
Attila Molnar
12027601cf Change allocation of InspIRCd::stats to be physically part of the object containing it
While at it, remove "stats" from all field names
2014-06-13 15:03:56 +02:00
Attila Molnar
020f706bcb Add ConvToUInt64() 2014-06-11 14:00:42 +02:00
Attila Molnar
facea19731 Cull ident sockets instead of immediate delete, add stdalgo::culldeleter 2014-03-24 16:44:04 +01:00
Attila Molnar
671a80a70b Create the stdalgo namespace for container-related algorithms, add stdalgo::vector::swaperase() 2014-03-24 16:33:09 +01:00
Attila Molnar
0babd8c078 Change allocation of InspIRCd::Timers to be physically part of the object containing it 2014-03-15 15:38:09 +01:00
Attila Molnar
da45f24ff1 Change allocation of InspIRCd::chanlist to be physically part of the object containing it 2014-03-14 12:59:19 +01:00
Attila Molnar
146d85b5de Add InspIRCd::GetChans(), remove ChannelCount() 2014-03-14 12:56:20 +01:00
Attila Molnar
7aab18ae35 Deduplicate and move the *MatchesEveryone() functions to core_xline 2014-03-12 13:50:41 +01:00
Attila Molnar
efe77ba63b Change all socketengine methods to be static 2014-02-08 23:01:44 +01:00
Peter Powell
074727e7a7 Convert InspIRCd::PassCompare to return bool instead of int.
The insane behaviour of this method was due to an implementation
detail which has since become irrelevent.
2014-01-25 12:20:04 +01:00
Attila Molnar
932e8d13f8 Convert UserChanList to an intrusively linked list 2014-01-24 12:58:01 +01:00
Attila Molnar
e244cb2c63 Merge insp20 2014-01-21 18:44:08 +01:00
Attila Molnar
9136136ac3 Move server description field from TreeServer into Server; remove OnGetServerDescription hook 2014-01-05 15:20:17 +01:00
Attila Molnar
11916574f6 Introduce Server class
- Replaces std::string server in User
- Replaces InspIRCd::ULine() and SilentULine()
2014-01-05 15:04:01 +01:00
Peter Powell
ad47ea6626 Make various self contained methods static.
- InspIRCd::IsValidMask
- InspIRCd::TimeString
2013-12-15 06:46:44 +00:00
Peter Powell
02830985a1 Move stuff around a bit:
- 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-12-15 06:46:35 +00:00
attilamolnar
d743bdf338 Fix ConvToStr(char) 2013-09-14 15:23:45 +02:00
attilamolnar
deb18ee9cf Remove InspIRCd::HandleRehash functor
Call InspIRCd::Rehash() from cmd_rehash and from the SIGHUP handler
2013-09-08 17:21:01 +02:00
attilamolnar
992674362c Automatically register ServiceProviders created by modules 2013-09-08 17:11:08 +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
b395c59997 m_spanningtree Propagate oper-only quit reason using METADATA, remove OPERQUIT 2013-08-18 13:48:31 +02:00
Peter Powell
12be0adc38 Clean up wildcard code.
- Move references and pointers next to the type.
- Rename match_internal to MatchInternal.
- Remove duplicate NULL check on map in MatchCIDR.
2013-08-12 18:06:27 +01:00
attilamolnar
ac55270a08 Move dynamic_reference and related classes to dynref.h 2013-07-19 19:40:02 +02:00
Peter Powell
146d72fddb Fix Doxygen comments. 2013-06-21 03:52:56 +01:00
attilamolnar
50ecf259b6 Remove dead code from the InspIRCd and CommandParser classes and typedefs.h
Removed functions:

InspIRCd:
- Restart() - unused
- DoSocketTimeouts() - no implementation exists
- AddCommand() - useless wrapper around ModuleManager::AddService()

CommandParser:
- IsValidCommand() - unused
- ProcessParameters() - no implementation exists
2013-06-18 21:25:43 +02:00
attilamolnar
e0cb6bd46f Minor changes to the startup and shutdown code
- 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-18 21:20:30 +02:00
attilamolnar
3624c137a6 Introduce ModeProcessFlags, can be passed to ModeParser::Process() to indicate local only mode changes and mode merges
Change ProtocolInterface::SendMode() to take source and destination parameters, and call it from the mode parser whenever the mode change is global

This deprecates the ambiguous InspIRCd::SendMode() and InspIRCd::SendGlobalMode() interface (the latter sent mode changes originating from local users twice, etc.)
2013-06-13 18:15:34 +02:00
attilamolnar
eeabdde6fb Move DoBackgroundUserStuff() and AllModulesReportReady() into UserManager 2013-06-06 03:13:55 +02:00
Peter Powell
955ad16ed7 Convert ConvNumeric() to use std::string instead of char[MAXBUF]. 2013-06-06 01:45:04 +01:00
attilamolnar
b01dc3cb86 Move a few trivial functions into headers 2013-06-02 00:28:55 +02:00
attilamolnar
40c5b25db4 Remove #define MAXPARAMETERS and "MAXPARA" 005 token 2013-06-01 23:00:55 +02:00
Attila Molnar
b36ce84c7d Merge pull request #545 from SaberUK/master+logging-cleanup
Clean up the logging system (part 1 of 2).
2013-05-21 17:11:46 -07:00
Adam
06a606ea66 Fixup last commit 2013-05-20 14:20:08 -04:00