2872 Commits

Author SHA1 Message Date
Peter Powell
329cb42190 Bump the API revision for the previous commits. 2019-04-19 13:47:36 +01:00
Peter Powell
15bb93a4ea Remove the OnNamesListItem event out of the core. 2019-04-19 11:51:42 +01:00
Peter Powell
2cd6efcc64 Rename HasPermission to HasCommandPermission. 2019-04-19 10:05:06 +01:00
Peter Powell
21f0718c4a Remove the 'noisy' mode for HasPrivPermission.
This was only used in one place.
2019-04-19 00:39:57 +01:00
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
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
bdded70ac2 Rename OnClientProtocolPopulateTags to OnPopulateTags. 2019-03-30 11:53:51 +00:00
linuxdaemon
1003c593bf Rename GetFlagIndex -> GetFieldIndex 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
9b25df3109 Improve the handling of config X-lines and filters. (#1583) 2019-02-22 13:44:57 +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
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
a7fc2fe0dc Replace GetServerPort() with server_sa.port(). 2019-02-15 11:35:25 +00:00
Peter Powell
168ee80490 Rename User::nping to nextping for consistency with lastping. 2019-02-15 11:35:25 +00:00
Peter Powell
f5b2265c2e Refactor UserManager::DoBackgroundUserStuff(). 2019-02-15 11:35:24 +00:00
Peter Powell
ebb3258ff4 WriteNeighborsWithCap: add the ability to send to the origin user. 2019-02-14 14:40:12 +00:00
Peter Powell
499121036c Add irc::sockets::untosa() for creating AF_UNIX sockaddrs.
Also fix an overly long albeit harmless memcpy when creating UNIX
socket listeners. Thanks to @psychon for reporting this.
2019-02-07 15:38:44 +00:00
Peter Powell
785f3a2866 Document OnUserWrite. 2019-02-07 11:56:53 +00:00
linuxdaemon
d4a1ea7045 Expand searching in m_httpd_stats, add global handling of GET parameters (#1566) 2019-02-06 10:33:06 +00:00
Peter Powell
a638de7715 Release v3.0.0 release candidate 2. 2019-02-06 10:02:31 +00:00
Peter Powell
bf046f87c8 Delete the old broken test suite.
This doesn't work properly and is disabled in both debug & release
builds. It will be resurrected with a proper unit testing framework
in the future.
2019-02-05 17:11:54 +00:00
Peter Powell
8d87fa3837 DLLManager: add a function for retrieving a symbol. 2019-02-04 23:37:54 +00:00
linuxdaemon
2ee2e8b60d Allow multiple fingerprints in an oper block (#1564) 2019-02-01 09:47:20 +00:00
B00mX0r
e844a2cef9 Fix a minor typo in ssl.h 2019-02-01 09:43:32 +00:00
Peter Powell
18678c6a22 Add ParamMode::IsParameterSecret and remove special casing of keys. 2019-01-28 17:26:15 +00:00
Peter Powell
874ce50b8d Add overloads for ConvToNum to prevent (unsigned) char weirdness. 2019-01-28 11:08:19 +00:00
Peter Powell
961109ae4f Remove trailing whitespace from various source files. 2019-01-24 22:18:22 +00:00
Peter Powell
dba2cddc46 Fix overriding <options:exemptchanops> with the exemptchanops mode.
Closes #1558.
2019-01-24 18:03:12 +00:00
Peter Powell
3b39a88fdf Fix a minor Doxygen warning. 2019-01-24 17:15:13 +00:00
Matt Schatz
d5b50d9ed1 Add the reason to xline removal notices. (#1545)
Show the reason in manual xline removal SNOTICEs, just like
expiry SNOTICEs do.

This modifies XLineManager::DelLine() to require another string
reference passed to it.

Requested by @Robby-.
2019-01-24 16:01:56 +00:00
Peter Powell
4047a143fc Move the <disabled> tag out of the core to a new module. 2019-01-24 15:10:02 +00:00
Peter Powell
cbef0241a0 Implement support for the extended tag space for client tags. 2019-01-24 14:28:21 +00:00
Peter Powell
965c81baee Rename OnClientProtocolProcessTag to OnProcessTag. 2019-01-22 12:09:28 +00:00
linuxdaemon
f400d5f394 Redo OnSetEndPoint logic to fix duplicate clones (#1549). 2019-01-14 11:48:45 +00:00
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