aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2002-07-03 04:47:43 +0000
committerEric Andersen <andersen@codepoet.org>2002-07-03 04:47:43 +0000
commit7234c3a0b6e95e0a3c2d907674dedfe930d491e0 (patch)
treec6f6e49920b7900bec59deef3364f3938a313cfa
parent009ae1f17daa320836c4215c16ea1c0db12a5d07 (diff)
downloadbusybox-7234c3a0b6e95e0a3c2d907674dedfe930d491e0.tar.gz
Cleanup shadow.h stuff so it behaves as intended
-Erik
-rw-r--r--include/shadow.h81
-rw-r--r--libbb/pwd2spwd.c2
-rw-r--r--libpwdgrp/shadow.c3
-rw-r--r--loginutils/config.in4
-rw-r--r--sysdeps/linux/config.in4
5 files changed, 6 insertions, 88 deletions
diff --git a/include/shadow.h b/include/shadow.h
deleted file mode 100644
index 44e4b5878..000000000
--- a/include/shadow.h
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Copyright 1988 - 1994, Julianne Frances Haugh <jockgrrl@austin.rr.com>
- * 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. Neither the name of Julianne F. Haugh 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 JULIE HAUGH 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 JULIE HAUGH 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.
- */
-
-#ifndef __CONFIG_SHADOW_H
-#define __CONFIG_SHADOW_H
-
-#if !defined CONFIG_USE_BB_SHADOW
-#include_next <shadow.h>
-
-#else
-
-/*
- * This information is not derived from AT&T licensed sources. Posted
- * to the USENET 11/88, and updated 11/90 with information from SVR4.
- *
- * $Id: shadow.h,v 1.1 2002/06/04 20:10:10 sandman Exp $
- */
-
-typedef long sptime;
-
-/*
- * Shadow password security file structure.
- */
-
-struct spwd {
- char *sp_namp; /* login name */
- char *sp_pwdp; /* encrypted password */
- sptime sp_lstchg; /* date of last change */
- sptime sp_min; /* minimum number of days between changes */
- sptime sp_max; /* maximum number of days between changes */
- sptime sp_warn; /* number of days of warning before password
- expires */
- sptime sp_inact; /* number of days after password expires
- until the account becomes unusable. */
- sptime sp_expire; /* days since 1/1/70 until account expires */
- unsigned long sp_flag; /* reserved for future use */
-};
-
-/*
- * Shadow password security file functions.
- */
-
-#include <stdio.h> /* for FILE */
-
-struct spwd *getspent(void);
-struct spwd *sgetspent(const char *);
-struct spwd *fgetspent(FILE *);
-void setspent(void);
-void endspent(void);
-int putspent(const struct spwd *, FILE *);
-struct spwd *getspnam(const char *name);
-
-#endif /* CONFIG_USE_BB_SHADOW */
-
-#endif /* __CONFIG_SHADOW_H */
diff --git a/libbb/pwd2spwd.c b/libbb/pwd2spwd.c
index a04de5f0f..3dd625b27 100644
--- a/libbb/pwd2spwd.c
+++ b/libbb/pwd2spwd.c
@@ -31,7 +31,7 @@
#include <time.h>
#include <sys/types.h>
#include "libbb.h"
-#include "shadow.h"
+#include "shadow_.h"
/*
* pwd_to_spwd - create entries for new spwd structure
diff --git a/libpwdgrp/shadow.c b/libpwdgrp/shadow.c
index 6cf195e4a..c79417383 100644
--- a/libpwdgrp/shadow.c
+++ b/libpwdgrp/shadow.c
@@ -39,8 +39,7 @@
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
-
-#include "shadow.h"
+#include "shadow_.h"
static FILE *shadow;
static char spwbuf[BUFSIZ];
diff --git a/loginutils/config.in b/loginutils/config.in
index b3880aa3d..1d8a98633 100644
--- a/loginutils/config.in
+++ b/loginutils/config.in
@@ -7,6 +7,7 @@ mainmenu_option next_comment
comment 'Login/Password Management Utilities'
+bool 'Use internal password and group functions instead of the system functions' CONFIG_USE_BB_PWD_GRP
bool 'addgroup' CONFIG_ADDGROUP
bool 'adduser' CONFIG_ADDUSER
bool 'deluser' CONFIG_DELUSER
@@ -20,6 +21,9 @@ bool 'passwd' CONFIG_PASSWD
bool 'su' CONFIG_SU
if [ "$CONFIG_ADDUSER" = "y" -o "$CONFIG_DELUSER" = "y" -o "$CONFIG_LOGIN" = "y" -o "$CONFIG_SU" = "y" ]; then
bool ' Support for shadow passwords' CONFIG_FEATURE_SHADOWPASSWDS
+ if [ "$CONFIG_USE_BB_PWD_GRP" = "y" -a "$CONFIG_FEATURE_SHADOWPASSWDS" = "y" ]; then
+ bool ' Use busybox shadow password functions' CONFIG_USE_BB_SHADOW
+ fi
fi
bool 'sulogin' CONFIG_SULOGIN
bool 'vlock' CONFIG_VLOCK
diff --git a/sysdeps/linux/config.in b/sysdeps/linux/config.in
index e2ae0e8c4..adcc77089 100644
--- a/sysdeps/linux/config.in
+++ b/sysdeps/linux/config.in
@@ -20,10 +20,6 @@ bool 'Support for SUID/SGID handling' CONFIG_FEATURE_SUID
if [ "$CONFIG_FEATURE_SUID" = "y" ]; then
bool ' Runtime configuration via /etc/busybox.conf' CONFIG_FEATURE_SUID_CONFIG
fi
-bool 'Use busybox password and group functions' CONFIG_USE_BB_PWD_GRP
-if [ "$CONFIG_USE_BB_PWD_GRP" = "y" ]; then
- bool ' Use busybox shadow password functions' CONFIG_USE_BB_SHADOW
-fi
endmenu
source archival/config.in