255 Commits

Author SHA1 Message Date
Peter Powell
a4c1b1f4fc Add an option for changing the allowed server clock drift. 2018-12-04 19:04:09 +00:00
Peter Powell
0e6b18ff91 Fix warnings from Doxygen. 2018-10-21 19:18:08 +01:00
Peter Powell
08177bccc2 Move <security:userstats> into core_stats. 2018-10-01 17:26:22 +01:00
Peter Powell
d7dd8d193c Move <security:hidesplits> to the spanningtree module. 2018-10-01 17:26:22 +01:00
Peter Powell
ff5fdd21c1 Move <security:genericoper> into core_whois. 2018-10-01 17:26:22 +01:00
Peter Powell
9ddb9cc658 Move <security:hideulinekills> into core_oper. 2018-10-01 17:26:22 +01:00
Peter Powell
7b6f7dcde5 Move <security:hidekills> into core_oper. 2018-10-01 17:26:22 +01:00
Peter Powell
680ecdae0c Document ServerConfig::Conf{Tags,Value} better. 2018-10-01 17:26:21 +01:00
Peter Powell
58a0a7e014 Implement IRCv3 message tag support.
Co-authored-by: Attila Molnar <attilamolnar@hush.com>
2018-08-13 21:51:11 +01:00
Peter Powell
8cb20e3545 Replace most usages of "GECOS" with "real" or "real name". 2018-07-30 18:30:11 +01:00
Peter Powell
e22383c6f4 Add a ConfigTag::getString overload that calls a validation method. 2018-07-10 21:14:56 +01:00
Peter Powell
2a022cb9b7 Add a silent option to <options:restrictbannedusers>.
This is useful when dealing with spambots that switch method when
they receive ERR_CANNOTSENDTOCHAN.
2018-07-10 21:01:35 +01:00
Chris Novakovic
9cd7a2e546 Add --nopid command line option (#1497).
Add a --nopid command line option, which causes a PID file not to be
written to the file system regardless of the presence of the <pid> tag
in the configuration file or the value of its "file" variable if it is
present.
2018-06-04 12:40:32 +01:00
Peter Powell
9b8dc77585 Add range checking to ConfigTag::getFloat. 2018-04-16 15:29:58 +01:00
Peter Powell
780dda83ba Add ConfigTag::getUInt for reading unsigned config values. 2018-04-16 15:29:55 +01:00
Peter Powell
2d36fcb16e Convert ConfigTag::getDuration to return an unsigned long. 2018-04-16 15:24:49 +01:00
Peter Powell
7c2adcb46a Convert ConfigTag::CheckRange to a function template. 2018-04-16 15:07:06 +01:00
Peter Powell
7ef2f87e39 Remove the default value in ConfigTag::get{Duration,Float,Int}. 2018-04-16 15:07:06 +01:00
Peter Powell
802eed1734 Move <security:announceinvites> to core_channel. 2018-03-31 13:16:27 +01:00
Dylan Frank
c7de80233a Separate secret and private channels on whois for non-opers (#1447)
Separate secret and private channels on WHOIS for all users.

- Move the config parsing from the core to core_whois.
- Replace <security:operspywhois> with an oper privilege.
- Introduce <options:splitwhois> to split WHOIS channel lists.

Closes #969.
2018-03-25 17:02:00 +01:00
Peter Powell
e467fd0a6f Rename <security:hidewhois> to <security:hideserver>.
The previous name was horrible and didn't describe what the setting
actually does.
2017-12-22 01:11:14 +00:00
Peter Powell
91e0af0fc4 Add the override keyword in places that it is missing.
GCCs warnings for this are much better than Clangs.
2017-11-21 15:51:45 +00:00
Peter Powell
36040be295 Fix a ton of -Wsign-conversion warnings. 2017-11-17 15:33:01 +00:00
Peter Powell
5287af979e Add a class which encapsulates the concept of token lists. 2017-11-13 19:44:04 +00:00
Peter Powell
020c1d6ea6 Add a constructor to OperInfo and use it to set the type name. 2017-10-18 18:38:30 +01:00
Peter Powell
aac644de3d Clean up the command disabling logic.
- Read the disabled command list in ApplyDisabledCommands() instead
  of storing it in a global which is only accessed on rehash.
- Write debug messages to the log when disabling commands.
- Use irc::spacesepstream instead of std::stringstream.
2017-10-17 20:29:15 +01:00
Peter Powell
ca9a56b7ac Convert Disabled[CU]Modes to use a bitset instead of a char array. 2017-09-18 14:09:01 +01:00
Peter Powell
51a47e7d75 Implement support for configurable casemapping & default to ASCII. 2017-09-08 20:11:50 +01:00
Peter Powell
c0ca5c8d41 Add support for length arguments in getString. 2017-09-03 22:44:33 +01:00
Peter Powell
74dd288542 Move <dns:timeout> out of the core. 2017-09-03 19:28:50 +01:00
Peter Powell
6399cd9327 Add a ConfigTag* parameter to the ServerPaths constructor.
This is used to directly read the settings from the config tag like
how ServerLimits works.
2017-09-03 15:35:41 +01:00
Peter Powell
a62ae50007 Fix a bunch of Doxygen warnings. 2017-08-26 09:58:15 +01:00
Peter Powell
3fd1ba753d Store config values in a map instead of a unique vector of pairs. 2016-12-08 02:01:40 +00:00
Attila Molnar
458ea2029c Bump version to 3.0 in comments and messages 2016-09-02 21:51:19 +02:00
Attila Molnar
b9e11915a9 Merge insp20 2016-08-17 12:49:48 +02:00
Peter Powell
4a12fc9d4b Add a method which calculates the maximum mask length. (#1171) 2016-07-22 12:26:11 +02:00
Adam
f80798f2c1 Don't show snotices for kills from ulined clients 2016-02-25 08:54:28 -05:00
Attila Molnar
489ba0ad54 Remove <options:ircumsgprefix> entirely 2015-12-06 11:09:03 +01:00
Attila Molnar
a6b53dbc36 Move ServerConfig::InvBypassModes into core_channel 2015-11-02 12:38:14 +01:00
Attila Molnar
c44433dad2 Merge branch 'master+flatmap' 2014-12-19 15:24:02 +01:00
Attila Molnar
7010a92426 Change type of some associative containers to their flat versions, including Extensible storage 2014-12-15 17:48:52 +01:00
Attila Molnar
bc6090c224 Add typedef PrivSet for OperInfo::AllowedOperCommands and AllowedPrivs 2014-12-15 17:09:48 +01:00
Attila Molnar
b74da78a61 Pass the empty tag to Limits when constructing a ServerConfig, remove default ServerLimits constructor 2014-12-09 12:36:24 +01:00
Attila Molnar
1c64da19e1 Add ServerLimits constructor that reads limits from a ConfigTag and use it 2014-12-09 12:35:31 +01:00
Attila Molnar
3a3ff94967 Merge insp20 2014-10-27 15:26:20 +01:00
Peter Powell
6935ce2956 Avoid calling methods on NULL pointers wherever possible.
The trick we use to allow this is undefined behaviour and is not
liked by LLVM. We should stop using it but it has the potential to
break to many things for a minor release.
2014-10-13 06:18:14 +01:00
Attila Molnar
6890d6aef7 Remove listmode hiding support from the core
This is now handled by m_hidelist
2014-09-10 15:03:21 +02:00
Attila Molnar
7e0e54eba3 Move typedef OperIndex to ServerConfig::OperIndex 2014-07-16 12:32:47 +02:00
Attila Molnar
046da7da9b Move typedef ClassVector to ServerConfig::ClassVector 2014-07-16 12:30:05 +02:00
Peter Powell
e3bcf95ee9 Prefix all definitions in config.h to avoid potential collisions. 2014-05-23 14:13:51 +02:00