stable

unrealircd-6.0.6-1.el7

FEDORA-EPEL-2023-c52bbb09b8 created by robert a month ago for Fedora EPEL 7

UnrealIRCd 6.0.6

The main objective of this release is to enhance the new JSON-RPC functionality.

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 call server.module_list can work for remote servers, and the API call server.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 upstream 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 and SVSPART. Upstream now allows 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 the rpc.debug facility. Any call that changes anything like user.join or spamfilter.add is logged via rpc.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.

Developers and protocol

  • A new RRPC server to server command to handle RPC-over-IRC. This way the JSON-RPC user, like the admin panel, can interface with a remote server. If you are writing an RPC handler, then the remote RPC request does not look much different than a local one, so you can just process it as usual. See the code for server.rehash or server.module_list for an example (src/modules/rpc/server.c).

This update has been submitted for testing by robert.

a month ago

This update's test gating status has been changed to 'ignored'.

a month ago

robert edited this update.

a month ago

This update has been pushed to testing.

a month ago

This update has been submitted for stable by bodhi.

a month ago

This update has been pushed to stable.

a month ago

Please login to add feedback.

Metadata
Type
enhancement
Severity
medium
Karma
0
Signed
Content Type
RPM
Test Gating
Settings
Unstable by Karma
-3
Stable by Karma
3
Stable by Time
7 days
Dates
submitted
a month ago
in testing
a month ago
in stable
a month ago
modified
a month ago
approved
a month ago
BZ#2166855 unrealircd-6.0.6 is available
0
0

Automated Test Results

ignored