diff options
-rw-r--r-- | include/libbb.h | 7 | ||||
-rw-r--r-- | include/shadow_.h | 16 |
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 @@ #include <pwd.h> #include <grp.h> #if ENABLE_FEATURE_SHADOWPASSWDS -# include <shadow.h> +# if !ENABLE_USE_BB_SHADOW +/* If using busybox's shadow implementation, do not include the shadow.h + * header as the toolchain may not provide it at all. + */ +# include <shadow.h> +# endif #endif /* 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 @@ PUSH_AND_SET_FUNCTION_VISIBILITY_TO_HIDDEN -/* This file is #included after #include <shadow.h> - * We will use libc-defined structures, but will #define function names - * so that function calls are directed to bb_internal_XXX replacements - */ +/* Structure of the password file */ +struct spwd { + char *sp_namp; /* Login name */ + char *sp_pwdp; /* Encrypted password */ + long sp_lstchg; /* Date of last change */ + long sp_min; /* Minimum number of days between changes */ + long sp_max; /* Maximum number of days between changes */ + long sp_warn; /* Number of days to warn user to change the password */ + long sp_inact; /* Number of days the account may be inactive */ + long sp_expire; /* Number of days since 1970-01-01 until account expires */ + unsigned long sp_flag; /* Reserved */ +}; /* Paths to the user database files */ #ifndef _PATH_SHADOW |