13670 Commits

Author SHA1 Message Date
Peter Powell
09c5439c02 Add a module which implements the HAProxy PROXY v2 protocol. 2018-07-26 12:35:22 +01:00
Peter Powell
97a1d6429a Make more config stuff case insensitive. 2018-07-24 21:55:10 +01:00
Peter Powell
7a24867d97 Fix building on Windows. 2018-07-24 11:05:51 +01:00
Peter Powell
ef48486b09 Rename IntModuleList to Module::List. 2018-07-24 10:02:27 +01:00
Peter Powell
2beb73aba7 Get rid of the unused string_list typedef. 2018-07-24 10:02:07 +01:00
Peter Powell
4df41508c1 Fix the Windows build system to use the new license file location. 2018-07-23 15:13:11 +01:00
Peter Powell
6522f7e3e7 Remove Log() calls made unnecessary by the previous commit. 2018-07-20 12:34:24 +01:00
Peter Powell
8faa6ac773 Log snotices with their description rather than just as "snomask". 2018-07-20 12:34:24 +01:00
Peter Powell
0438ae0aa4 Define HAS_ARC4RANDOM_BUF in config.h if available. 2018-07-20 12:30:40 +01:00
Peter Powell
ec6bdd1ae9 Use arc4random_buf() instead of random() when available. 2018-07-20 11:48:22 +01:00
Peter Powell
b7716ed577 Initial support for listening on UNIX socket endpoints. 2018-07-18 19:22:17 +01:00
Peter Powell
87e328a1fb Add the family() member to the sockaddrs union. 2018-07-18 19:21:45 +01:00
Peter Powell
8f5952d1e5 Release v3.0.0 alpha 8. v3.0.0a8 2018-07-15 16:42:48 +01:00
Peter Powell
124c17e141 Merge branch 'insp20' into master. 2018-07-15 16:42:36 +01:00
Peter Powell
d0dac3a275 Use mysql_real_escape_string instead of mysql_escape string.
This is not exploitable as far as I know but it is probably best
that we use the newer function just in case.

Closes #649 (although the attack mentioned in that issue was not
feasible).
2018-07-15 14:15:35 +01:00
Peter Powell
227484c6c0 Implement support for the WHOX extension.
This is a massive rewrite of core_who which was initially developed
by Adam in 2014. I have rebased and cleaned it up and tightened up
compliance with the specifications.

Co-authored-by: Adam <Adam@anope.org>
2018-07-12 14:37:56 +01:00
Peter Powell
a37c11101a Clean up the WHO helpop documentation. 2018-07-12 01:31:24 +01:00
Peter Powell
11e67c494a Fix replying with the source user in oper-restricted WHO lookups. 2018-07-11 12:10:18 +01:00
Peter Powell
49b9c6bcb9 Switch core_dns validation to use InspIRCd::IsHost. 2018-07-10 21:14:56 +01:00
Peter Powell
32eb5386ba Switch <server:name> validation to use InspIRCd::IsHost. 2018-07-10 21:14:56 +01:00
Peter Powell
87361360e6 Add InspIRCd::IsHost for checking the validity of hostnames. 2018-07-10 21:14:56 +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
39b51a7c11 Allow exempting of registered users from securelist. 2018-07-10 21:07:38 +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
Peter Powell
76c7e9db43 Update the readme so that it is actually useful. 2018-07-10 19:58:21 +01:00
Peter Powell
4f6286b65f Rename the license file so that people can find it easier. 2018-07-10 19:57:14 +01:00
Peter Powell
0864bc3e74 Fix the configure checks for eventfd(), <stdint.h>, and strlcpy().
Closes #1503.
2018-07-04 10:10:05 +01:00
B00mX0r
5585654df2 Use !empty() instead of 'size() > 0' when checking parameter count. 2018-07-03 16:09:35 +01:00
Peter Powell
197279b8c9 Always show Make commands for the user to execute in quotes.
Fixes #1189.
2018-06-26 16:38:34 +01:00
Peter Powell
765abf3a41 Allow relative paths to be passed in --config on boot.
Closes #1115.
2018-06-25 13:06:40 +01:00
Peter Powell
2241991dda Show the package name in the message when doing pkg-config lookups. 2018-06-24 23:24:46 +01:00
Peter Powell
584cbe8015 Clarify the documentation for m_httpd and m_httpd_{config,stats}.
Thanks to @SleepyEntropy for pointing out that multiple internet-
accessible servers do not have these modules correctly configured.
2018-06-18 03:35:58 +01:00
Peter Powell
3cd61d86de Fix invalid conversion from 'const char*' to 'char*' on FreeBSD. 2018-06-08 08:44:39 +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
2772c2fa2d Use the pwd tool that is in the path rather than /bin/pwd. 2018-05-01 19:47:08 +02:00
Peter Powell
506344a903 Improve support for MOTD escape codes.
- Implement escapes for italic, monospace, and strikethrough.
- Use the escape codes in the example MOTDs to demonstrate their
  formatting effects.
- Remove support for octal escape codes. In modern computing octal
  is rarely used and is confusing for users who might confuse it
  for decimal.
2018-04-22 23:38:13 +01:00
Peter Powell
6d1c1cb517 Always process MOTD formatting escape codes.
The options for disabling these were added to keep compatibility
with previous 2.0 releases and are not needed any more.
2018-04-22 23:30:41 +01:00
Peter Powell
35c8cde859 Fix some oversights relating to numerics.
- ERR_CANNOTSENDTOCHAN only takes the channel name and a message.
- ERR_INVALIDCAPCMD is 410 not 232.
2018-04-22 22:38:49 +01:00
Peter Powell
9ef3725b68 Release v3.0.0 alpha 7. v3.0.0a7 2018-04-22 15:18:28 +01:00
Peter Powell
48a400f2e0 Move a bunch of optional module numerics to the module source file. 2018-04-22 14:35:38 +01:00
Peter Powell
ba31d8080f Replace ERR_{NOCTCPALLOWED,WORDFILTERED} with ERR_CANNOTSENDTOCHAN.
There is no reason for these responses to have their own numerics
when other modules do not. The only thing this does is make life
harder for client developers.
2018-04-22 13:31:00 +01:00
Peter Powell
35b70631f0 Merge tag 'v2.0.26' into master. 2018-04-22 13:02:19 +01:00
Peter Powell
dd3b11b3aa Release v2.0.26 v2.0.26 2018-04-20 19:53:01 +01:00
Robby
46e71e2f50 Optionally do not notify users if their messages are blocked by certain modules (#1134).
Closes #711.
2018-04-20 15:28:28 +01:00
Peter Powell
49c35af6af Tell the rehasher if an exception is thrown by a module on rehash. 2018-04-17 18:36:50 +01:00
Peter Powell
4d3ab4c3a5 Rewrite m_denychans.
- The configuration is now validated on ReadConfig and parsed into
  objects.

- Allow redirecting to channels that don't yet exist. There is no
  technical reason to not allow this and I believe that it would
  be a lot less confusing to users if we allowed this.

- Flatten a bunch of nested if statements.
2018-04-17 18:36:50 +01:00
Peter Powell
eff72815b5 Convert some usages of ato[il] to use ConvToNum. 2018-04-17 18:36:50 +01:00
Peter Powell
11a9aaeaa7 Fix m_ircv3_sts not having the VF_VENDOR flag set. 2018-04-16 18:32:55 +01:00
Peter Powell
b86d7db056 Call OnUserMessageBlocked when a PRIVMSG or a NOTICE is blocked.
This is necessary to allow m_ircv3_echomessage to pretend that a
message was echoed successfully. This is useful as it doesn't let
spammers know that their message was blocked.
2018-04-16 17:02:42 +01:00
Peter Powell
9b8dc77585 Add range checking to ConfigTag::getFloat. 2018-04-16 15:29:58 +01:00