• Updated 2023-07-12: Hello, Guest! Welcome back, and be sure to check out this follow-up post about our outage a week or so ago.

Netatalk 2.2.7 Released

slipperygrey

Well-known member
Five and a half years in the making: We finally have an official upstream Netatalk 2.2.7 release.

Since 2.2.6 was completely broken on Linux, this is the first properly useful Netatalk release for 68k Macs since 2013.

Note that the Github changelog isn't complete. Please see NEWS for the full changelog.

I still can't believe we finally pulled this off. I couldn't have made this happen without the kind support and effort from the community, including @NJRoadfan, @cheesestraws, Chris Kobayashi, Nat and Hauke from the NetBSD community, and of course the sole active Netatalk maintainer slowfranklin. Apologies in advance if I forgot to mention someone!

My own Netatalk 2.x fork is alive and well, and probably still the better choice if you're building from scratch, but the exciting part about having an official upstream release is that package maintainers of major distros out there can start integrating it. Wouldn't it be neat if Netatalk 2 was just an apt-get away again? :)
 

slipperygrey

Well-known member
Uninitiated questions: what’s it do, can it run on macOS?
LMWTFY ;)

Netatalk proper does not run on macOS (ironically). However there's a Netatalk3 fork that someone else made that supposedly does. I haven't tested it myself.

Please note that Netatalk3 does *not* support the AppleTalk / DDP protocol, so you're stuck with TCP/IP which is not compatible with older Macs and Apple IIs.

The reason I've worked so hard to keep Netatalk2 alive is for the AppleTalk support.
 

blindowl

Well-known member
@slipperygrey I decided to remove the old 2.2.5 installation from my Debian machine and update to 2.2.7. AppleShare still works fine under modern macOS 13, older Mac OS X Sever 10.5.8 and over TCP/IP in Basiilisk II and a Mac OS 9 laptop. But I can't get the share to show up in Chooser anymore. I'm using pretty much the same settings as with 2.2.5 (I had to change a few UAM's to make the share work under modern macOS), so I'm not sure what is wrong. Do you have any advise? Thanks!

This is the atalkd.conf (same as I used with 2.2.5):
eno1 -seed -phase 2 -net 0-65534 -addr 66.7

When starting atalkd.service:
Jan 23 14:48:35 Lnx002-HP8200 systemd[1]: Starting Netatalk AppleTalk daemon...
Jan 23 14:48:35 Lnx002-HP8200 atalkd[2745]: Set syslog logging to level: LOG_DEBUG
Jan 23 14:48:35 Lnx002-HP8200 atalkd[2745]: restart (2.2.7)
Jan 23 14:48:36 Lnx002-HP8200 atalkd[2745]: zip_getnetinfo for eno1
Jan 23 14:48:46 Lnx002-HP8200 atalkd[2745]: zip_getnetinfo for eno1
Jan 23 14:48:56 Lnx002-HP8200 atalkd[2745]: zip_getnetinfo for eno1
Jan 23 14:49:06 Lnx002-HP8200 atalkd[2745]: config for no router
Jan 23 14:49:07 Lnx002-HP8200 atalkd[2745]: ready 0/0/0
Jan 23 14:49:07 Lnx002-HP8200 systemd[1]: Started Netatalk AppleTalk daemon.

This is the afpd.conf:
"AppleShare Server" -transall -uamlist uams_guest.so,uams_clrtxt.so,uams_dhx2.so -nosavepassword -icon

When starting afpd.service:
Jan 23 14:43:32 Lnx002-HP8200 systemd[1]: Starting Netatalk AFP fileserver for Macintosh clients...
Jan 23 14:43:32 Lnx002-HP8200 systemd[1]: Started Netatalk AFP fileserver for Macintosh clients.
Jan 23 14:43:32 Lnx002-HP8200 afpd[30460]: AFP/TCP started, advertising 10.0.1.7:548 (2.2.7)
Jan 23 14:48:20 Lnx002-HP8200 afpd[2591]: AFP3.3 Login by appleshare
 

hauke

Active member
Five and a half years in the making: We finally have an official upstream Netatalk 2.2.7 release.

Since 2.2.6 was completely broken on Linux, this is the first properly useful Netatalk release for 68k Macs since 2013.

IBTD.

The above sentence needs some qualification: I found 2.2.6 completely usable on NetBSD.
Not all of us confine themselves to Wind^WLinux. ;->

But that doesn't take anything away from the achievement that is 2.2.7.
 

3lectr1cPPC

Well-known member
I ran into this same problem after upgrading to 18.04. The root cause is this patch, which was included in 2.2.6:

https://github.com/Netatalk/Netatalk/commit/bbc0d89c056be3a2b5efa6bf5428f7ba8f07a1d0

It tries to fix things for NetBSD, but in the process breaks things in Linux.

This is disgusting, but I manually patched the atalkd binary on my amd64 server to undo the patch, thus fixing this issue (netatalk 2.2.6-1ubuntu0.18.04.2):

At 0x70AA, change the byte from 0x01 to 0x00.
At 0x70BA, change the byte from 0x01 to 0x00.
Quote taken from the page linked by slipperygrey
 

avadondragon

Well-known member
Thank you so much for all the hard work! I can't wait to be able to just apt install Netatalk again! I remember when it suddenly stopped working and what a nightmare it was figuring out why and having to roll back to the older version. Good times.
 
Last edited:

NJRoadfan

Well-known member
@slipperygrey I decided to remove the old 2.2.5 installation from my Debian machine and update to 2.2.7. AppleShare still works fine under modern macOS 13, older Mac OS X Sever 10.5.8 and over TCP/IP in Basiilisk II and a Mac OS 9 laptop. But I can't get the share to show up in Chooser anymore. I'm using pretty much the same settings as with 2.2.5 (I had to change a few UAM's to make the share work under modern macOS), so I'm not sure what is wrong. Do you have any advise? Thanks!
Add "-ddp" to afpd.conf.
 

blindowl

Well-known member
Add "-ddp" to afpd.conf.
I’m using -transall, meaning both TCP and DDP. Using -ddp -tcp also gives the same result.

If I use -ddp only, it seems like it’s still activating TCP.

If I explicitly disable TCP with -ddp -notcp it errors with afpd[10686]: main: no servers configured. Which is weird.
 

NJRoadfan

Well-known member
The 2.x fork doesn't require the --enable-ddp switch when running the configure script, while the official 2.2.7 release still does.
 

blindowl

Well-known member
Try
Code:
"AppleShare Server" - -transall -uamlist uams_guest.so,uams_clrtxt.so,uams_dhx2.so -nosavepassword -icon

Note the extra dash, this is needed for some reason.
Good catch!

From afpd.conf:
Format:
- [options] to specify options for the default server
I guess because I omitted the dash, I didn't have a default server in the config. Therefore the afpd[10686]: main: no servers configured. error. Maybe..

The 2.x fork doesn't require the --enable-ddp switch when running the configure script, while the official 2.2.7 release still does.
Yep, did that. Missed it at first and afpd.service failed starting when the bin was missing.

Anyway, now with the fork, it's all working again! Trying timelord now which I didn't have before. Great utility!
 

slipperygrey

Well-known member
The 2.x fork doesn't require the --enable-ddp switch when running the configure script, while the official 2.2.7 release still does.

Very true. This is poorly documented I suppose. In fact, you may have to run configure like this to enable all the good stuff in upstream 2.2.7:

./configure --enable-systemd --enable-ddp --enable-a2boot --enable-cups --enable-timelord --enable-zeroconf

In my 2.x fork the only one that isn't enabled by default is "--enable-systemd"... And perhaps I should make that the default too now, given that systemd has become quite dominant.
 

slipperygrey

Well-known member
Thank you so much for all the hard work! I can't wait to be able to just apt install Netatalk again! I remember when it suddenly stopped working and what a nightmare it was figuring out why and having to roll back to the older version. Good times.
You're welcome. Unfortunately, I learned recently that Debian has lost its Netatalk package manager. In fact, even Netatalk 3 is in danger of being dropped from the upcoming stable Debian release (Bookworm.) So the dream of having Netatalk 2 an apt command away seems distant indeed.

If you want a Netatalk friendly OS you may want to considering joining @hauke and others in NetBSD land. ;)
 
Top