The main objective of this release is to enhance the new JSON-RPC functionality. In 6.0.5 we made a start and in 6.0.6 it is expanded a lot, plus some important bugs were fixed in it. Thanks everyone who has been testing the functionality!
The new UnrealIRCd Administration Webpanel (which uses JSON-RPC) is very much usable now. It allows admins to view the users/channels/servers lists, view detailed information on users and channels, manage server bans and spamfilters, all from the browser.
Both the JSON-RPC API and the webpanel are work in progress. They will improve and expand with more features over time.
If you are already using UnrealIRCd 6.0.5 and you are NOT interested in JSON-RPC or the webpanel then there is NO reason to upgrade to 6.0.6.
As usual, on *NIX you can easily upgrade with ./unrealircd upgrade
Enhancements:
- The JSON-RPC API for UnrealIRCd has been expanded a lot. From 12 API methods to 42:
stats.get
,rpc.info
,user.part
,user.join
,user.quit
,user.kill
,user.set_oper
,user.set_snomask
,user.set_mode
,user.set_vhost
,user.set_realname
,user.set_username
,user.set_nick
,user.get
,user.list
,server.module_list
,server.disconnect
,server.connect
,server.rehash
,server.get
,server.list
,channel.kick
,channel.set_topic
,channel.set_mode
,channel.get
,channel.list
,server_ban.add
,server_ban.del
,server_ban.get
,server_ban.list
,server_ban_exception.add
,server_ban_exception.del
,server_ban_exception.get
,server_ban_exception.list
,name_ban.add
,name_ban.del
,name_ban.get
,name_ban.list
,spamfilter.add
,spamfilter.del
,spamfilter.get
,spamfilter.list
.- Server admins can read the JSON-RPC documentation on how to get started. For developers, see the Technical documentation for all info on the different RPC calls and the protocol.
- Some functionality requires all servers to be on 6.0.6 or later.
- Some functionality requires all servers to include
rpc.modules.default.conf
instead of only the single server that the webpanel interfaces with through JSON-RPC. When all servers have that file included then the API callserver.module_list
can work for remote servers, and the API callserver.rehash
for remote servers can return the actual rehash result and a full log of the rehash process. It is not used for any other API call at the moment, but in the future more API calls may need this functionality because it allows us to do things that are otherwise impossible or very hard. - Known issue: logging of RPC actions needs to be improved. For some API calls, like adding of server bans and spamfilters, this already works, but in other API calls it is not clearly logged yet "who did what".
Changes:
- Previously some server protocol commands could only be used by services, commands such as
SVSJOIN
andSVSPART
. We now allow SVS* command to be used by any servers, so the JSON-RPC API can use them. There's a new option set::limit-svscmds so one can revert back to the original situation, if needed. - All JSON-RPC calls that don't change anything, such as
user.list
are now logged in therpc.debug
facility. Any call that changes anything likeuser.join
orspamfilter.add
is logged viarpc.info
. This because JSON-RPC calls can be quite noisy and logging the read-only calls is generally not so interesting.
Fixes:
- When using JSON-RPC with UnrealIRCd 6.0.5 it would often crash
- Fix parsing services version (anope) in
EAUTH
.
Péntek, Február 3, 2023
Powered by WHMCompleteSolution