Netatalk 2.4.0
REDISTRIBUTION LICENSING ALERT
If you redistribute binary Netatalk packages, please be advised that there may be incompatible licensing terms in this source package. To avoid potential issues when redistributing, it is strongly recommended to build this package with -Dwith-embedded-ssl=false
when using the Meson build system. The Autotools build system is not affected. Alternatively, upgrade to Netatalk 2.4.2 or later.
Netatalk 2.4.0 is available!
The Netatalk team is proud to announce the first release in the Netatalk 2.4 release series. Unlike the Netatalk 3.x releases, 2.x maintains support for the AppleTalk transport layer for networking with very old Mac and Apple II clients.
This release contains a number of breaking changes compared to Netatalk 2.3, and is recommended for early adopters. It is highly recommended that you take a backup of your production environment before attempting to upgrade an existing Netatalk deployment to 2.4.0.
A companion release of the Webmin Module (v2.0) is also available, with support for the new and updated features in Netatalk 2.4.0, as well as much added functionality.
Please see NEWS for the full changelog.
New Features
Meson build system
The Meson build system has been introduced, and exists in parallel with the traditional GNU Autotools build system. We plan to remove Autotools in a future feature release version of Netatalk.
One noticeable, practical difference compared to Autotools, is that all features are enabled by default. If the requisite libraries and headers are found, the feature will be compiled. If they are not found, a warning will be left in the setup log.
Additionally, whereas Autotools had a hodgepodge of --enable-*|--disable-*|--with-*|--without-*
options, Meson only has -Dwith-*
which are booleans that take true|false
, or -Dwith-*-path
options that are of the string type and take the path to libraries, headers, or binaries.
Some options were renamed in Meson to align with Netatalk 3.x:
--enable-debian|redhat|systemd|etc.
->-Dwith-init-style=
--disable-install-privileged
->-Dwith-init-hooks=true|false
Please see INSTALL for detailed instructions how to use the new build system. The online manual also has a new appendix with build instructions for specific operating systems.
Consequently, starting with this release, we no longer distribute tarballs that were bootstrapped by autoconf. We still ship the bootstrap script and all the macros required so that you can bootstrap it yourself if needed.
Bundled WolfSSL
OpenSSL 3.0 has deprecated the DHCAST128 and DES encryption algorithms used by Apple’s DHX and Random Number UAMs, respectively. These UAMs are used for (somewhat) secure authentication with very old Mac OS clients (early OS X, Classic Mac OS, and Apple IIGS.)
We are now bundling a subset of WolfSSL with Netatalk, as the default encryption provider for these UAMs. Building Netatalk with bundled WolfSSL requires the use of the Meson build system.
Init Scripts
An OpenRC init script has been added, which was adapted from the existing Gentoo init script.
Dependency Changes
LDAP API
We have bumped the LDAP API version, and now require OpenLDAP v2.3 or later.
As a result, a new afp.conf option ldap_uri
has been introduced, while the old ldap_server
has been removed. The new option has a different syntax. See the manual for more information.
Perl
The Perl runtime is now an optional dependency for Netatalk (it was previously mandatory.) Only when Perl is detected at compile time, the administrative CLI utilities that use the Perl runtime are installed.
Deprecated Features
The following runtime options have been removed.
- loginmaxfail (afpd.conf)
- passwdminlen (afpd.conf)
- noallmulti (atalkd.conf)
What’s Changed
- [2.4] Swap out the old ldap_init for the wonderful ldap_initialize by @rdmark in https://github.com/Netatalk/netatalk/pull/767
- [2.4] Fix minor syntax error in sys/netatalk/at.h leading to linux headers not being picked up by meson by @dgsga in https://github.com/Netatalk/netatalk/pull/773
- [2.4] docs: Update git instructions and README.md by @rdmark in https://github.com/Netatalk/netatalk/pull/784
- Create meson build system for [2.4] by @dgsga in https://github.com/Netatalk/netatalk/pull/776
- [2.4] Remove obsolete Solaris Appletalk kernel module code by @dgsga in https://github.com/Netatalk/netatalk/pull/830
- [2.4] docs: Refresh DEVELOPER and AppleTalk readmes by @rdmark in https://github.com/Netatalk/netatalk/pull/832
- [2.4] docs: Generate compilation manual page from build.yml by @rdmark in https://github.com/Netatalk/netatalk/pull/838
- [2.4] docs: improve description of mimic model option by @rdmark in https://github.com/Netatalk/netatalk/pull/843
- [2.4] Overhaul of all init scripts by @rdmark in https://github.com/Netatalk/netatalk/pull/869
- [2.4] docs: Overhaul the install and configuration chapters by @rdmark in https://github.com/Netatalk/netatalk/pull/874
- [2.4] Remove hard dependencies on perl and grep by @rdmark in https://github.com/Netatalk/netatalk/pull/908
- [2.4] Fix missing rresvport function on systems using musl C library by @dgsga in https://github.com/Netatalk/netatalk/pull/920
- [2.4] Update rc.openrc.tmpl: a2boot and timelord depend on atalkd by @NJRoadfan in https://github.com/Netatalk/netatalk/pull/927
- [2.4] afppasswd: Check for valid password length by @rdmark in https://github.com/Netatalk/netatalk/pull/933
- Set service name as hostname in init scripts by @rdmark in https://github.com/Netatalk/netatalk/pull/935
- [2.4] afppasswd: Introduce -w option for password string by @rdmark in https://github.com/Netatalk/netatalk/pull/937
- [2.4] docker: Alpine based container + Meson build by @rdmark in https://github.com/Netatalk/netatalk/pull/909
- [2.4] Document -notransall option by @rdmark in https://github.com/Netatalk/netatalk/pull/981
- [2.4] meson: Add WolfSSL as an external or built-in SSL provider by @dgsga in https://github.com/Netatalk/netatalk/pull/986
- [2.4] Fix broken cracklib macro in autotools and meson (#940) by @dgsga in https://github.com/Netatalk/netatalk/pull/990
- [2.4] Enable the DHX UAM with embedded WolfSSL in default conf by @rdmark in https://github.com/Netatalk/netatalk/pull/994
- [2.4] docs: Move documentation from conf file templates to man pages by @rdmark in https://github.com/Netatalk/netatalk/pull/1017
- [2.4] afpd: Remove multiple deprecated options by @rdmark in https://github.com/Netatalk/netatalk/pull/1019
- [2.4] netatalkd: Netatalk service can only be stopped if it is already running by @rdmark in https://github.com/Netatalk/netatalk/pull/1031
- [2.4] Enable building with quota and libtirpc on Fedora by @rdmark in https://github.com/Netatalk/netatalk/pull/1045
- [2.4] Update data types in codebase by @dgsga in https://github.com/Netatalk/netatalk/pull/1009
- [2.4] meson: Fix issues with quota support on macOS and linux hosts by @dgsga in https://github.com/Netatalk/netatalk/pull/1093
- [2.4] atalkd: Remove multicast workaround for Linux by @rdmark in https://github.com/Netatalk/netatalk/pull/1094
- [2.4] meson: Simplify options semantics and standardize feature macros by @dgsga in https://github.com/Netatalk/netatalk/pull/1109
- [2.4] meson: Set executable flags when installing scripts and rename lp2pap by @rdmark in https://github.com/Netatalk/netatalk/pull/1114
- [2.4] docker: Bump to Alpine 3.20 base image and fix group creation by @rdmark in https://github.com/Netatalk/netatalk/pull/1115
- [2.4] Freshen up README.md by @rdmark in https://github.com/Netatalk/netatalk/pull/1123
Full Changelog: https://github.com/Netatalk/netatalk/compare/netatalk-2-3-2…netatalk-2-4-0
Note: The Debian deb package distributed with this release is built for Debian 12 Bookworm.
Release published on 2024-06-22
Generated from the original at GitHub