What’s new in PyLink: August 15, 2017

PyLink 1.2.0 released!

PyLink 1.2.0 was released today to PyPI and Git master. You can find the full changelog on GitHub: github.com/GLolol/PyLink/blob/master/RELNOTES.md#pylink-120

Updated builds for Debian and Ubuntu will be made available soon.

New stuff in 2.0-dev

In the meantime, PyLink 2.0-dev received a bunch of new features. These include:

  • Limiting login blocks by network, hostnames, and IRCop status: see the new require_oper“, “hosts“, and “networks” options in the example config.
  • Support for ngIRCd and ChatIRCd, following another large refactor of the protocols stack to reduce code duplication (compare!).
  • New commands for the opercmds plugin, including:
    • chghost, chgident, and chgname, for IRCds that don’t expose them as commands. Thanks to Mitchell Cooper for the patch!
    • massban, masskill, massbanre, and masskillre – these commands allow setting kickbans, kills, or glines on users matching a certain PyLink mask ([email protected] mask or exttarget) or regular expression (regexp). The hope is that these tools can help opers actively fight botnets as they are connected, similar to atheme’s clearchan and Anope’s chankill features.
    • checkbanre – the regexp-based equivalent to checkban
  • Extban support for quiet (UnrealIRCd ~q:, InspIRCd m:) and nick change bans (UnrealIRCd ~n:, InspIRCd n:)  in relay.
  • Better support for (pre-defined) services servers in relay:
    • CLAIM restrictions are relaxed for service bots, which may now join with ops and set simple modes. This prevents mode floods when features such as DEFCON are enabled, and when a channel is accidentally registered on a network not on the CLAIM list.
    • DEFCON modes set by services are ignored by Relay instead of bounced, and do not forward onto other networks unless the setting network is also in the channel’s CLAIM list.
    • To keep the spirit of CLAIM alive, opped services not in a channel’s CLAIM list are still not allowed to kick remote users, set prefix modes (e.g. op) on others, or set list modes such as bans.
  • GLINE/KLINE support for most supported IRCds; work is ongoing to polish this off.
  • Per-network configuration of relay server suffixes; patch by Mitchell Cooper.
  • Proper separation between aliases and regular commands, with commands marked as aliases now hidden from the list command.
  • /STATS support via the stats plugin (/stats c, u, and o are supported so far)
  • Implicit syntax for PyLink accounts in host matching: i.e. “user1” is now equivalent to “$pylinkacc:user1
  • Optional display of the PyLink connection time in WHOIS, following Anope’s behaviour. This info can be turned off using the pylink:whois_show_startup_time option.
  • Support for “Network Administrator” and “Network Service” as oper types on IRCds using user modes to denote them (e.g. UnrealIRCd, TS6).
  • Fixed compatibility with hybrid trunk after commit ircd-hybrid/[email protected]981c61e (EX and IE are no longer sent in the capability list)
  • More specific permissions for the “remote” command, which now allows assigning them by target network, service, and command.

Some deprecations and backwards incompatible changes were also introduced:

  • The fml command in the games plugin was removed.
  • Signal handling on Unix was updated to use SIGUSR1 for rehash and SIGHUP for shutdown – this changes PyLink to be more in line with foreground programs, which generally close with the owning terminal.
  • PID file checking is now enabled by default: for users upgrading from PyLink < 1.1-dev, you may have to manually remove PyLink’s PID files before starting the service. Checks for stale PID files will be added at a later date, but before the eventual 2.0.0 release.
  • Some options were deprecated and renamed:
    • The “p10_ircd” option for p10 servers is now named “ircd”, though the old option will still be read from.
    • The “use_elemental_modes” setting on ts6 networks has been deprecated and replaced with an “ircd” option targeting charybdis, elemental-ircd, or chatircd. Supported values here include “charybdis“, “elemental“, and “chatircd“.

Nightly builds sunset for Debian 8/Jessie

PyLink nightly builds for Debian Jessie (which is now the oldstable release) will be discontinued on 2017-10-31. Those wishing to receive nightly builds past this date should upgrade to Stretch and use the stretch-nightlies dist instead.

Nightly builds for Ubuntu, which are provided via Launchpad, are not affected at this time.

Leave a Comment