Package: netatalk Version: 2.2.5-1 Severity: normal Tags: patch Dear Maintainer,
When accessing an AFP server from an old client (using ASP/DDP) with the default configuration (with atalkd and DDP enabled, of course), no volumes are shown. This is because afpd ignores the AppleVolumes.default file and the uservols for ASP/DDP sessions. It only shows volumes defined in AppleVolumes.system (and the default configuration has none). etc/afpd/volume.c's load_volumes function contains a check (line 1962) which disables AppleVolumes.default loading if the parent_or_child variable indicates that it's directly running in the main afpd process. This variable is updated after the fork() in libatalk/dsi/dsi_tcp.c, so the correct volumes are shown when using AFP over TCP. The ASP session manager also forks when a new session is created (line 270 of libatalk/asp/asp_getsess.c) but does not set the parent_or_child variable, so load_volumes will not load the user-specific volumes nor AppleVolumes.default on ASP. The attached patch sets parent_or_child = 1 after this fork(), so clients which use ASP/DDP will get the correct user-specific volumes. Thanks. -- System Information: Debian Release: jessie/sid APT prefers testing APT policy: (500, 'testing') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 3.14-2-amd64 (SMP w/2 CPU cores) Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages netatalk depends on: ii libacl1 2.2.52-1.1 ii libattr1 1:2.4.47-1 ii libavahi-client3 0.6.31-4 ii libavahi-common3 0.6.31-4 ii libc6 2.19-9 ii libcomerr2 1.42.11-2 ii libcrack2 2.9.1-1+b2 ii libcups2 1.7.5-1 ii libdb5.3 5.3.28-6 ii libgcrypt11 1.5.4-2 ii libgssapi-krb5-2 1.12.1+dfsg-7 ii libk5crypto3 1.12.1+dfsg-7 ii libkrb5-3 1.12.1+dfsg-7 ii libldap-2.4-2 2.4.39-1.1+b1 ii libpam-modules 1.1.8-3.1 ii libpam0g 1.1.8-3.1 ii libwrap0 7.6.q-25 ii netbase 5.2 ii perl 5.20.0-4 Versions of packages netatalk recommends: ii avahi-daemon 0.6.31-4 pn cracklib-runtime <none> pn db-util <none> pn libpam-cracklib <none> ii lsof 4.86+dfsg-1 ii procps 1:3.3.9-7 pn rc <none> Versions of packages netatalk suggests: pn db4.2-util <none> pn groff <none> pn quota <none> ii texlive-binaries [texlive-base-bin] 2014.20140528.34243-5 -- Configuration Files: /etc/default/netatalk changed [not included] /etc/netatalk/AppleVolumes.default changed [not included] /etc/netatalk/afpd.conf changed [not included] -- no debconf information
Description: Fix child status of ASP session processes Author: Vincent Duvert <vinc...@duvert.net> --- netatalk-2.2.5.orig/libatalk/asp/asp_getsess.c +++ netatalk-2.2.5/libatalk/asp/asp_getsess.c @@ -269,6 +269,7 @@ ASP asp_getsession(ASP asp, server_child int dummy[2]; switch ((pid = fork())) { case 0 : /* child */ + parent_or_child = 1; server_reset_signal(); /* free/close some things */ for (i = 0; i < children->nsessions; i++ ) {