13827 Commits

Author SHA1 Message Date
Peter Powell
14e1d1f844 Replace the geoip module with geo_maxmind, geoban, and geoclass.
MaxMind have EOL'd the library that the geoip module uses and have
replaced it with libmaxminddb.

The geoip module has been split into geo_maxmind which provides
geolocation data, geoban which provides location-based channel
bans, and geoclass which is used to filter a user into a connect
class based on location.
2019-04-15 19:08:22 +01:00
Peter Powell
7c8e2990a1 Bump the API revision for the previous commit. 2019-04-15 12:24:13 +01:00
Peter Powell
c2c4de7267 Fix linking servers with UNIX sockets.
- Remove the address/port overloads of BeginConnect.
- Change DoConnect to take a sockaddrs instead of an address/port.
2019-04-15 12:21:12 +01:00
Peter Powell
e7b65ef535 commonchans: HandleMessage should not be marked as override. 2019-04-13 01:29:47 +01:00
Peter Powell
9128032b26 General code cleanup for the commonchans module.
- Restructure the code to be more readable.
- Add support for tag messages.
2019-04-04 17:22:28 +01:00
Peter Powell
cbb6b376c7 Use a consistent naming scheme for operator privileges.
- users/callerid-override is now users/ignore-callerid.
- users/privdeaf-override is now users/ignore-privdeaf.
2019-04-04 15:11:24 +01:00
Peter Powell
b00451a85c Fix various typos. 2019-04-04 14:36:45 +01:00
Peter Powell
656ce184b9 Bump the API revision for the previous commit. 2019-04-04 12:27:56 +01:00
Peter Powell
be0c809590 Document OnUserInit properly and add OnUserPostInit. 2019-04-04 12:27:56 +01:00
Peter Powell
9ea8ecfaf3 Use SQUERY instead of PRIVMSG in alias/passforward config. 2019-04-04 12:27:56 +01:00
Matt Schatz
66ecf04088 Merge extras/m_privdeaf into m_deaf and update documentation.
- Merge the 2.0 extras module m_privdeaf (usermode +D for deaf to
user messages and notices) as they have a similar purpose.
- Improve the channel deaf logic where a known case of bypassing
still looped the channel userlist building an empty exemption list.
- Improve the comments within the code.
- Update the documentation with the previously undocumented
configuration to deaf and the new privdeaf configuration.
2019-04-03 13:29:22 +01:00
Robby
15b93b6c20 m_commonchans: Replace IsOper() with HasPrivPermission() instead. 2019-04-02 10:39:18 +01:00
Peter Powell
bdded70ac2 Rename OnClientProtocolPopulateTags to OnPopulateTags. 2019-03-30 11:53:51 +00:00
Peter Powell
180b8b6ab1 Mark messages with inspircd.org/bot if the user has +B set. 2019-03-30 11:52:36 +00:00
Peter Powell
0b66cad1b0 m_permchannels: validate channel names properly. 2019-03-25 13:25:01 +00:00
Robby
94ce90c588 Add the User and Group options to the systemd service unit template file. 2019-03-24 14:47:48 +00:00
Peter Powell
9b732cb49d Strip message tags correctly in the 1202 spanningtree compat layer. 2019-03-20 18:25:17 +00:00
Peter Powell
1645bbc231 Fix the link to the http_parser vendor page. 2019-03-14 11:36:24 +00:00
Robby
ac0d5abaac Update most URLs to use HTTPS and fix some dead links. 2019-03-14 11:02:24 +00:00
Peter Powell
62ba7c3917 Generate the ssl_cert metadata before bursting a connecting user. 2019-03-14 10:52:13 +00:00
Matt Schatz
b518f45d72 Check perms for removal of oper-only channel modes.
Oper-only channel modes are currently unsettable by any channel
op, oper or not. Correct this by checking both directions of an
oper-only channel mode and continue only checking the setting of
an oper-only user mode. As anyone should be able to unset their
own user modes and UnOper() removes all oper-only user modes
automatically.
2019-03-14 10:06:28 +00:00
Matt Schatz
5f2ecf0013 Add oper privs to allow overriding noctcp. 2019-03-14 00:55:18 +00:00
Matt Schatz
d57cad7896 Fix incorrect ModResult for noctcp user target. 2019-03-14 00:55:18 +00:00
linuxdaemon
f808b2db75 Add SSL flag to WHO response 2019-03-12 18:36:23 +00:00
linuxdaemon
1003c593bf Rename GetFlagIndex -> GetFieldIndex 2019-03-12 17:14:53 +00:00
linuxdaemon
c02b30b96e Move field lookup logic out of WhoData constructor 2019-03-12 17:14:53 +00:00
linuxdaemon
dfb1e0da78 Add Who::Request::GetFlagIndex to get field index
Replaces the dirty logic in m_hideoper and m_namesx
2019-03-12 17:14:53 +00:00
Matt Schatz
f87b72b76f Fix BanCache entries existing after X-line expiry.
When DefaultApply() adds a hit to the BanCache it uses the X-line
duration to set a duration on the entry. This can result in an
entry lasting longer than the X-line itself. Fix this by setting
the entry duration to the time left on the X-line.
2019-03-10 10:27:12 +00:00
Peter Powell
42c7f479b2 m_httpd: GCC is __GNUC__ not _GNUC. 2019-03-09 09:54:48 +00:00
Peter Powell
f97c88f6f6 m_httpd: use http_response_str() instead of Response().
Lets not reinvent the wheel pointlessly.
2019-03-08 10:50:53 +00:00
Peter Powell
83d2331a03 Fix an "unknown pragma" warning on Windows. 2019-03-08 10:50:08 +00:00
Robby
4be144252b Add missing '>' to an example connect tag. 2019-03-07 10:48:54 +00:00
Peter Powell
3a68e05d9a Reject client-to-client tags with no name. 2019-03-02 11:32:02 +00:00
Matt Schatz
9b25df3109 Improve the handling of config X-lines and filters. (#1583) 2019-02-22 13:44:57 +00:00
Peter Powell
fa83fac94a Split reading module initialisation and configuration reading.
This allows modules to register services that other modules may
require to be available when reading the configuration.
2019-02-20 17:34:11 +00:00
linuxdaemon
20ef7d19f7 Fix not showing all modes on a channel
Whenever a mode has a parameter, no modes past that mode will be shown
in RPL_CHANNELMODEIS.

References to items in a vector break when the vector's size is changed.
2019-02-20 08:38:35 +00:00
Peter Powell
c495b5d9cf Implement support for IRCv3 client-to-client tags. 2019-02-19 22:53:15 +00:00
Peter Powell
74136695f8 Fix erasing event subscribers erasing all with the same priority. 2019-02-19 20:59:04 +00:00
Peter Powell
f06502606e Allow customising ElementComp in flat_{map,multimap,multiset,set}. 2019-02-19 20:58:53 +00:00
Robby
7d84771f49 Minor text fixes for m_filter. 2019-02-19 20:51:54 +00:00
Matt Schatz
d2ed9f842f Improve the messages in m_filter.
* Deduplicate "FILTER" in some SNOTICES.
* Add the filter reason to removals to match
with X-line removals now.
* Use the new DurationString() function for a
standardized duration display when adding.
* Add X-line mask, duration, and expiry date to
the action messages.
2019-02-19 11:31:06 +00:00
Peter Powell
318d50bc86 Improve support for wildcards in <link:name>.
Closes #1569.
2019-02-18 16:17:23 +00:00
Peter Powell
8bc996bcc1 Fix MatchCIDR matching UNIX socket hostnames. 2019-02-18 15:48:26 +00:00
Matt Schatz
755a32c751 Start using DurationString() in X-line additions and
a few other modules where it fits better than just showing seconds.
2019-02-18 09:17:38 +00:00
Matt Schatz
ff7bebe90c X-line expiries: use the new DurationString() function. 2019-02-18 09:17:38 +00:00
Matt Schatz
e02c22ff16 Add a function for displaying human-readable durations.
Add InspIRCd::DurationString() to take a time_t and return a string
with the duration in a human-readable format (ex: 1y20w2d3h5m9s).
2019-02-18 09:17:38 +00:00
Robby
21e7efdadf Various text improvements: consistency, syntax, help and doc updates/fixes. 2019-02-18 09:15:56 +00:00
Peter Powell
35bbf9bb01 Fix an off-by-one error in User::GetModeLetters(). 2019-02-17 10:23:19 +00:00
Peter Powell
b6e548d8df ircv3_chghost: also send the CHGHOST message to the modified user. 2019-02-16 15:24:55 +00:00
Peter Powell
6daf442c77 Use the local hostname as the server name if one is not specified. 2019-02-16 14:25:29 +00:00