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
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