aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2009-07-09 01:33:20 -0400
committerMike Frysinger <vapier@gentoo.org>2009-07-09 01:35:29 -0400
commit52a426744e1d58229397d2935e62a1f3e374619c (patch)
treed6ea3c2a36abdf25fbde3fe60762d3d85eb26be7
parent4c8a721b45ed1a9bfd83ec87e26a8c60550a15e7 (diff)
downloadbusybox-w32-52a426744e1d58229397d2935e62a1f3e374619c.tar.gz
busybox-w32-52a426744e1d58229397d2935e62a1f3e374619c.tar.bz2
busybox-w32-52a426744e1d58229397d2935e62a1f3e374619c.zip
restore shadow.h independence
Commit ee5dce336597 made busybox require shadow.h from the toolchain even if the config opted for the internal busybox implementation. This makes building with toolchains that lack shadow support impossible. Since the merge only saved us from duplicating a simple structure (whose ABI isn't going to ever change), restore the logic for complete busybox shadow independence by reverting that previous commit slightly. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
-rw-r--r--include/libbb.h7
-rw-r--r--include/shadow_.h16
2 files changed, 18 insertions, 5 deletions
diff --git a/include/libbb.h b/include/libbb.h
index 6f4c547e5..422670f19 100644
--- a/include/libbb.h
+++ b/include/libbb.h
@@ -76,7 +76,12 @@
76#include <pwd.h> 76#include <pwd.h>
77#include <grp.h> 77#include <grp.h>
78#if ENABLE_FEATURE_SHADOWPASSWDS 78#if ENABLE_FEATURE_SHADOWPASSWDS
79# include <shadow.h> 79# if !ENABLE_USE_BB_SHADOW
80/* If using busybox's shadow implementation, do not include the shadow.h
81 * header as the toolchain may not provide it at all.
82 */
83# include <shadow.h>
84# endif
80#endif 85#endif
81 86
82/* Some libc's forget to declare these, do it ourself */ 87/* Some libc's forget to declare these, do it ourself */
diff --git a/include/shadow_.h b/include/shadow_.h
index 02d3bf9a5..98bd45d04 100644
--- a/include/shadow_.h
+++ b/include/shadow_.h
@@ -24,10 +24,18 @@
24 24
25PUSH_AND_SET_FUNCTION_VISIBILITY_TO_HIDDEN 25PUSH_AND_SET_FUNCTION_VISIBILITY_TO_HIDDEN
26 26
27/* This file is #included after #include <shadow.h> 27/* Structure of the password file */
28 * We will use libc-defined structures, but will #define function names 28struct spwd {
29 * so that function calls are directed to bb_internal_XXX replacements 29 char *sp_namp; /* Login name */
30 */ 30 char *sp_pwdp; /* Encrypted password */
31 long sp_lstchg; /* Date of last change */
32 long sp_min; /* Minimum number of days between changes */
33 long sp_max; /* Maximum number of days between changes */
34 long sp_warn; /* Number of days to warn user to change the password */
35 long sp_inact; /* Number of days the account may be inactive */
36 long sp_expire; /* Number of days since 1970-01-01 until account expires */
37 unsigned long sp_flag; /* Reserved */
38};
31 39
32/* Paths to the user database files */ 40/* Paths to the user database files */
33#ifndef _PATH_SHADOW 41#ifndef _PATH_SHADOW