Matt Schatz
f2e3fd5952
Improve X-line text consistency.
...
- Change any "-Line", ":Line", or "*line" to "-line" throughout
the X-line code, comments, and documentation.
- Add periods to the end of some notices.
- Correct a typo in the Q-line code comments.
- Update the filter module documentation (shun addition).
Co-authored-by: Robby <robby@chatbelgie.be>
2019-01-09 10:07:09 +00:00
Peter Powell
f4041a13c3
Release v3.0.0 release candidate 1.
2019-01-07 22:41:54 +00:00
linuxdaemon
b6ca49a232
Add the ability to disable console colors in stdout logging ( #1539 ).
2019-01-03 13:17:23 +00:00
Peter Powell
aafc03bdfc
Fix message tags not being broadcast across the network.
2019-01-02 20:28:46 +00:00
linuxdaemon
7530285740
Only parse valid durations, don't treat invalid multipliers as seconds ( #1538 )
2018-12-21 19:37:22 +01:00
Peter Powell
36da0833c5
Add the <maxlist> tag and switch ListModeBase to always use it.
...
The old method of doing this was:
1. Extremely inconsistently used. Some list modes used <banlist>
and some used their own config tag.
2. Not documented in the slightest. There was a small reference to
<maxbans> for the ban mode but nothing else.
3. In some cases conflicting with other config tags. The chanfilter
module defined a <chanfilter> tag for general config whilst also
using it for the max list settings.
The new <maxlist> tag avoids these issues entirely.
2018-12-19 09:02:09 +00:00
Peter Powell
8ec9a73a91
Fix ParamModeBase::OnUnset() not being virtual.
...
Closes #1536 .
2018-12-16 01:41:47 +00:00
Peter Powell
ee7db9bbfb
Store durations as unsigned long not long in XLine and m_filter.
2018-12-13 14:20:43 +00:00
Peter Powell
0f7cfd46ef
Fix conversion issues by replacing ConvToInt with ConvToNum<T>.
...
The former was a thin wrapper around atol and brought with it all
of the weird parsing logic of atol which is almost never what is
actually wanted. It also almost never returned the numeric type
which is actually wanted which can cause weird issues when casting.
2018-12-12 21:43:24 +00:00
Peter Powell
654355c2d1
Reject setting modes which are null or not registered.
2018-12-12 14:43:55 +00:00
Peter Powell
cb7e83aa4e
Move some config parser-internal types out of the public header.
2018-12-09 16:13:27 +00:00
Peter Powell
db5610a564
Use consistent numerics when a mode already exists or doesn't exist.
2018-12-09 06:57:10 +00:00
Peter Powell
9dab477dad
Allow modules to check if a user is on a callerid accept list.
2018-12-09 04:28:20 +00:00
Peter Powell
a4c1b1f4fc
Add an option for changing the allowed server clock drift.
2018-12-04 19:04:09 +00:00
Peter Powell
9574997540
Only check if a SSL cert is usable if we're getting the fp.
2018-11-26 14:33:44 +00:00
Peter Powell
cc5aff3e5a
Move IsValidDuration into the core.
2018-11-24 23:27:16 +00:00
Peter Powell
6adca3e099
Fix the OnSendWhoLine event being completely broken with WHOX.
2018-11-15 19:24:47 +00:00
Peter Powell
79892a727e
Implement support for WEBIRC attributes.
2018-11-04 15:29:06 +00:00
Peter Powell
ae0ae8ea61
Allow HAProxy to specify that a client is connecting with SSL.
2018-10-25 13:50:43 +01:00
Peter Powell
d62c870ffb
Store the type of a StreamSocket within itself.
...
Similar to with IOHooks this allows you to convert StreamSocket to
a UserIOHandler quickly.
2018-10-25 13:50:43 +01:00
Peter Powell
0e6b18ff91
Fix warnings from Doxygen.
2018-10-21 19:18:08 +01:00
Peter Powell
98a80a730e
Fix unregistered user modes thinking they are enabled.
2018-10-18 10:59:52 +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
75e144b55e
Fix the chanhistory module being inconsistent across servers.
...
Closes #331 .
2018-10-01 12:34:47 +01:00
Peter Powell
cae87fa047
Switch all core modules still using COMMAND_INIT to MODULE_INIT.
2018-09-23 14:19:06 +01:00
Peter Powell
876b1ae4e2
Don't sync xlines defined in the config and expire them on rehash.
...
Closes #1427 .
2018-09-23 13:35:15 +01:00
Peter Powell
7e9ec8e490
Amend OnPostCommand to specify whether the command is loopcalled.
...
This restores previous behaviour which was lost when the original
line parameter was removed.
2018-09-11 09:03:47 +01:00
Peter Powell
4567a325b8
Implement proper CTCP parsing in MessageDetails.
2018-08-26 11:33:19 +01:00
Peter Powell
b5bc17fba3
Send the 001-004 numerics and MOTD/LUSERS from core_info.
...
Co-authored-by: Attila Molnar <attilamolnar@hush.com>
2018-08-22 21:25:55 +01:00
Peter Powell
c5c5a867d2
Fix aliases that resolve to messages echoing with echo-message.
...
Fixes #1459 .
2018-08-15 08:58:06 +01:00
Peter Powell
a69f543be3
Fix a bunch more conflicting/unnamed numerics.
2018-08-14 19:31:26 +01:00
Peter Powell
f7a115884f
Rename OnChangeLocalUserHost to OnPreChangeHost for consistency.
2018-08-14 00:22:59 +01:00
Peter Powell
10b17a0e9f
Remove the OnInfo event.
...
This is not used by anything and On{Post,Pre}Command hooks can
be used if people really want to add stuff to INFO.
2018-08-14 00:18:13 +01:00
Peter Powell
584d456903
Add support for the IRCv3 batch specification.
...
Co-authored-by: Attila Molnar <attilamolnar@hush.com>
2018-08-13 22:01:42 +01:00
Peter Powell
2249524355
Add support for the IRCv3 server-time specification.
...
Co-authored-by: Attila Molnar <attilamolnar@hush.com>
2018-08-13 22:01: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
e2a820cce2
Add an accessor for the last mode change list to ModeParser.
...
GetLastParse will be going away soon.
2018-08-13 16:52:37 +01:00
Peter Powell
ba23c2b115
Convert AWAY to use cross-module events and clean up slightly.
...
OnSetAway has been replaced with four events. OnUserPreAway and
OnUserPreBack can be used to deny an away state change and/or
change the away message of a local user. OnUserAway and OnUserBack
allow modules to be notified that a user's away state has changed.
2018-08-12 15:01:45 +01:00
Peter Powell
f8a9b6ba4a
Pass the Extensible container to ExtensionItem::free().
2018-08-12 13:29:09 +01:00
Peter Powell
02838a0939
Move message parsing to ProcessBuffer and fix edge cases in it.
2018-08-10 20:04:56 +01:00
Peter Powell
8b418f081f
Split irc::tokenparser::GetToken into GetMiddle and GetTrailing.
...
This simplifies the logic of irc::tokenparser considerably and
removes all of the magic index guessing that was used previously.
2018-08-10 13:55:32 +01:00
Peter Powell
aa6912f1c9
Remove the integer overloads of irc::tokenparser::GetToken().
...
The int overload was never used and the long overload was used in
one place.
2018-08-10 13:55:32 +01:00
Peter Powell
213e4d9680
Remove the original line parameter of On{Pre,Post}Command.
...
In the brave new world of message tags and alternate wire formats
this is no longer something that is appropriate to expose.
In reality it was only ever used by m_alias which now reconstitutes
the command name and parameters into a RFC 1459-style message for
whatever it needs to do.
2018-08-10 13:55:32 +01:00
Peter Powell
d9a52277df
Remove support for static modules.
...
This has been frequently broken in the past and as far as I know is
used by literally nobody.
Also, even if all modules are compiled into the core any libraries
linked against are and have always been linked dynamically making
this unusable on platforms without dynamic libraries.
2018-07-31 03:20:18 +01:00
Peter Powell
abbf70b2a3
Rename User::fullname to realname and make it private.
2018-07-30 18:50:34 +01:00