Skip Menu |
 

Download (untitled) / with headers
text/plain 2.1KiB
From john@kerberos-1.iastate.edu Wed Jan 8 16:49:14 2003
Received: from pacific-carrier-annex.mit.edu (PACIFIC-CARRIER-ANNEX.MIT.EDU [18.7.21.83]) by krbdev.mit.edu (8.9.3) with ESMTP
id QAA02160; Wed, 8 Jan 2003 16:49:14 -0500 (EST)
From: john@kerberos-1.iastate.edu
Received: from kerberos-1.iastate.edu (kerberos-1.iastate.edu [129.186.140.201])
by pacific-carrier-annex.mit.edu (8.9.2/8.9.2) with ESMTP id QAA19673
for <krb5-bugs@mit.edu>; Wed, 8 Jan 2003 16:49:13 -0500 (EST)
Received: (from root@localhost)
by kerberos-1.iastate.edu (8.11.6/8.11.6) id h08LnC629964;
Wed, 8 Jan 2003 15:49:12 -0600 (CST)
Date: Wed, 8 Jan 2003 15:49:12 -0600 (CST)
Message-Id: <200301082149.h08LnC629964@kerberos-1.iastate.edu>
To: krb5-bugs@mit.edu
Subject: killing kadmind4's zombie children
Reply-To: john@kerberos-1.iastate.edu
X-send-pr-version: 3.99


Show quoted text
>Submitter-Id: net
>Originator: john@iastate.edu
>Organization:
The Office of Academic Information Technologies
Iowa State University of Science and Technology
Show quoted text
>Confidential: no
>Synopsis: kadmind4
>Severity: serious
>Priority: medium
>Category: krb5-admin
>Class:
>Release: krb5-1.2.6
>Environment:
System: NetBSD kerberos-1.iastate.edu 1.6_STABLE NetBSD 1.6_STABLE (KERBEROS) #2: Fri Dec 20 14:19:28 CST 2002 root@aurora.ait.iastate.edu:/usr/NetBSD/kernels/compile/KERBEROS i386

Show quoted text
>Description:
kadmind4 was leaving a zombie process for every (change password)
request.
Show quoted text
>How-To-Repeat:
(see fix below)
Show quoted text
>Fix:
Need to make sure that the 'struct sigaction' is properly initialized,
else the success/failure of the sigaction() call is non-deterministic.
To wit (in routine kadm_listen in admin_server.c):

#ifdef POSIX_SIGNALS
struct sigaction new_act;

memset(&new_act, 0, sizeof(new_act)); /* ADD THIS LINE */
new_act.sa_handler = doexit;
sigemptyset(&new_act.sa_mask);
sigaction(SIGINT, &new_act, 0);
sigaction(SIGTERM, &new_act, 0);
sigaction(SIGHUP, &new_act, 0);
sigaction(SIGQUIT, &new_act, 0);
sigaction(SIGALRM, &new_act, 0);
new_act.sa_handler = SIG_IGN;
sigaction(SIGPIPE, &new_act, 0);
new_act.sa_handler = do_child;
sigaction(SIGCHLD, &new_act, 0);
From: tlyu@mit.edu
Subject: CVS Commit
Thanks; equivalent patch applied.

* admin_server.c (kadm_listen): Zero sa_flags to avoid wonkiness.


To generate a diff of this commit:



cvs diff -r1.54 -r1.55 krb5/src/kadmin/v4server/ChangeLog
cvs diff -r1.17 -r1.18 krb5/src/kadmin/v4server/admin_server.c