From: Frank Lahm Date: Tue, 8 Mar 2011 15:53:54 +0000 (+0100) Subject: Dont disconnect sessions if boottimes dont match X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?p=netatalk.git;a=commitdiff_plain;h=843cf5d12594598bf65cd6d71e12a7f277a91828 Dont disconnect sessions if boottimes dont match --- diff --git a/NEWS b/NEWS index 13d0b494..dc4b1f0b 100644 --- a/NEWS +++ b/NEWS @@ -4,6 +4,7 @@ Changes in 2.2beta3 * FIX: afpd: fix option volsizelimit to return a usefull value for the volume free space using `du -sh` with popen * FIX: afpd: fix idle connection disconnects +* FIX: afpd: don't disconnect sessions for clients if boottimes don't match Changes in 2.2beta2 ==================== diff --git a/libatalk/util/server_child.c b/libatalk/util/server_child.c index 63f3683a..ecefbd2c 100644 --- a/libatalk/util/server_child.c +++ b/libatalk/util/server_child.c @@ -337,9 +337,9 @@ void server_child_kill_one_by_id(server_child *children, int forkid, pid_t pid, "Session with different pid[%u]", child->pid); } } else { - kill_child(child); - LOG(log_note, logtype_default, - "Terminated disconnected session[%u]", child->pid); + /* One client with multiple sessions */ + LOG(log_debug, logtype_default, + "Found another session[%u] for client[%u]", child->pid, pid); } } } else { @@ -347,7 +347,7 @@ void server_child_kill_one_by_id(server_child *children, int forkid, pid_t pid, child->time = boottime; if (child->clientid) free(child->clientid); - LOG(log_debug, logtype_default, "Setting client ID for %d", child->pid); + LOG(log_debug, logtype_default, "Setting client ID for %u", child->pid); child->uid = uid; child->valid = 1; child->idlen = idlen;