Netatalk / netatalk

Netatalk is a Free and Open Source AFP fileserver. A *NIX or BSD system running Netatalk is capable of serving many Macintosh clients simultaneously as an AppleShare file server.
https://netatalk.io
GNU General Public License v2.0
354 stars 87 forks source link

Limit FPGetSrvrInfo packet for AppleTalk clients #1671

Closed NJRoadfan closed 3 weeks ago

NJRoadfan commented 3 weeks ago

Early AppleTalk clients struggle with FPGetSrvrInfo packets that have a payload larger then 512 bytes. In many cases they claim that they received no response from the server. In some cases they may even crash.

To resolve this, craft a response just for AppleTalk clients without most of the AFP3.x only options (UTF8 server name, Directory Name, etc.). In addition, unless a custom icon is sent, the server will not send an icon image to AppleTalk clients by default.

Fixes: #1661

rdmark commented 3 weeks ago

As a side note, since the testsuite is operational now, adding validation of FPGetSrvInfo responses would be a valuable area to explore. AFAICT we only validate that a non-error is returned in test1 (literally the first test in the suite).