1
0
mirror of https://github.com/unrealircd/unrealircd.git synced 2026-07-06 15:13:12 +02:00
Commit Graph

1750 Commits

Author SHA1 Message Date
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 4f632125fb JSON-RPC: add log.list call to fetch old(er) log entries from memory. 2023-05-05 12:18:13 +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 95074410a5 Set version to 6.1.1-git
[skip ci]
2023-05-05 09:50:48 +02:00
Bram Matthys 1317784de1 ** UnrealIRCd 6.1.0 ** 2023-05-05 07:32:22 +02:00
Bram Matthys f467c031c1 Fix memory leak when an outgoing TLS_connect() fails.
Reported by immibis in https://bugs.unrealircd.org/view.php?id=6263
2023-04-22 14:41:10 +02:00
Bram Matthys 2922a8ae5a Fix crash if there is a parse error in an included file and there are
other remote included files still being downloaded.
This issue exists both with and without cURL, so in both url interfaces.

Was finally able to reproduce this on my own machine. This bug exists
since at least 6.0.0 and perhaps even before that. Just doesn't get
triggered that often due to needing an error and a certain timing
condition (well, and ASan catches it, but on some systems it may
go unnoticed).
2023-04-22 14:08:29 +02:00
Bram Matthys 50e5cb7cbe Bleh, fix a warning... 2023-04-15 14:52:06 +02:00
Bram Matthys 2b1fad89be ** UnrealIRCd 6.1.0-rc2 ** 2023-04-15 14:08:47 +02:00
Bram Matthys 4b448f2aaa New option listen::spoof-ip, only valid when using UNIX domain sockets
(so listen::file). This way you can override the IP address that users come
online with when they use the socket (default was and still is `127.0.0.1`).

Add a new guide https://www.unrealircd.org/docs/Running_Tor_hidden_service_with_UnrealIRCd
which uses the new listen::spoof-ip and optionally requires a services account.
2023-04-15 10:37:30 +02:00
Bram Matthys eca416fdc6 Update release notes a bit
[skip ci]
2023-04-15 10:13:12 +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 e2320cb506 Update release notes a bit
[skip ci]
2023-04-15 08:31:06 +02:00
Bram Matthys 8aa004271f Ban exempt 127.0.0.1 instead of whole 127.*
* We now only exempt `127.0.0.1` and `::1` by default (hardcoded in the source).
  Previously we exempted whole `127.*` but that gets in the way if you want
  to allow Tor with a
  [require authentication](https://www.unrealircd.org/docs/Require_authentication_block)
  block or soft-ban. Now you can just tell Tor to bind to `127.0.0.2`
  so its not affected by the default exemption.

Reported on IRC and by PeGaSuS in
https://bugs.unrealircd.org/view.php?id=6258
2023-04-14 07:34:53 +02:00
Bram Matthys 57c90496e8 JSON-RPC: add rpc.add_timer and rpc.del_timer so you can run a command
every <xyz> msec (minimum: 250).
Can be useful to schedule an rpc.stats call every 1000msec for instance.
Of course timers are destroyed if the client exits.

https://www.unrealircd.org/docs/JSON-RPC:Rpc#rpc.add_timer and
https://www.unrealircd.org/docs/JSON-RPC:Rpc#rpc.del_timer
2023-04-12 10:22:33 +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 4945ac9f7e Minor update of release notes
[skip ci]
2023-04-07 16:12:47 +02:00
Bram Matthys ec7077f4a1 ** UnrealIRCd 6.1.0-rc1 ** 2023-04-07 14:54:43 +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 a19b2aebf6 New cmode.flood_type_action which can be used to indicate a channel mode
can be used from +f/+F as an action. You need to specify for which
flood type your mode is, eg `cmode.flood_type_action = 'j';` for joinflood.

Currently a mode can only choose one flood type action due to +f/+F
timer fights that could otherwise occur, but that shouldn't be too
much of an issue since we can live with that in core as well.
2023-04-02 18:14:45 +02:00
Bram Matthys 4a5b8b3639 +F: the no-flood-limit profile is called "off" now (was: "none") 2023-04-02 11:06:14 +02:00
Bram Matthys fa4d86009c Move set::modef-boot-delay to set::anti-flood::channel::boot-delay
and the new set::modef-split-delay to set::anti-flood::channel::split-delay.
See https://www.unrealircd.org/docs/Channel_anti-flood_settings#config
2023-04-02 10:25:25 +02:00
Bram Matthys b914997a1c Update cmode.free_param definition to fix memleak due to yesterdays commit.
And update release notes technical note so it actually refers to the
correct channel mode function :D
2023-04-02 08:24:00 +02:00
Bram Matthys 8ea50d38a3 Change a character and force rebuild 2023-04-01 18:55:08 +02:00
Bram Matthys b093ba5375 Set version to 6.1.0-git. 2023-04-01 17:32:34 +02:00
Bram Matthys 8f1dc52c20 Mention that cmode.put_param has an API change
[skip ci]
2023-04-01 17:04:43 +02:00
Bram Matthys 7b7d436bba Add support for set::anti-flood::channel::default-profile
https://www.unrealircd.org/docs/Channel_anti-flood_settings#Default_profile
2023-04-01 17:01:59 +02:00
Bram Matthys 2f7bb2e72d Some reformatting of release notes
[skip ci]
2023-04-01 13:37:50 +02:00
Bram Matthys 22691a458b Don't count forced nick changes in floodtype 'n' in chanmode +f/+F.
These were already not counted for set::anti-flood::xx::nick-flood
and it makes sense.
Benefit of this is that limits for floodtype 'n' can be set tighter,
as now it is really only about manual (voluntarily) nick changes.
2023-04-01 13:26:34 +02:00
Bram Matthys e4cdc4c0dd Update release notes a bit on JSON request logging and unrealircd.org/issued-by
[skip ci]
2023-04-01 13:20:24 +02:00
Bram Matthys 275cb97cfc For JSON-RPC with UNIX Domain sockets, split on \n (newline).
This so multiple parallel requests can be handled properly.

JSON-RPC over websockets is unchanged, as every JSON-RPC
requests goes into its own websocket frame there (easy).
2023-04-01 12:25:16 +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 9ab876133d Add wildcard support to blacklist-module.
This also removes the following warning as a side-effect:
"blacklist-module for '%s' but module does not exist anyway".
2023-03-30 17:42:39 +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 553d826ab3 Update release notes
[skip ci]
2023-03-30 17:23:55 +02:00
Bram Matthys 53aedf2b3f Update release notes
[skip ci]
2023-03-27 13:23:23 +02:00
Bram Matthys 98868dbbe9 Some leftover changes for release notes
[skip ci]
2023-03-27 09:15:00 +02:00
Bram Matthys 5d25888c71 Update release notes
[skip ci]
2023-03-26 19:49:49 +02:00
Bram Matthys 5c84728a32 Update release notes
[skip ci]
2023-03-26 19:44:46 +02:00
Bram Matthys c9fddc51f9 Add channel mode +F <flood-profile> 2023-03-25 19:00:48 +01:00
Bram Matthys b9be185f0a Make channel mode +f ban "unknown-users" first on a join flood,
if the join flood is caused by >75% of "unknown-users". This
to see if that will take care of the flood without harming
the "known-users" group. And naturally, do something similar
for message floods and nick floods.

If the flood persists, because they are caused by known-users,
then the +i/+m/etc actions are still taken.

This is work in progress, and some things are set to useful-
for-testing values, such as an unsettime of 1 minute.
2023-03-25 13:31:55 +01:00
Bram Matthys 24622144b1 Bump version to 6.0.8-git
[skip ci]
2023-03-25 09:19:41 +01:00
Bram Matthys da3c1c6544 ** UnrealIRCd 6.0.7 ** 2023-03-24 13:26:29 +01:00
Bram Matthys c4059a4b13 Update release notes
[skip ci]
2023-03-24 08:56:46 +01:00
Bram Matthys 2a719df7f0 Update release notes; mention windows libs
[skip ci]
2023-03-22 14:43:43 +01:00
Bram Matthys 9a171f2c79 Update release notes
[skip ci]
2023-03-22 10:59:22 +01:00
Bram Matthys 1274e3d142 Update release notes
[skip ci]
2023-03-22 09:48:43 +01:00