s6-networking: how to upgrade
Keywords: s6-networking installation upgrade

s6-networking
Software
skarnet.org

# What has changed in s6-networking

## in 2.7.0.3

- skalibs dependency bumped to 2.14.2.0
- execline dependency bumped to 2.9.6.0
- s6 dependency bumped to 2.13.0.0
- s6-dns dependency bumped to 2.3.7.2
- LibreSSL optional dependency bumped to 3.9.1
- OpenSSL optional dependency bumped to 3.3.0
- LibreTLS optional dependency bumped to 3.8.1

## in 2.7.0.2

- No functional changes.

## in 2.7.0.1

- skalibs dependency bumped to 2.14.1.0
- s6 dependency bumped to 2.12.0.3
- s6-dns dependency bumped to 2.3.7.1

## in 2.7.0.0

- skalibs dependency bumped to 2.14.0.1
- s6 dependency bumped to 2.12.0.1
- LibreSSL optional dependency bumped to 3.8.2
- LibreTLS optional dependency bumped to 3.8.1
- s6-tlsc-io has changed interfaces: now it uses stdin/stdout as the local side, and the descriptors given as arguments as the remote side. This allows users to invoke it directly when it is relevant.
- Consequently, s6-tlsc and s6-ucspitlsc have changed how they invoke s6-tlsc-io.
- The `-K` option to TLS programs has slightly changed semantics: it now indicates a timeout for the whole handshake.
- The `-h` option to s6-tcpclient, s6-tcpserver-access, s6-tlsclient, and s6-tlsserver, has changed semantics. Previously it was a no-op except to cancel a prior `-H` option. Now it means that DNS lookups should also include `/etc/hosts`.

## in 2.6.0.0

- skalibs dependency bumped to 2.14.0.0
- execline optional dependency bumped to 2.9.4.0
- s6 dependency bumped to 2.12.0.0
- LibreSSL optional dependency bumped to 3.7.3
- OpenSSL optional dependency bumped to 1.1.1w
- LibreTLS optional dependency bumped to 3.7.0
- s6-tcpserver-access does not print a warning on `-v 2` or more when it is run without the `-i` or -x option. It is not needed anymore in order to export TCPLOCALIP and TCPLOCALPORT to the applications.
- The tcpserver chain has been unified! `s6-tcpserver4`, `s6-tcpserver6`, `s6-tcpserver4-socketbinder`, `s6-tcpserver6-socketbinder`, `s6-tcpserver4d` and `s6-tcpserver6d` have all disappeared. Instead, there are just 3 programs:
  - s6-tcpserver-socketbinder, for socket binding
  - s6-tcpserverd, the long-lived process. It now exports TCPLOCALIP and TCPLOCALPORT in addition to PROTO, TCPREMOTEIP, TCPREMOTEPORT and TCPCONNNUM.
  - s6-tcpserver, which still has the same interface except that the `-4` and `-6` options have been removed, and that is still a wrapper around the others.
- `-e`, `-4` and `-6` options removed from s6-tlsserver

## in 2.5.1.3

- skalibs dependency bumped to 2.13.1.0
- execline optional dependency bumped to 2.9.2.0
- s6 dependency bumped to 2.11.3.0
- OpenSSL optional dependency bumped to 1.1.1t

## in 2.5.1.2

- skalibs dependency bumped to 2.13.0.0
- execline optional dependency bumped to 2.9.1.0
- s6 dependency bumped to 2.11.2.0
- s6-dns dependency bumped to 2.3.5.5
- LibreSSL optional dependency bumped to 3.5.3
- LibreTLS optional dependency bumped to 3.5.2
- OpenSSL optional dependency bumped to 1.1.1q

## in 2.5.1.1

- skalibs dependency bumped to 2.12.0.0
- s6-dns dependency bumped to 2.3.5.4

## in 2.5.1.0

- skalibs dependency bumped to 2.11.1.0
- execline optional dependency bumped to 2.8.2.0
- s6 dependency bumped to 2.11.0.1
- s6-dns dependency bumped to 2.3.5.3

## in 2.5.0.0

- skalibs dependency bumped to 2.11.0.0
- execline optional dependency bumped to 2.8.1.0
- s6 dependency bumped to 2.11.0.0
- s6-dns dependency bumped to 2.3.5.2
- The obsolete `minidentd` program has been removed.
- LibreSSL optional dependency bumped to 3.3.4
- LibreTLS optional dependency bumped to 3.3.4

## in 2.4.2.0

- Client certificates are now properly supported in s6-tlsd-io.

## in 2.4.1.1

- skalibs dependency bumped to 2.10.0.3
- execline dependency bumped to 2.8.0.1
- s6 dependency bumped to 2.10.0.3
- s6-dns dependency bumped to 2.3.5.1
- LibreSSL optional dependency bumped to 3.2.5
- OpenSSL optional dependency bumped to 1.1.1k

## in 2.4.1.0

- skalibs dependency bumped to 2.10.0.2
- execline dependency bumped to 2.7.0.1
- s6 dependency bumped to 2.10.0.2
- s6-dns dependency bumped to 2.3.5.0.
- LibreSSL optional dependency bumped to 3.2.4.
- Handshake timeout is now functional with the libtls backend (previously it only was with the bearssl backend).
- s6-tlsc-io and s6-tlsd-io now send the SNI server name, if any, in their notification message (when the `-d` option is active), in the `SSL_TLS_SNI_SERVERNAME` variable.

## in 2.4.0.0

- OpenSSL plus LibreTLS can now be used as a backend, since LibreTLS provides an implementation of the libtls API.
- skalibs dependency bumped to 2.10.0.0.
- execline has been made optional. It's still enabled by default; disabling it with the `--disable-execline` configure option disables `exec` file support in s6-tcpserver-access.
- New binaries: s6-tlsc-io and s6-tlsd-io (which are now the only binaries to perform actual cryptography); s6-ucspitlsc, and s6-ucspitlsd (for delayed encryption).
- s6-tlsc and s6-tlsd have been rewritten as wrappers around s6-tlsc-io and s6-tlsd-io respectively.

## in 2.3.2.0

- skalibs dependency bumped to 2.9.3.0.
- execline dependency bumped to 2.6.1.1.
- LibreSSL optional dependency bumped to 3.1.4.
- s6-tlsserver now includes the `-e` option to invoke s6-tcpserver-access unconditionally.

## in 2.3.1.2

- skalibs dependency bumped to 2.9.2.0.
- execline dependency bumped to 2.6.0.0.
- s6 dependency bumped to 2.9.1.0.
- s6-dns dependency bumped to 2.3.2.0.

## in 2.3.1.1

- skalibs dependency bumped to 2.9.1.0.
- execline dependency bumped to 2.5.3.0.
- s6 dependency bumped to 2.9.0.1.
- s6-dns dependency bumped to 2.3.1.1.

## in 2.3.1.0

- LibreSSL dependency bumped to 2.9.2.
- skalibs dependency bumped to 2.9.0.0.
- execline dependency bumped to 2.5.2.0.
- s6 dependency bumped to 2.9.0.0.
- s6-dns dependency bumped to 2.3.1.0.

## in 2.3.0.4

- BearSSL dependency bumped to 0.6.
- skalibs dependency bumped to 2.8.0.0.
- execline dependency bumped to 2.5.1.0.
- s6 dependency bumped to 2.8.0.0.
- s6-dns dependency bumped to 2.3.0.2.
- Everything now builds as PIC by default no matter the toolchain's settings. Use the `--disable-all-pic` configure option to build executables and static libraries as non-PIC.

## in 2.3.0.3

- Optional nsss support added.
- LibreSSL dependency bumped to 2.7.4.
- skalibs dependency bumped to 2.7.0.0.
- execline dependency bumped to 2.5.0.1.
- s6 dependency bumped to 2.7.2.0.
- s6-dns dependency bumped to 2.3.0.1.

## in 2.3.0.2

- BearSSL dependency bumped to 0.5.
- skalibs dependency bumped to 2.6.0.0.
- execline dependency bumped to 2.3.0.2.
- s6 dependency bumped to 2.6.1.0.
- s6-dns dependency bumped to 2.2.0.1.

## in 2.3.0.1

- BearSSL dependency bumped to 0.4.
- skalibs dependency bumped to 2.5.1.0.
- execline dependency bumped to 2.3.0.1.
- s6 dependency bumped to 2.5.1.0.

## in 2.3.0.0

- LibreSSL dependency bumped to 2.4.5.
- BearSSL dependency bumped to 0.3.
- skalibs dependency bumped to 2.5.0.0.
- execline dependency bumped to 2.3.0.0.
- s6 dependency bumped to 2.5.0.0.
- s6-dns dependency bumped to 2.2.0.0.
- The meaning of the `-Y` option in s6-tlsd has changed. Now it means "ask for an optional client certificate".

## in 2.2.1.0

- skalibs dependency bumped to 2.4.0.2.
- SSL/TLS support added:
  - s6-tlsclient
  - s6-tlsserver
  - s6-tlsc
  - s6-tlsd

## in 2.2.0.0

- skalibs dependency bumped to 2.4.0.0.
- execline dependency bumped to 2.2.0.0.
- s6 dependency bumped to 2.4.0.0.
- s6-dns dependency bumped to 2.1.0.0.
- New features in s6-tcpserver4-socketbinder and s6-tcpserver6-socketbinder.

## in 2.1.1.0

- skalibs dependency bumped to 2.3.10.0.
- execline dependency bumped to 2.1.5.0.
- s6 dependency bumped to 2.3.0.0.
- s6-dns dependency bumped to 2.0.1.0.

## in 2.1.0.4

- GNU make dependency pushed back to 3.81.
- skalibs dependency bumped to 2.3.8.0.
- execline dependency bumped to 2.1.4.2.
- s6 dependency bumped to 2.2.2.0.
- s6-dns dependency bumped to 2.0.0.7.

## in 2.1.0.3

- skalibs dependency bumped to 2.3.7.1.
- execline dependency bumped to 2.1.4.1.
- s6 dependency bumped to 2.2.1.1
- s6-dns dependency bumped to 2.0.0.6

## in 2.1.0.2

- skalibs dependency bumped to 2.3.6.1.
- execline dependency bumped to 2.1.3.1.
- s6 dependency bumped to 2.2.0.1
- s6-dns dependency bumped to 2.0.0.5

## in 2.1.0.1

- skalibs dependency bumped to 2.3.3.0.
- execline dependency bumped to 2.1.1.1.
- s6 dependency bumped to 2.1.3.0
- s6-dns dependency bumped to 2.0.0.3

## in 2.1.0.0

- skalibs dependency bumped to 2.2.1.0.
- execline dependency bumped to 2.0.2.0.
- s6 dependency bumped to 2.1.0.0
- The access control functions and Unix domain programs have moved over to s6. The access control function names have changed.

## in 2.0.1.0

- skalibs dependency bumped to 2.2.0.0.
- execline dependency bumped to 2.0.1.1.
- s6 dependency introduced (2.0.1.0)
- s6-dns dependency bumped to 2.0.0.2.
- Separation of superservers into socketbinders and d's.

## in 2.0.0.1

- skalibs dependency bumped to 2.1.0.0.

## in 2.0.0.0

- The build system has completely changed. It is now a standard `./configure && make && sudo make install` build system. See the enclosed INSTALL file for details.
- slashpackage is not activated by default.
- shared libraries are not used by default.
- skalibs dependency bumped to 2.0.0.0.
- execline dependency bumped to 2.0.0.0.
- s6-dns dependency bumped to 2.0.0.0.