Skip Menu |

Download (untitled) / with headers
text/plain 2.1KiB
From Wed Jan 8 16:49:14 2003
Received: from (PACIFIC-CARRIER-ANNEX.MIT.EDU []) by (8.9.3) with ESMTP
id QAA02160; Wed, 8 Jan 2003 16:49:14 -0500 (EST)
Received: from ( [])
by (8.9.2/8.9.2) with ESMTP id QAA19673
for <>; Wed, 8 Jan 2003 16:49:13 -0500 (EST)
Received: (from root@localhost)
by (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: <>
Subject: killing kadmind4's zombie children
X-send-pr-version: 3.99

Show quoted text
>Submitter-Id: net
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
>Release: krb5-1.2.6
System: NetBSD 1.6_STABLE NetBSD 1.6_STABLE (KERBEROS) #2: Fri Dec 20 14:19:28 CST 2002 i386

Show quoted text
kadmind4 was leaving a zombie process for every (change password)
Show quoted text
(see fix below)
Show quoted text
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):

struct sigaction new_act;

memset(&new_act, 0, sizeof(new_act)); /* ADD THIS LINE */
new_act.sa_handler = doexit;
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);
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