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 3.2.2 or later.
DOCKER COMPATIBILITY ALERT
If you previously used the Netatalk 3.1.18 Docker image for making Time Machine backups in macOS, you may run into errors after upgrading to the Netatalk 3.2.0 image or later. It is recommended to discard the backup sparsebundle and redo the backup. If you absolutely must access the older backup sparsebundle, downgrading to the 3.1.18 image should restore access.
Netatalk 3.2.0 is available!
The Netatalk team is proud to announce the first release in the Netatalk 3.2 release series.
This release contains a number of breaking changes compared to Netatalk 3.1, 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 3.2.0.
A companion release of the Webmin Module (v1.1) is also available, with support for the new and updated features in Netatalk 3.2.0, as well as a range of improvements and bugfixes.
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.
Please see INSTALL for 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 Apple clients (early Mac OS X, Classic Mac OS, Macintosh System Software, 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
New init scripts have been added: FreeBSD, OpenBSD, and OpenRC (previously: Gentoo).
Additionally, the macOS launchd init script plist has been renamed to io.netatalk.* (from com.netatalk.*)
Added compile time options
-Dwith-embedded-sslβ Enable or disable the bundled SSL provider (currently: wolfSSL).-Dwith-init-style=/--with-init-style=freebsd|openbsd|openrc-Ddisable-init-hooks/--disable-init-hooksβ Ask the build system to skip a any install or uninstall hooks that may require heightened privileges. This enables distribution scripts or installation in certain non-privileged chroot environments. Recommended for downstream packaging.
Added runtime options
ldap uriβΒ URI of the LDAP directory serverlog microsecondsβ When set tonoand used together withlog file, the resulting logs will have timestamps with whole second accuracy, rather than the default microsecond.fce sendwaitβ In milliseconds, set a delay for the emission of FCE events.
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 retired. The new option has a different syntax. See the manual for more information.
Spotlight toolchain
The bundled talloc library, as well as pre-generated SPARQL parser code, have been removed from distribution. These are key parts of the Spotlight tech stack, and must now be supplied by the user or packager for Spotlight functionality.
This introduces a compile- and runtime dependency on a system-supplied shared talloc library, which most contemporary operating systems have at the time of writing.
Additionally, a yacc parser (e.g. bison) and lexer (e.g. flex) are now compile time dependencies for building with Spotlight support.
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.
At the same time, the afpstats CLI utility has been rewritten in Perl to remove the runtime dependency on Python.
Deprecated Features
Andrew File System
Andrew File System is a historical distributed file system with limited adoption at the time of writing. The AFS integration layer in Netatalk has not been functional for years, and was removed in this version.
CNID backends
The Concurrent Database (cdb) and Trivial Database (tdb) CNID backends have been removed in this version. The former was previously the default backend (v2.0 and earlier), but is prone to data loss and corruption. The latter was considered an incomplete implementation.
In Netatalk 3.2.0, Database Daemon (dbd) is the default and recommended backend, while the MySQL (mysql) backend is considered experimental but reportedly used in production environments with success.
What’s Changed
- Remove unused pap directory in libatalk by @dgsga in #490
- Remove trailing whitespace from codebase by @dgsga in #495
- Fix libevent2 linking on OpenIndiana by @dgsga in #512
- libatalk: Restore invalid metadata cleanup in ad_open.c by @rdmark in #513
- Remove substitutions for configurable file paths in man pages by @rdmark in #514
- add return 0 into become_user_permanently() by @pgajdos in #524
- Deprecate legacy cnid backends by @dgsga in #528
- Remove redundant AUTHORS file by @rdmark in #538
- Remove code for obsolete host operating systems by @dgsga in #530
- Better default Homes basedir regex example by @rdmark in #547
- Validate size of ace_count in FPSetACL request by @rdmark in #546
- Update comments in configure.ac and netatalk macro by @dgsga in #568
- pam_conv: Only Solarish seems to use non-const struct type. by @rdmark in #563
- Remove bundled talloc and only build libatalk/libtalloc when needed by @dgsga in #565
- Delete obsolete locking directory in libatalk by @dgsga in #570
- Enable / disable the entire spotlight support toolchain at configure time by @dgsga in #572
- libatalk: fix parsing of macOS created AppleDouble files by @rdmark in #575
- Compile spotlight.h only when Spotlight is enabled by @rdmark in #578
- Introduce option to control the format of file log timestamp by @rdmark in #583
- Standardize man page heading case by @rdmark in #598
- Deprecate AFS (Andrew File System) support in Netatalk 3 by @dgsga in #594
- Fix Spotlight support detection and compilation on Fedora by @dgsga in #600
- Update summary macro to check for all three Spotlight requirements by @dgsga in #604
- uams: Link PGP UAM with CRYPT_LIBS by @rdmark in #608
- Improve logger_test and remove outdated comments by @rdmark in #601
- afpd: Prevent a potential buffer overflow when changing password by @neko-hat in #628
- afpd: Remove tdb fallback mechanism, and other remnants of tdb and cdb by @rdmark in #612
- Check for attr.h before using (Solaris 10 compat) by @rdmark in #622
- libatalk: Use portable fcntl() instead of flock() by @rdmark in #624
- test program should only be compiled and run on make check/distcheck by @dgsga in #637
- Refresh docs and adjust for the upcoming 3.2 release by @rdmark in #638
- Fix Zeroconf support on *BSD platforms by @dgsga in #640
- Remove unneeded HAVE_TRACKER conditional by @dgsga in #664
- manual: Link to custom download and wiki mirrors in navbar by @rdmark in #669
- manual: Link to docs landing page by @rdmark in #687
- Clean up obsoleted man pages by @rdmark in #691
- Cleanup of obsolete gitignore filters by @rdmark in #692
- Clean up remainders of SourgeForge hosting by @rdmark in #703
- Fix ‘MAXPHYS’ macro redefinition warning in macOS by @dgsga in #706
- Remove binary files and logo images from revision control by @rdmark in #716
- Docker configuration for netatalk v3 by @rdmark in #713
- Remove residual code for discontinued oses by @rdmark in #723
- Make macOS initscripts prefix sensitive by @dgsga in #730
- spotlight: Remove generated parser/lexer code from revision control by @rdmark in #736
- docs: Improve docbook templates, man page summaries, GPL text by @rdmark in #744
- docs: Limit max TOC depth to 2 in html manual; use DocBook 4.5 DTD by @rdmark in #747
- Detect system docbook stylesheets at configure time by @dgsga in #748
- Create meson build system by @dgsga in #750
- Swap out the old ldap_init for the wonderful ldap_initialize by @rdmark in #768
- Rename launchd plist to io.netatalk* and sort file names by @rdmark in #778
- Revert to using launchd startup script on macOS hosts by @dgsga in #789
- meson: Add init-style to configuration summary and fix missing gentoo-systemd style by @dgsga in #785
- docs: Update the git instructions in the Install chapter by @rdmark in #786
- docs: Generate compilation manual page from build.yml by @rdmark in #792
- docs: Japanese localization of the manual by @rdmark in #809
- meson: Ensure mysql backend is only enabled when mysqlclient library and headers are present by @dgsga in #822
- docker: Build with Meson by @rdmark in #821
- Spelling fix in dsi_tcp.c log message by @rdmark in #834
- docs: improve description of mimic model option by @rdmark in #837
- docs: Simplify the DEVELOPER readme by @rdmark in #844
- afpd: Deal better with large numbers of FCE events by @rdmark in #849
- Build system improvements for initscripts by @rdmark in #854
- docs: Overhaul the install and configuration chapters by @rdmark in #855
- Adopt rc script from FreeBSD ports. by @rdmark in #877
- Remove hard dependency on perl and grep by @rdmark in #892
- Rewrite afpstats in Perl by @rdmark in #895
- docker: Alpine based container by @rdmark in #889
- Pretty formatting of afpstats output by @rdmark in #910
- afppasswd: Check for valid password length by @rdmark in #934
- afppasswd: Introduce -w option for password string by @rdmark in #941
- Fix broken cracklib macro in autotools and meson by @dgsga in #940
- Forward-port netatalk-classic patches by @rdmark in #952
- netatalkd: Netatalk service can only be stopped if it is already running by @dgsga in #966
- meson: Add WolfSSL as DHX provider by @dgsga in #965
- spotlight: Use https URLs for sparql type mapping references by @rdmark in #973
- Document the netatalk -d option by @rdmark in #979
- Optimize sort order of all headers by @dgsga in #984
- docs: Update manual for 3.2.0 release by @rdmark in #987
- docs: Update Japanese manual for 3.2.0 by @rdmark in #991
- Remove superfluous extern variable declarations by @rdmark in #1023
- Reintroduce quota support, modernized with meson build system by @rdmark in #1034
- Enable building with quota and libtirpc on Fedora 40 by @rdmark in #1040
New Contributors
Full Changelog: https://github.com/Netatalk/netatalk/compare/netatalk-3-1-18…netatalk-3-2-0
Note: The Debian deb package distributed with this release is built for Debian 12 Bookworm.
Downloads
- netatalk-3.2.0.tar.xz (1.8 MB)
- netatalk-3.2.0.tar.xz.sha256sum (0.0 MB)
- netatalk_3.2.0.ds-1_amd64.deb (0.6 MB)
Footnotes
Release published on 2024-06-01
Generated from GitHub Release Notes