Bram Matthys
dec834c193
Fix for previous fix (unmasked packets)
2023-04-12 13:17:13 +02:00
Bram Matthys
68171b5582
Websocket: apparently PONG frames are sometimes unmasked, even though
...
RFC6455 clearly says:
Defines whether the "Payload data" is masked. If set to 1, a
masking key is present in masking-key, and this is used to unmask
the "Payload data" as per Section 5.3. All frames sent from
client to server have this bit set to 1.
But ok, we'll make an exception for PONG.
This caused the websocket connection to be dropped after a while from
the unrealircd-rpc-php library that uses textalk/websocket.
Probably a bug in textalk/websocket or one of its dependencies,
that should be reported...
2023-04-12 12:31:25 +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
9f569078ed
Fix bug where a REHASH would cause us to loose track of remote RPC's (RRPC).
...
Like REHASHing while a module.list is in progress.
This due to missing SavePersistentPointer() in MOD_UNLOAD
2023-04-12 09:08:18 +02:00
Bram Matthys
cd3b3ec15d
JSON-RPC: Change to previous, don't name it "top_countries" but "countries"
...
and sort descending so the country with the most users comes first.
(Using silly negative priority tricks, but you won't see that :D)
2023-04-12 08:25:32 +02:00
Bram Matthys
431d2b54c4
JSON-RPC: stats.get now returns "top_countries" (top geo country codes).
...
It also has an object_detail_level like some other calls.
The "top_countries" are included from object_detail_level 1 and above.
The default object_detail_level is actually 1, so it is included by
default. You can use object_detail_level if you don't want it.
Idea for this was from Valware.
https://www.unrealircd.org/docs/JSON-RPC:Stats#stats.get
will be updated in a minute...
2023-04-12 08:04:20 +02:00
Bram Matthys
bea1bb6b94
Add some more warnings/explanations if specifying a custom SSLDIR.
...
Reported and suggested by Le_Coyote in
https://bugs.unrealircd.org/view.php?id=5980
2023-04-10 19:12:48 +02:00
Bram Matthys
3538b944de
Fix missing client info from TLS handshake flood log message.
...
Reported by musk in https://bugs.unrealircd.org/view.php?id=6251
2023-04-10 18:51:19 +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
447ce57009
+F: fixes for if you change the default-profile or unset it,
...
so these changes are set for all channels without +F.
2023-04-07 15:20:05 +02:00
Bram Matthys
93d825abe5
+F: set default profile if asked to do so via REHASH
...
[skip ci]
2023-04-07 15:02:40 +02:00
Bram Matthys
ec7077f4a1
** UnrealIRCd 6.1.0-rc1 **
2023-04-07 14:54:43 +02:00
Bram Matthys
f9b986f3c7
Windows build: now that they are compiled, actually install the RPC modules too..
...
[skip ci]
2023-04-07 14:49:15 +02:00
Bram Matthys
a3efb70d31
Fixes for Windows build: add extbans/flood and all the RPC modules.
...
[skip ci]
2023-04-07 14:41:03 +02:00
Bram Matthys
290c5d4b72
Fix Windows makefile.
...
[skip ci]
2023-04-07 14:27:14 +02:00
Bram Matthys
854c5976d1
Chanmode +F: re-apply profiles on REHASH (in case anything changed)
...
TODO: ideally we would only do this if there was a change at all, but ah well.
2023-04-07 14:07:25 +02:00
Bram Matthys
3538ca9547
Fix bug in unrl_utf8_make_valid() where on invalid UTF8 it would use
...
the replacement character (good) but then stop processing the rest
of the string (bad).
This only happened if called with strict=0, which only happens in
the JSON and logging routines. So not in user-exposed stuff like
the websocket code.
2023-04-05 09:41:12 +02:00
Bram Matthys
4de91d49df
Forgot 'git add'
2023-04-05 08:07:18 +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
e8aef70f03
Fix crash on +f modes merging (SJOIN) due to the 6.1.0 +f/+F changes.
...
Reported by Valware.
2023-04-05 07:21:52 +02:00
Bram Matthys
c5a763de06
mask vs match in webirc
2023-04-04 19:37:07 +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
a9b71b58cb
Add RPC 'issuer' logging in CHGIDENT, CHGHOST, CHGNAME, SVSMODE
...
for user.set_username, user.set_vhost, user.set_realname,
user.set_mode. And some early work for other stuff that doesn't
work yet.
2023-04-02 16:18:34 +02:00
Bram Matthys
1e315bb953
Add and use command_issued_by_rpc() helper function for internal logging
...
of commands issued by JSON-RPC.
2023-04-02 16:04:17 +02:00
Bram Matthys
e67f5b6c39
Prepare all user.* with mtag_add_issued_by() for unrealircd.org/issued-by.
...
The code further up still needs to be changed, though.
2023-04-02 15:56:48 +02:00
Bram Matthys
d25d2a23be
Minor cleanup: use kick_user() from channel.kick call instead of
...
emulating an IRC command through do_cmd().
Function was added earlier in a8534a6063
2023-04-02 12:15:32 +02:00
Bram Matthys
9eac6797c6
Add unrealircd.org/issued-by for KICK from JSON-RPC
2023-04-02 12:12:16 +02:00
Bram Matthys
50c3ed2c24
Add unrealircd.org/issued-by if using RPC call channel.set_mode
...
This also changes the set_channel_mode() function to have
an extra arguments MessageTag *mtags (2nd parameter).
2023-04-02 12:06:52 +02:00
Bram Matthys
0b8f0deb05
SAPART: add unrealircd.org/issued-by, and add RPC-specific logging
2023-04-02 12:01:29 +02:00
Bram Matthys
6ee941fa4c
SAJOIN: add unrealircd.org/issued-by, and add RPC-specific logging
...
(some code will probably be moved to a helper function later)
2023-04-02 11:52:24 +02:00
Bram Matthys
f007933348
Document mtag_add_issued_by() and allow for some future case we don't use yet.
...
[skip ci]
2023-04-02 11:51:50 +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
cd3cf7e97c
Chanmode +F: Lower nick change limit in profiles, now that only real
...
nick changes are counted and not forced ones like SVSNICK.
2023-04-02 10:59:52 +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
22a632fb88
Fix memory leak in RPC module on server disconnect.
...
The "rrpc" moddata was not freed, which contained the list of RPC modules
on a remote server.
2023-04-02 08:36:10 +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
8776557b3d
JSON-RPC: make server.list use a default max detailed level, the
...
same one as server.get. This list is likely to be small, anyway.
This is how it was with <6.0.8. Reported by Lord255.
2023-04-01 18:17:42 +02:00
Bram Matthys
b093ba5375
Set version to 6.1.0-git.
2023-04-01 17:32:34 +02:00
Bram Matthys
ce75ddd167
Bump UNREAL_VERSION_TIME (been a while)
...
[skip ci]
2023-04-01 17:05:33 +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
a83cd474af
Change RPC logging format for rpc.RPC_CALL:
...
From: [rpc] Client RPC:adminpanel (Syzop): RPC call channel.set_mode: channel='#test', modes='+b', parameters='some!silly@ban'
To: [rpc] RPC call channel.set_mode by RPC:adminpanel (Syzop): channel='#test', modes='+b', parameters='some!silly@ban'
This so the most important information is shown first (generally a good principle :D)
2023-04-01 13:10:06 +02:00