2276 Commits

Author SHA1 Message Date
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
attilamolnar
2dc01893c6 Get rid of enum UserModes and mark User::modes as private 2013-07-19 19:40:05 +02:00
attilamolnar
fd1d19d634 Replace hardcoded mode letters, part 3
This changes most remaining User::IsModeSet() calls to use ModeReferences for modes that were created by other modules or the core
2013-07-19 19:40:04 +02:00
attilamolnar
882084defc Move SetNoticeMask(), FormatNoticeMasks() and ProcessNoticeMasks() from the User class to the snomask modehandler 2013-07-19 19:40:03 +02:00
attilamolnar
b954283ccc Replace hardcoded mode letters, part 2
This changes all remaining Channel::IsModeSet() and Channel::GetModeParameter() calls to use ModeReferences for modes that were created by other modules or the core
2013-07-19 19:40:03 +02:00
attilamolnar
5288eb1594 Seperate ModeReference into ChanModeReference and UserModeReference 2013-07-19 19:40:02 +02:00
attilamolnar
ac55270a08 Move dynamic_reference and related classes to dynref.h 2013-07-19 19:40:02 +02:00
Peter Powell
0003fc3131 Fix some warnings which are causing debug builds to fail.
- Clang: private field 'module' is not used
- GCC: suggest a space before ‘;’ or explicit braces around empty
       body in ‘while’ statement
2013-07-16 22:06:40 +01:00
Adam
6e0b904d34 Use the correct socket related error messages on Windows 2013-07-14 20:23:53 +02:00
Daniel Vassdal
3ae91bafe7 Allow for skipping clone checking before DNS is complete. 2013-07-02 10:55:51 -07:00
attilamolnar
f2cdf27dd9 Replace hardcoded mode letters passed to IsModeSet() and GetModeParameter() with ModeHandlers, part 1 2013-07-01 19:21:08 +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