2289 Commits

Author SHA1 Message Date
Peter Powell
428e8f4f69 Fix some Windows-related problems.
- Fix an error relating to the unavailability of std::back_inserter.
- Fix loading configuration files when using relative paths.
- Fix two methods in hashcomp being exported twice.
- Remove some unimportant error messages.
2014-01-04 19:31:29 +01:00
Adam
dbbd333956 Add m_ldap, and convert m_ldapoper and m_ldapauth to use it. 2013-12-19 16:40:11 +01:00
Attila Molnar
1e8389b27f Clean up CoreException
- Remove default constructor
- Replace virtual functions returning C strings with functions returning const std::string refs
2013-12-18 16:20:40 +01:00
Attila Molnar
ff407e6751 Remove unused motd and rules field from ServerConfig 2013-12-18 16:07:50 +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
07d0d8f52f Remove some pointless code:
- Remove the CHARSET entry from ISUPPORT.

  CHARSET was removed in draft-brocklesby-irc-isupport-03 and we
  always used the default value anyway. This has also been removed
  in the latest version of Charybdis.

- Remove irc::sockets::satouser.

  This helper method was longer than the code it replaced.
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
Adam
6c7a3ceb6c Use WriteNumeric() everywhere we send numerics and include the user's nick automatically 2013-11-12 06:51:31 -05:00
Peter Powell
3b38de5b6e Fix PrefixMode not being exported which caused runtime link errors. 2013-11-09 16:29:50 +00:00
attilamolnar
cc74fb0be4 Pass an interface to the OnSync hooks
Remove Module::ProtoSendMetaData()
2013-09-13 12:15:44 +02:00
attilamolnar
02220d48ee Split ProtocolInterface::SendMetaData() into multiple functions 2013-09-13 12:15:44 +02:00
attilamolnar
58d7827bb1 Send ListModeBase modes implicitly on channel sync
Remove Module::ProtoSendMode() and ListModeBase::DoSyncChannel()
2013-09-12 14:44:17 +02:00
attilamolnar
7ba2507681 Keep lists of mode handlers by type 2013-09-12 14:44:17 +02:00
attilamolnar
52e4d9c96c Add ModeHandler::IsListModeBase() and MC_LIST 2013-09-12 14:44:17 +02:00
attilamolnar
16398df07d Move prefix mode specific fields and getters into PrefixMode
Add ModeHandler::IsPrefixMode()
2013-09-11 12:10:07 +02:00
attilamolnar
34fa5627de Create a base class for prefix modes
Move Channel::SetPrefix() into Membership
2013-09-11 12:10:07 +02:00
attilamolnar
537ad4740a Add a type id field to ModeHandler 2013-09-11 12:10:07 +02:00
attilamolnar
ba7431b4fd Hide all symbols that aren't exported explicitly
In addition to reducing the sizes of all binaries this also helps the optimizer
2013-09-08 17:21:37 +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
attilamolnar
8a64bd3a0a Deduplicate code in modmanager_static and modmanager_dynamic 2013-09-08 17:10:15 +02:00
attilamolnar
e6e3ae88fb Remove ModuleManager::ModCount and GetCount() 2013-09-08 16:57:03 +02:00
attilamolnar
fabe111fb9 Fix module loading in PURE_STATIC builds 2013-09-08 16:54:33 +02:00
attilamolnar
d349f981fb Remove ModuleManager::GetAllModuleNames(), use GetModules() instead 2013-08-30 13:15:10 +02:00
attilamolnar
c202dea024 Replace OnRehash() with ReadConfig() that is called on boot, on module load and on rehash
This eliminates the need for calling OnRehash() in init()
2013-08-30 13:15:10 +02:00
attilamolnar
1031f33333 Merge insp20 2013-08-30 13:01:10 +02:00
attilamolnar
d54eec6dd8 Don't CoreExport reference, fixes m_dnsbl on Windows
The explicit instantiations of reference are now useless; remove
2013-08-30 12:10:01 +02:00
attilamolnar
5384ddf545 Fix Windows build and a few more problems 2013-08-27 15:03:10 +02:00
Peter Powell
eaf658de3d Fix various small issues.
- Add CXX11_OVERRIDE to *Regex::Matches and *RegexFactory::Create.
- Fix documentation comment on regex_string.
- Fix various code duplication/layout issues.
2013-08-27 12:20:03 +01:00
Peter Powell
0e7f74a7c8 Make all regex modules throw the same exception on error. 2013-08-27 12:07:49 +01:00
attilamolnar
61d586b1a3 Clean up the protocol interface 2013-08-25 13:41:36 +02:00
attilamolnar
153179b574 Create the CommandBase class from Command
The Handle() method is not part of CommandBase, making it possible to provide a different Handle() in each class derived from CommandBase
2013-08-18 15:11:02 +02:00
attilamolnar
b395c59997 m_spanningtree Propagate oper-only quit reason using METADATA, remove OPERQUIT 2013-08-18 13:48:31 +02:00
attilamolnar
19cc8380fb Store oper types and opers in separate containers 2013-08-13 14:22:07 +02:00
attilamolnar
37394a80c2 Clean up a few constructors
Do not silently correct a zero TS in Channel::Channel(); require callers to supply a valid TS instead
2013-08-12 20:10:06 +02:00
attilamolnar
558eea33dc cmd_whowas Major cleanup, fix inefficiencies 2013-08-12 20:00:10 +02:00
attilamolnar
6d39615998 Add ConfigTag::getDuration() with optional bounds checking 2013-08-12 19:20:18 +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
Peter Powell
29822a263b Add <path> keys for all of the compile-time paths.
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-12 16:53:33 +01:00
Peter Powell
4509cbcc0b Rename <options:moronbanner> to <options:xlinemessage>.
This name is more descriptive of what is actually is used for.
2013-08-10 14:04:09 +01:00
Peter Powell
86f650e6b8 Replace range() with min and max arguments on getInt(). 2013-08-10 14:04:09 +01:00
Peter Powell
03a623a284 Rename <connect:nouserdns> to <connect:resolvehostnames>.
This name is more descriptive and avoids a double negative which
could make the name of this setting unclear to non-native speakers.
2013-08-10 14:04:09 +01:00
attilamolnar
dafa2f3031 Remove virtual User::GetClass() (but keep LocalUser::GetClass()) 2013-08-09 18:28:11 +02:00
attilamolnar
b4542af6b4 Accept std::string as parameter in User::ChangeHost(), ChangeIdent() and ChangeName()
Pass the string itself to IsIdent() instead of string.c_str()
2013-08-09 18:20:12 +02:00
attilamolnar
e4b76e6502 Move host cycle logic into m_hostcycle 2013-08-09 18:10:48 +02:00
attilamolnar
9962840222 Fix a couple of issues
- 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-08 15:10:48 +02:00
attilamolnar
d24619c012 Automatically attach modules to events 2013-08-04 16:08:57 +02:00
Adam
8710724b55 Change the syntax of FOREACH macros to be less dumb. 2013-08-04 16:08:57 +02:00
attilamolnar
1a775c11c2 umode_s Rewrite ProcessNoticeMasks() and remove a few related useless functions 2013-07-24 18:10:34 +02:00
attilamolnar
c265641c0a Rewrite SnomaskManager::SendMessage() and Flush(), split code into functions 2013-07-24 18:10:20 +02:00