diff options
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/krb5/posix/ChangeLog | 4 | ||||
| -rw-r--r-- | src/lib/krb5/posix/daemon.c | 95 |
2 files changed, 4 insertions, 95 deletions
diff --git a/src/lib/krb5/posix/ChangeLog b/src/lib/krb5/posix/ChangeLog index 8c0f0edec..9ba5e1033 100644 --- a/src/lib/krb5/posix/ChangeLog +++ b/src/lib/krb5/posix/ChangeLog @@ -1,3 +1,7 @@ +2004-02-24 Ken Raeburn <raeburn@mit.edu> + + * daemon.c: Moved to util/apputils. + 2003-08-21 Ken Raeburn <raeburn@mit.edu> * Makefile.in (STLIBOBJS, OBJS): Empty. diff --git a/src/lib/krb5/posix/daemon.c b/src/lib/krb5/posix/daemon.c deleted file mode 100644 index 00dde4882..000000000 --- a/src/lib/krb5/posix/daemon.c +++ /dev/null @@ -1,95 +0,0 @@ -/*- - * Copyright (c) 1990 The Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include "k5-int.h" -#include <fcntl.h> -#include <sys/types.h> -#include <sys/file.h> -#include <unistd.h> -#ifdef HAVE_PATHS_H -#include <paths.h> -#endif - -#ifndef _PATH_DEVNULL -#define _PATH_DEVNULL "/dev/null" -#endif - -int -daemon(nochdir, noclose) - int nochdir, noclose; -{ - int cpid; - - if ((cpid = fork()) == -1) - return (-1); - if (cpid) - exit(0); -#ifdef HAVE_SETSID - (void) setsid(); -#else -#ifndef TIOCNOTTY - setpgrp(); -#else - { - int n; - - /* - * The open below may hang on pseudo ttys if the person - * who starts named logs out before this point. Thus, - * the need for the timer. - */ - alarm(120); - n = open("/dev/tty", O_RDWR); - alarm(0); - if (n > 0) { - (void) ioctl(n, TIOCNOTTY, (char *)NULL); - (void) close(n); - } - } -#endif -#endif - if (!nochdir) - (void) chdir("/"); - if (!noclose) { - int devnull = open(_PATH_DEVNULL, O_RDWR, 0); - - if (devnull != -1) { - (void) dup2(devnull, 0); - (void) dup2(devnull, 1); - (void) dup2(devnull, 2); - if (devnull > 2) - (void) close(devnull); - } - } - return (0); -} |
