Skip to content

NewsCache 1.3.21

Choose a tag to compare

@go-while go-while released this 20 Oct 14:24
· 708 commits to main since this release
Immutable release. Only release title and notes can be modified.
6b6898c

Upgrading

  • The shipped configs no longer let anyone in. If you copy
    newscache.conf-dist or use the container image, add a Client entry for
    your clients' addresses or networks, or an entry with Authentication
    (login), before Default.
  • A Client entry with a /prefix after something that isn't an IP address
    (e.g. a host name like news.example.org/24) is now a config error, so
    such a config no longer loads. Before, the entry silently never matched.
    Check with newscache -p before restarting.

Bug fixes

  • The sample newscache.conf-dist allowed inetd clients (Client stdin, with
    debug) and clients from localhost, and the container config allowed
    loopback and all private networks. Both now only contain
    Default { allow none }, with the old entries as commented examples, so
    nobody may read or post until a Client entry (address or CIDR) or a login
    allows it. FEDORA.md does the same and shows how to allow clients.
  • newscache -p and the xdebug command printed AccessList entries for an
    address or network (e.g. Client 192.168.0.0/255.255.0.0) as "Default",
    without the address; read back as a config, such an entry would have let
    every client in. They now print as Client 192.168.0.0/16.
  • On hosts where getaddrinfo considers IPv6 unavailable (seen in Docker
    containers), an IPv6 Client entry such as 2001:db8::/32 was not parsed as
    an address and silently became a host name that never matched. Addresses
    are now parsed without AI_ADDRCONFIG. A /prefix after something that
    isn't an IP address (e.g. 300.1.1.1/8) is now a config error instead of
    an entry that silently never matches.

Other changes

  • Dockerfile for Docker and Podman (also Docker Desktop and Podman Desktop on
    Windows): builds on Ubuntu 24.04, runs as user news in the foreground and
    logs to the container output. Its config reads from
    news.blueworldhosting.com over TLS and lets nobody in until you mount a
    config with a Client entry or a login. CI builds the image and checks both.
  • CI also builds and runs make check on Linux ARM64, Alpine 3.24 (musl),
    Debian 13 and FreeBSD.
  • README.md: how to run NewsCache in a container and on Windows (WSL 2).

Build

tar xzf NewsCache-1.3.21.tar.gz && cd NewsCache-1.3.21
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
make && make check && sudo make install

Or as a container: docker build -t newscache . (see README.md).

Tested on Ubuntu 24.04, Fedora 43, 44 and 45, Alpine 3.24 and Debian 13; CI also builds and tests on Linux ARM64, FreeBSD and macOS. See README.md and FEDORA.md.

SHA-256: 4cc3652a4cbcfb63235ce6af3b2e965f14de1387854604e86afc3e4e7387bb7f