1
0
mirror of https://github.com/unrealircd/unrealircd.git synced 2026-07-08 18:33:13 +02:00
Commit Graph

348 Commits

Author SHA1 Message Date
Bram Matthys 08cb0fc05d Move crule to a module, so we can hot-patch if needed in the future.
This is a mandatory module to load, and included in modules.default.conf.

This also meant that the crule_test() etc efunctions are available
before running config test routines, so we now have a flag for
early efuncs. I guess we could consider doing that for all efuncs
though, so not sure if this flag is really needed.
2023-07-16 10:33:25 +02:00
Bram Matthys b3995f48ff Mention password hashing in the example.conf itself.
Suggested by rafaelgrether in https://bugs.unrealircd.org/view.php?id=6303
2023-07-15 09:04:07 +02:00
Bram Matthys def77c4d52 Initial work on spamreport { } block. Not really useful yet.
Early commit before i make it actually work and implement the rest
and hunting for memory leaks etc...
2023-07-08 15:35:08 +02:00
Bram Matthys 280a1ddb1d Update this file too :D
[skip ci]
2023-06-17 18:09:38 +02:00
Bram Matthys 4c2bb2ff21 ** UnrealIRCd 6.1.1.1 ** 2023-06-16 18:06:44 +02:00
Bram Matthys 6e2569a9b7 ** UnrealIRCd 6.1.1 ** 2023-06-14 08:53:07 +02:00
Bram Matthys f1a5e30e8a ** UnrealIRCd 6.1.1-rc1 ** 2023-05-31 08:16:57 +02:00
Bram Matthys e575d0ea05 Update modules.default.conf with more examples of what can go wrong
if you decide to go with your own modules.custom.conf, and why
blacklist-module is a safer approach.
[skip ci]
2023-05-22 08:02:30 +02:00
Bram Matthys 58228e28b3 Prevent people from using an old modules.default.conf.
That file has such a clear warning in it but still people
manage to load old ones. That being said, usually it is not
deliberate, like an cp ../unrealircd.old/conf/* conf/
2023-05-22 07:52:06 +02:00
Bram Matthys 82dbc4a297 Add except ban { } for IRCCloud for maxperip & connect-flood.
In both the release notes to illustrate and in example*.conf
because this is generally a good idea.
2023-05-18 12:01:29 +02:00
Bram Matthys 2a70a35f13 Propagate blacklist hit message globally. For snomask 'B',
but also for remote logging and JSON-RPC logging purposes.
[skip ci]
2023-05-05 16:25:29 +02:00
Bram Matthys 45342c2d33 Don't log join/part/kick by default if memory log is on via
conf/rpc.modules.default.conf. This because:
1) It matches the default in example.conf for ircd.log
2) It is a more privacy-friendly setting
3) The log entries are spammy / fill the memory log buffer quickly
2023-05-05 14:53:29 +02:00
Bram Matthys d48ccb1ec8 When rpc.modules.default.conf is loaded, remember last 1000 lines of log
entries for a maximum of 7 days, in memory.
[skip ci]
2023-05-05 12:16:54 +02:00
Bram Matthys 7ad160f57a JSON-RPC: WHOWAS fetching is now whowas.get, also expose not only
logon_time/logoff_time but also connected_since.

This also fixes the Makefile for the Windows build (i hope)
2023-04-15 09:24:57 +02:00
Bram Matthys 197fd0ca51 Update help.conf on +F and integrate +f/+F CHMODEF helpop docu.
Mentioned by Valware in https://github.com/unrealircd/unrealircd/pull/248
2023-04-09 16:08:33 +02:00
Valerie Pond 78e10e0128 /helpop chmodes: Show channelmode +d (#249)
[skip ci]
2023-04-09 13:53:53 +00:00
Bram Matthys 7c22f37a9f JSON-RPC: add log.subscribe and log.unsubscribe
https://www.unrealircd.org/docs/JSON-RPC:Log
2023-04-08 17:56:59 +02:00
Bram Matthys 254afbb9c6 Make set::hide-ban-reason not affect opers (eg. show full gline reason).
Suggested by Chris_dc in https://bugs.unrealircd.org/view.php?id=6252

This uses unrealircd.org/real-quit-reason internally, but is only
exposed to servers, never to users. It results in using that quit
reason for IRCOps, while using the regular quit reason for normal users.
2023-04-05 07:26:12 +02:00
Bram Matthys b07c739fa7 Add new +e ~flood:<floodtype(s)>:<mask> to exempt from +f/+F checks.
For example: +e ~flood:*:~account:TrustedBot

Suggested by PeGaSuS in https://bugs.unrealircd.org/view.php?id=6204

Will refine the checking and perhaps sorting of floodtype(s) later...
2023-04-02 19:23:26 +02:00
Bram Matthys 5871bd9463 Initial work on unrealircd.org/issued-by message tag.
This will communicate the original issuer of a command.
For example an "SAMODE #test +s" results in a SAMODE coming from
:maintest.test.net MODE ....etc....
And with this feature, we will communicate the IRCOp who did it:
@unrealircd.org/issued-by=OPER:Syzop..etc....
This tag is only sent to servers and to IRCOps, not to ordinary users.

The plan is to support the following variants:
Services: unrealircd.org/issued-by=SERVICES:NickServ@services.test.net
IRCOp:    unrealircd.org/issued-by=OPER:Syzop@maintest.test.net:Operblock_name
JSON-RPC: unrealircd.org/issued-by=RPC:adminpanel@irc1.test.net:Adminpanel_Actual_User

This first commit only adds SERVICES and OPER in the handlers of the
SVSNICK and SAMODE commands. The JSON-RPC variant and all of the other
commands have not been done yet.
2023-03-31 12:17:54 +02:00
Bram Matthys b099033c1b Load RPC modules by default but don't enable webserver or RPC sockets.
See release notes:
+* The RPC modules are enabled by default now. This so remote RPC works
+  from other IRC servers for calls like `modules.list`. The default
+  configuration does not enable the webserver nor does it cause
+  listening on any socket for RPC, for that you need to follow the
+  [JSON-RPC](https://www.unrealircd.org/docs/JSON-RPC) instructions.

[skip ci]
2023-03-30 17:35:11 +02:00
Bram Matthys f24b708562 Update curl-ca-bundle to version of 10-jan-2023
from https://curl.se/ca/cacert.pem
2023-03-22 09:44:12 +01:00
Bram Matthys 45757da12e Add CAP standard-replies, and send ACCOUNT_REQUIRED_TO_CONNECT when
a user is soft-banned, from authprompt anyway.
2023-03-17 14:20:02 +01:00
Bram Matthys e4571a5bf7 Make the documentation of ulines { } in example.conf more explicit
about ulines for services needing to be added on every UnrealIRCd
server in a network.
[skip ci]
2023-02-08 18:07:28 +01:00
Bram Matthys b80d89dbb2 Update main docs link in example.*conf. Reported by DeviL.
[skip ci]
2023-02-08 17:56:14 +01:00
Bram Matthys 61970d12b2 Load 'sreply' module by default, fix a compile issue casused by myself
and some minor subjective style changes.
2023-02-08 09:57:20 +01:00
Bram Matthys 462ce7fcfa JSON-RPC: add stats.get call which can be used in "Network Overview" in
UnrealIRCd Admin panel and for other statistical purposes.
This can be expanded when needed.
2023-01-14 18:48:18 +01:00
Bram Matthys a5bdf317fb JSON-RPC: begin with a server.* API, also fill client->local->rpc for
RPC clients with the RPC user and such.

Most of this work is for server.rehash which causes the request to
be saved, then a rehash begins, and a few seconds later (or whenever)
the entire rehash log and success/failure is indicated in the
JSON-RPC response.

TODO: all documentation for this
2023-01-11 15:43:50 +01:00
Bram Matthys ed8a3f0336 JSON-RPC add server_ban_exception.* API calls
Docs: https://www.unrealircd.org/docs/JSON-RPC:Server_ban_exception
2023-01-08 15:35:08 +01:00
Bram Matthys c95e3f249e JSON-RPC: add name_ban.list, name_ban.get, name_ban.add, name_ban.del 2023-01-08 09:56:41 +01:00
Bram Matthys 8ca6341f38 When someone includes "rpc.modules.default.conf" create a *NIX
socket listening in data/rpc.socket, because why not... only the
ircd user has access to it by default (well, and root).

Don't add the external listener HTTP(S) port by default though,
because not everyone may want that exposed to the outside world.

The default creation of data/rpc.socket can be prevented by a
@define $NO_DEFAULT_RPC_SOCKET "1"
2023-01-03 19:34:04 +01:00
Bram Matthys dca5680665 Add snomask 'R' for RPC usage (JSON-RPC). 2023-01-03 17:44:29 +01:00
Bram Matthys 3f197dee36 Fix several mistakes in example conf (all my bad, i think):
* A fatal parse error due to a } too much in Turkish example conf
* In all example*.conf except::connect-delay -> except::connect-time
2022-12-29 19:45:37 +01:00
ZarTek @ CREOLE b53f23416d Unrealircd to UnrealIRCd 2022-12-14 15:24:19 +00:00
ZarTek @ CREOLE 67ec21f4e9 unreal to unrealircd 2022-12-14 15:24:19 +00:00
ZarTek @ CREOLE 4e408d59de ./unreal to ./unrealircd 2022-12-14 14:58:11 +00:00
PeGaSuS 9f8dc9be40 Update help.conf
Adjust some examples to use the 'named' extended bans from UnrealIRCd 6
2022-12-14 14:56:33 +00:00
Bram Matthys bb0a50d839 ** UnrealIRCd 6.0.5-rc1 ** 2022-12-07 08:53:44 +01:00
Ron Nazarov 4999ae408c Add TLINE command
Suggested by PeGaSuS in https://bugs.unrealircd.org/view.php?id=6174
2022-11-18 08:53:36 +00:00
Valerie Pond 1a4b701776 SVSLOGIN: Move to its own file
Moved SVSLOGIN command to its own file.
2022-11-14 07:43:43 +00:00
Bram Matthys 02285f468d Update Turkish example conf & help conf
Provided by Diablo - (Serkan Sepetçi)
2022-10-21 13:42:24 +02:00
Bram Matthys 7267d81278 RPC: add spamfilter.list and spamfilter.add calls. 2022-08-02 09:28:09 +02:00
Bram Matthys 1d701cb7d4 Remove old "TODO" item in conf file.
[skip ci]
2022-06-25 09:52:15 +02:00
Bram Matthys 3d9b7e4b70 RPC: remove tkl, split this up.. starting with server_ban.
Currently available:
* server_ban.list
* server_ban.get with params: name="*@1.2.3.4", type="kline"

This also adds server_ban_parse_mask() which is now used by both GLINE/etc
and the RPC API to parse the same way and convey the same error messages.
2022-06-24 18:53:10 +02:00
Bram Matthys 6596741638 Add rpc.modules.default.conf, loads all required modules for JSON-RPC. 2022-06-24 13:44:41 +02:00
Bram Matthys 853f0685ed Split off big chunk of websocket module into websocket_common module.
And load the websocket_common module by default (which is just an API).
2022-06-19 13:13:33 +00:00
Bram Matthys 60c83b4ba1 Move connect-flood and max-unknown-connections-per-ip into their own module.
These deal with set::anti-flood::everyone::connect-flood and
set::max-unknown-connections-per-ip respectively.

This adds a new hook HOOKTYPE_ACCEPT, that is mostly meant for internal
usage by UnrealIRCd. Most module coders will want to use the existing
hook HOOKTYPE_HANDSHAKE instead.

This also gets of check_banned() which is now spread over the individual
modules (eg: checking banned is done in tkl on HOOKTYPE_ACCEPT and
HOOKTYPE_IP_CHANGE).
2022-06-19 13:13:33 +00:00
Bram Matthys 2397fb8a49 Split 'websocket' module up in 'webserver' and 'websocket' 2022-06-19 13:13:33 +00:00
alice 4b72f375f8 Update help.conf to include ~security-group extban (#220) 2022-06-17 15:06:01 +00:00
Bram Matthys 6ef1a6a708 Update set::antirandom example in modules.optional.conf.
Use the new options in the new ::except block, fix broken English
and trim down the text a bit.
This also lowers the threshold from 7 to 6. It was already 5 in
the example block on the wiki, now the wiki and this are the same
again.
2022-05-30 12:59:44 +02:00