Releases: Netatalk/netatalk
Netatalk 2.4.6
Netatalk 2.4.6 is available!
The Netatalk team is proud to announce the latest version in the Netatalk 2.4 release series.
This release contains bug fixes for the Meson build system.
All users of the 2.4 release series are recommended to upgrade their versions to 2.4.6.
Breaking changes (Meson)
Refresh the dynamic linker cache when installing on Linux
The Meson build system will now run ldconfig
as an install hook on glibc based Linux systems.
This brings the behavior of Meson in line with Autotools.
This fixes the issue of the libatalk.so shared library not being found when configuring with a non-standard library path, e.g. /usr/local/lib
.
A new Meson option -Dwith-install-hooks
controls this behavior, allowing you to disable the install hook in non-privileged environments.
Additionally, on Linux systems with glibc, we now install the following config file which contains the path where libatalk.so was installed:
/etc/ld.so.conf.d/libatalk.conf
Install html manual into htmldocs subdir
Previously, the html manual files were installed into the root of the netatalk doc directory. Now they are put neatly inside a netatalk/htmldocs
subdirectory.
Use modern linker flag for rpath
When configuring with -Dwith-rpath=true
the linker flags -Wl,-rpath,
will be prepended instead of the old -R
flag which is no longer supported by gcc.
In addition, on Linux systems we no longer prepend the -Wl,--enable-new-dtags
linker flag.
What's Changed
- [2.4] meson: Use modern linker flag for rpath by @rdmark in #1385
- [2.4] meson: Refresh the dynamic linker cache when installing on Linux by @rdmark in #1387
- [2.4] meson: Install htmldocs into htmldocs subdir by @rdmark in #1392
Full Changelog: netatalk-2-4-5...netatalk-2-4-6
Netatalk 3.2.5
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.5 is available!
The Netatalk team is proud to announce the latest version in the Netatalk 3.2 release series.
This release contains primarily improvements and bug fixes for the Meson build system. All users of the 3.2 release series are recommended to upgrade their versions to 3.2.5.
Breaking changes
Shared and static libraries
The Meson build system has been modified to use the standard library() target for libatalk and UAM libraries, which makes the build system sensitive to the -Ddefault_library
option to control whether to build static, shared, or both libraries.
As a result, on all supported platforms the default behavior is now that only shared libraries are built by default. If you need static libraries, use the option -Ddefault_library=static
or -Ddefault_library=both
.
FreeBSD init script
The FreeBSD init script is now installed into /usr/local/etc/rc.d
, previously /etc/rc.d
. This affects both Autotools and Meson build systems.
Added Features
The Meson build system got the following additional options:
-Dwith-cnid-mysql-backend
-Dwith-init-dir
(existed, but didn't work before)
Additionally, MariaDB libraries can now be used to build the MySQL CNID backend library, in addition to MySQL.
What's Changed
- meson: Fix syntax error with libiconv path by @rdmark in #1279
- meson: Correct description for with-manual option by @rdmark in #1282
- meson: Correct prefix lookup for tracker-control by @rdmark in #1284
- meson: default OPEN_NOFOLLOW_ERRNO overwrites platform customization by @rdmark in #1286
- [3.2] meson: Don't make dtags depend on rpath by @rdmark in #1293
- [3.2] meson: Remove duplicate dependency check for posix threads by @rdmark in #1297
- [3.2] meson: Better output when cryptographic UAMs aren't buil by @rdmark in #1302
- [3.2] meson: Prioritize tests and run single-threaded to avoid race condition by @rdmark in #1312
- [3.2] meson: Better way to handle rpath executable targets by @rdmark in #1315
- [3.2] meson: Refactor libcrypto check and print better status messages by @rdmark in #1299
- [3.2] Avoid using reserved keyword to build the tests on NetBSD by @rdmark in #1328
- [3.2] meson: Control the MySQL CNID backend, and support MariaDB by @rdmark in #1341
- [3.2] autotools/meson: Install FreeBSD init script into correct location by @rdmark in #1345
- [3.2] meson: Allow choosing shared or static libraries to build by @rdmark in #1321
- [3.2] meson: Implement with-init-dir option by @rdmark in #1346
- [3.2] meson: Look for libmariadb dependency to appease Fedora by @rdmark in #1348
- [3.2] meson: Do a compiler sanity check before header checks by @rdmark in #1361
- [3.2] meson: Declare have_atfuncs globally to avoid failure later by @rdmark in #1363
Full Changelog: netatalk-3-2-4...netatalk-3-2-5
Note: The Debian deb package distributed with this release is built for Debian 12 Bookworm.
Netatalk 2.4.5
Netatalk 2.4.5 is available!
The Netatalk team is proud to announce the latest version in the Netatalk 2.4 release series.
This release contains bug fixes for the Meson build system.
Notably, the Meson build system has been modified to use the standard library() target for libatalk and UAM libraries, which makes the build system sensitive to the -Ddefault_library
option to control whether to build static, shared, or both libraries.
As a result, on all supported platforms the default behavior is now that only shared libraries are built by default. If you need static libraries, use the option -Ddefault_library=static
or -Ddefault_library=both
.
All users of the 2.4 release series are recommended to upgrade their versions to 2.4.5.
What's Changed
- [2.4] meson: Fix syntax error with libiconv path by @rdmark in #1280
- [2.4] meson: default OPEN_NOFOLLOW_ERRNO overwrites platform customization by @rdmark in #1287
- [2.4] meson: Remove duplicate dependency check for posix threads by @rdmark in #1298
- [2.4] meson: Better output when cryptographic UAMs aren't built by @rdmark in #1301
- [2.4] Remove duplicate header include in server_child.h by @rdmark in #1304
- [2.4] meson: Prioritize tests and run single-threaded to avoid race condition by @rdmark in #1313
- [2.4] meson: Better way to handle rpath executable targets by @rdmark in #1318
- [2.4] meson: Refactor libcrypto check and print better status messages by @rdmark in #1319
- [2.4] Avoid using reserved keyword to build the tests on NetBSD by @rdmark in #1329
- [2.4] meson: Allow choosing shared or static libraries to build by @rdmark in #1322
- [2.4] meson: Do a compiler sanity check before header checks by @rdmark in #1362
- [2.4] meson: Declare have_atfuncs globally to avoid failure later by @rdmark in #1364
Full Changelog: netatalk-2-4-4...netatalk-2-4-5
Note: The Debian deb package distributed with this release is built for Debian 12 Bookworm.
Netatalk 3.2.4
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.4 is available!
The Netatalk team is proud to announce the latest version in the Netatalk 3.2 release series.
This release contains primarily bug fixes for the Meson build system, but also (re)introduces shared library versioning for both build systems. All users of the 3.2 release series are recommended to upgrade their versions to 3.2.4.
Breaking changes
Regardless of build system, the soversion (binary API version) of libatalk
will now be set to "18.0.0", with the shared library and symlinks created accordingly.
The version was previously:
Build system | Netatalk ver. | soversion |
---|---|---|
Autotools | 3.1.16 - 3.2.3 | 0.0.0 |
Autotools | 3.1.8 - | 17.0.0 |
Meson | 3.2.0 - 3.2.3 | 18 |
Added Features
The Meson build system got the following additional options:
with-pkgconfdir-path
with-init-style=debian
What's Changed
- meson: Introduce debian init style that installs both sysv and systemd by @rdmark in #1239
- meson: Introduce pkgconfdir override option by @rdmark in #1241
- GitHub CI: Use NetBSD 9.4 explicitly, and the head of v1 of the image by @rdmark in #1245
- meson: Add have_atfuncs check, make dtags dependent on rpath, cleanup by @rdmark in #1236
- meson: Correct overwrite install logic for config files by @rdmark in #1253
- meson: Define long-form libatalk soversion as 18.0.0 by @rdmark in #1256
- autotools: Restore ABI versioning of libatalk, set to 18.0.0 by @rdmark in #1261
Full Changelog: netatalk-3-2-3...netatalk-3-2-4
Note: The Debian deb package distributed with this release is built for Debian 12 Bookworm.
Netatalk 2.4.4
Netatalk 2.4.4 is available!
The Netatalk team is proud to announce the latest version in the Netatalk 2.4 release series.
This release contains bug fixes for the Meson build system.
Notably, Meson now defines the libatalk
shared library's version as "0.0.0" to bring it in line with what Autotools produce. It was previously set to "18" in Meson, which was a mistake when backporting this build system from the 3.x branch.
Additionally, it fixes an issue for Docker users upgrading the 2.4.2 or earlier to 2.4.3. If you had problems starting your Docker image after upgrading, please pull the 2.4.4 image, or later.
All users of the 2.4 release series are recommended to upgrade their versions to 2.4.4.
What's Changed
- [2.4] meson: Remove redundant space in psf symlink list by @rdmark in #1247
- [2.4] meson: Print spool dir in setup summary by @rdmark in #1248
- [2.4] meson: Correct overwrite install logic for package config files by @rdmark in #1252
- [2.4] meson: Symlink select binaries and install man page aliases by @rdmark in #1255
- [2.4] meson: Adjust libatalk soversion to 0.0.0 by @rdmark in #1258
- [2.4] docker: Move config files from the old pkgconfdir location by @rdmark in #1260
Full Changelog: netatalk-2-4-3...netatalk-2-4-4
Note: The Debian deb package distributed with this release is built for Debian 12 Bookworm.
Netatalk 2.4.3
Netatalk 2.4.3 is available!
The Netatalk team is proud to announce the latest version in the Netatalk 2.4 release series.
This release contains primarily bug fixes for the Meson build system. Notably, the with-rpath
option now correctly enables or disables runpath for all compiled binaries. And, a with-pkgconfdir-path
option has been introduced to override the install location of config files. All users of the 2.4 release series are recommended to upgrade their versions to 2.4.3.
What's Changed
- [2.4] Record note of permission to upgrade CNID code to a later GPL by @rdmark in #1195
- [2.4] meson: Generate papd.conf manual html page by @rdmark in #1209
- [2.4] meson: Remove obsolete 64 bit library check by @rdmark in #1211
- [2.4] meson: Enable rpath for binaries only when with-rpath is enabled by @rdmark in #1216
- [2.4] meson: Introduce check for Kerberos API when building krbV UAM by @rdmark in #1219
- [2.4] meson: Restore linking with 64-bit libdb on Solaris by @rdmark in #1223
- [2.4] meson: Fixing linking when building with with-ssl-override by @rdmark in #1229
- [2.4] meson: Introduce debian init style that installs both sysv and systemd by @rdmark in #1240
- [2.4] meson: Introduce pkgconfdir override option by @rdmark in #1242
- [2.4] meson: Add DES library check, POSIX threads check, SSL capability check by @rdmark in #1244
Full Changelog: netatalk-2-4-2...netatalk-2-4-3
Note: The Debian deb package distributed with this release is built for Debian 12 Bookworm.
Netatalk 3.2.3
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.3 is available!
The Netatalk team is proud to announce the latest version in the Netatalk 3.2 release series.
This release contains primarily bug fixes for the Meson build system. Notably, the with-rpath
option now correctly enables or disables runpath for all compiled binaries. All users of the 3.2 release series are recommended to upgrade their versions to 3.2.3.
What's Changed
- Record note of permission to upgrade CNID code to a later GPL by @rdmark in #1194
- Remove long-obsoleted cnid2_create script by @rdmark in #1203
- docker: Add option to enable ClearText and Guest UAMs by @rdmark in #1202
- docs: Standardize reference entry naming for netatalk-config man page by @rdmark in #1208
- meson: Generate afppasswd manual html page by @rdmark in #1210
- meson: Remove obsolete 64 bit library check by @dgsga in #1207
- meson: Enable rpath for binaries only when with-rpath is enabled by @rdmark in #1214
- meson: Require kerberos before enabling krb5 UAM, not just GSSAPI by @rdmark in #1218
- meson: Restore linking with 64-bit libdb on Solaris by @rdmark in #1222
- GitHub CI: Add Perl dependencies for NetBSD by @rdmark in #1228
- meson: Fixing linking when building with with-ssl-override by @rdmark in #1227
Full Changelog: netatalk-3-2-2...netatalk-3-2-3
Note: The Debian deb package distributed with this release is built for Debian 12 Bookworm.
Netatalk 3.2.2
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.2 is available!
The Netatalk team is proud to announce the latest version in the Netatalk 3.2 release series.
When using the Meson build system with the -Dwith-embedded-ssl
flag, Netatalk now relies on a system OpenSSL or LibreSSL library as the provider of the CAST cryptography functions. At the same time, we remove source files that were reportedly incompatible with the redistribution terms of this package's license. All users of the 3.2 release series are strongly recommended to upgrade their versions to 3.2.2.
What's Changed
- Create a security policy by @rdmark in #1166
- Remove obsolete Red Hat Upstart and SuSE SysV init scripts by @dgsga in #1163
- meson: Fix errors in PAM support macro by @dgsga in #1178
- meson: Fix perl shebang substitution in cnid2_create script by @dgsga in #1183
- meson: Add option to override system WolfSSL with embedded WolfSSL by @dgsga in #1176
- meson: Fix operation of D-Bus path macros by @dgsga in #1182
- Use external SSL dependency to provide cast header by @dgsga in #1186
- autotools: gcc 8.5 expects explicit library flags for libgcrypt by @rdmark in #1188
- meson: Fix errors in shadow password macro by @dgsga in #1192
Full Changelog: netatalk-3-2-1...netatalk-3-2-2
Note: The Debian deb package distributed with this release is built for Debian 12 Bookworm.
Netatalk 2.4.2
Netatalk 2.4.2 is available!
The Netatalk team is proud to announce the latest version in the Netatalk 2.4 release series.
When using the Meson build system with the -Dwith-embedded-ssl
flag, Netatalk now relies on a system OpenSSL or LibreSSL library as the provider of the CAST cryptography functions. At the same time, we remove source files that were reportedly incompatible with the redistribution terms of this package's license. All users of the 2.4 release series are strongly recommended to upgrade their versions to 2.4.2.
What's Changed
- [2.4] meson: Fix errors in PAM support macro by @dgsga in #1179
- [2.4] meson: Fix perl shebang substitution in cnid2_create script by @dgsga in #1184
- [2.4] meson: Add option to override system WolfSSL with embedded WolfSSL by @dgsga in #1175
- [2.4] Remove obsolete Red Hat Upstart and SuSE SysV init scripts by @dgsga in #1162
- [2.4] Use external SSL dependency to provide cast header (#1186) by @dgsga in #1187
- [2.4] autotools: gcc 8.5 expects explicit library flags for libgrypt by @rdmark in #1189
- [2.4] meson: Fix errors in shadow password macro by @dgsga in #1191
- [2.4] Fix Zeroconf on Alpine Linux, and in the Docker configuration by @rdmark in #1198
Full Changelog: netatalk-2-4-1...netatalk-2-4-2
Note: The Debian deb package distributed with this release is built for Debian 12 Bookworm.
Netatalk 3.2.1
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.1 is available!
The Netatalk team is proud to announce the latest version in the Netatalk 3.2 release series.
This release includes a patch for security vulnerabilities CVE-2024-38439, CVE-2024-38440, and CVE-2024-38441. Users of the 3.x release series are encouraged to update their servers to this version.
Additionally, this version reworks the configuration options for the new Meson build system, following user feedback to the prior release. See the table below for a breakdown of the changes.
The Netatalk 3 Webmin Module v1.1 is recommended to use with this version.
Please see NEWS for the full changelog.
Major Changes
Meson build system
The Meson build system was introduced in Netatalk 3.2.0, 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.
To improve the usability and consistency of the build system, we revisited the naming scheme and types of a majority of the package specific options in this version. The following table breaks down the changes between 3.2.0 and 3.2.1. Options in italics are unchanged.
3.2.0 option | takes | 3.2.1 option | takes |
---|---|---|---|
build-manual | true/false | with-manual | true/false |
build-tests | true/false | with-tests | true/false |
disable-init-hooks | true/false | with-init-hooks | true/false |
disable-largefile | true/false | with-largefile | true/false |
disable-sendfile | true/false | with-sendfile | true/false |
disable-shell-check | true/false | with-shell-check | true/false |
disable-tcp-wrappers | true/false | with-tcp-wrappers | true/false |
enable-debug | true/false | with-debug | true/false |
enable-debugging | true/false | with-debugging | true/false |
enable-krbV-uam | enabled/disabled | with-krbV-uam | true/false |
enable-overwrite | true/false | with-overwrite | true/false |
enable-pgp-uam | enabled/disabled | with-pgp-uam | true/false |
enable-quota | enabled/disabled | with-quota | true/false |
enable-rpath | true/false | with-rpath | true/false |
enable-zeroconf | enabled/disabled | with-zeroconf | true/false |
with-acls | enabled/disabled | with-acls | true/false |
with-afpstats | enabled/disabled | with-acls | true/false |
with-bdb | string | with-bdb-path | string |
with-cnid-dbd-backend | true/false | with-cnid-dbd-backend | true/false |
with-cnid-default-backend | string | with-cnid-default-backend | combo |
with-cnid-last-backend | true/false | with-cnid-last-backend | true/false |
with-cracklib | string | with-cracklib | true/false |
with-cracklib-path | string | ||
with-dbus-daemon | string | with-dbus-daemon-path | string |
with-dbus-sysconf-dir | string | with-dbus-sysconf-path | string |
with-docbook | string | with-docbook-path | string |
with-dtrace | true/false | with-dtrace | true/false |
with-embedded-ssl | true/false | with-embedded-ssl | true/false |
with-gssapi | string | with-gssapi | true/false |
with-gssapi-path | string | ||
with-init-dir | string | with-init-dir | string |
with-init-style | combo | with-init-style | combo |
with-kerberos | enabled/disabled | with-kerberos | true/false |
with-ldap | string | with-ldap | true/false |
with-ldap-path | string | ||
with-libgcrypt-dir | string | with-libgcrypt-path | true/false |
with-libiconv | string | with-libiconv | true/false |
with-libiconv-path | string | ||
with-libtirpc | true/false | REMOVED | |
with-lockfile | string | with-lockfile-path | string |
with-mysql-config | string | with-mysql-config | string |
with-pam | string | with-pam-path | string |
without-pam | true/false | with-pam | true/false |
with-shadow | enabled/disabled | with-shadow | true/false |
with-spotlight | enabled/disabled | with-spotlight | true/false |
with-ssl-dir | string | REMOVED | |
with-tracker-install-prefix | string | with-tracker-install-prefix | string |
with-tracker-pkgconfig-version | string | REMOVED | |
with-tracker-prefix | string | with-tracker-prefix | string |
with-uams-path | string | with-uams-path | string |
Bundled WolfSSL
WolfSSL was introduced in Netatalk 3.2.0 as the recommended SSL provider for the DHX (DHCAST128) and Random Number user authentication modules.
In addition to the bundled WolfSSL library, the latest version of Netatalk now supports building with system provided WolfSSL libraries. At the time of release, only Debian and Ubuntu could be confirmed shipping a fully-featured WolfSSL library.
Alpine Linux, Arch Linux, DragonFly BSD and FreeBSD also ship WolfSSL libraries. However in our testing neither were complete enough to be used with Netatalk. On these platforms we will still use the bundled WolfSSL library.
What's Changed
- meson: Fix -Doption paths on systems where rpath is enabled by default by @dgsga in #1053
- meson: Fix library search macro on Omnios hosts by @dgsga in #1056
- docker: Don't bail out when password is longer than 8 chars by @rdmark in #1067
- meson: afpstats should depend on Perl; don't install dev scripts by @rdmark in #1070
- meson: set setuid bit to allow user afppasswd changing by @rdmark in #1071
- meson: Fix logic of UCS-2-INTERNAL detection macro by @dgsga in #1075
- meson: Address various issues with the meson build system by @dgsga in #1082
- Use portable linux macro in etc/afpd header by @dgsga in #1083
- meson: Further refinements to meson build system by @dgsga in #1086
- meson: Fix issues with quota support on linux and macOS hosts by @dgsga in #1092
- meson: Simplify options semantics and standardize feature macros by @dgsga in #1099
- docker: Bump to Alpine 3.20 base image by @rdmark in #1111
- docker: Correct group management for Alpine by @rdmark in #1116
- meson: Set executable flags when installing scripts by @rdmark in #1117
- meson: with-rpath syntax is invalid by @rdmark in #1130
- docs: Indicate license for software package, and add SSLeay notice by @rdmark in #1125
- autotools and meson: Use pkg-config to find libgcrypt by @dgsga in #1132
- Debian Trixie expects systemd scripts in /usr/lib by @rdmark in #1135
- Add copyright for mac_roman.h by @rdmark in #1137
- Cleanup of copyright headers to make them more scanner friendly by @rdmark in #1142
- Remove unused atalk/talloc.h header by @dgsga in #1154
- CVE-2024-38439,CVE-2024-38440,CVE-2024-38441: Harden user login by @rdmark in #1158
- docs: Rephrase tarball section of manual by @rdmark in #1164
- meson: Prioritize native WolfSSL package over built-in SSL library if it has the correct configuration by @dgsga in #1160
- Changelog for 3.2.1 release by @rdmark in #1168
Full Changelog: netatalk-3-2-0...netatalk-3-2-1
Note: The Debian deb package distributed with this release is built for Debian 12 Bookworm.