summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2006-12-30 14:46:51 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2006-12-30 14:46:51 +0000
commitb5a122b6f9643fb052d31390e435397960289154 (patch)
treea6e22557206650da7a44300823621cbb17c86293
parentd9e4ddc38b38b7cf6cc7bdd9dcf6794f8aad8d2e (diff)
downloadbusybox-w32-b5a122b6f9643fb052d31390e435397960289154.tar.gz
busybox-w32-b5a122b6f9643fb052d31390e435397960289154.tar.bz2
busybox-w32-b5a122b6f9643fb052d31390e435397960289154.zip
fix for uclibc-without-shadow.h compilation
-rw-r--r--include/libbb.h20
-rw-r--r--loginutils/passwd.c4
-rw-r--r--loginutils/sulogin.c4
3 files changed, 18 insertions, 10 deletions
diff --git a/include/libbb.h b/include/libbb.h
index 6948695e9..5d7248104 100644
--- a/include/libbb.h
+++ b/include/libbb.h
@@ -39,25 +39,29 @@
39#include <unistd.h> 39#include <unistd.h>
40#include <utime.h> 40#include <utime.h>
41 41
42#ifdef CONFIG_SELINUX 42#if ENABLE_SELINUX
43#include <selinux/selinux.h> 43#include <selinux/selinux.h>
44#endif 44#endif
45 45
46#ifdef CONFIG_LOCALE_SUPPORT 46#if ENABLE_LOCALE_SUPPORT
47#include <locale.h> 47#include <locale.h>
48#else 48#else
49#define setlocale(x,y) 49#define setlocale(x,y) ((void)0)
50#endif 50#endif
51 51
52#include "pwd_.h" 52#include "pwd_.h"
53#include "grp_.h" 53#include "grp_.h"
54/* ifdef it out, because it may include <shadow.h> */
55/* and we may not even _have_ <shadow.h>! */
56#if ENABLE_FEATURE_SHADOWPASSWDS
54#include "shadow_.h" 57#include "shadow_.h"
58#endif
55 59
56/* Try to pull in PATH_MAX */ 60/* Try to pull in PATH_MAX */
57#include <limits.h> 61#include <limits.h>
58#include <sys/param.h> 62#include <sys/param.h>
59#ifndef PATH_MAX 63#ifndef PATH_MAX
60#define PATH_MAX 256 64#define PATH_MAX 256
61#endif 65#endif
62 66
63/* Tested to work correctly (IIRC :]) */ 67/* Tested to work correctly (IIRC :]) */
@@ -142,12 +146,12 @@
142#endif 146#endif
143 147
144/* buffer allocation schemes */ 148/* buffer allocation schemes */
145#ifdef CONFIG_FEATURE_BUFFERS_GO_ON_STACK 149#if ENABLE_FEATURE_BUFFERS_GO_ON_STACK
146#define RESERVE_CONFIG_BUFFER(buffer,len) char buffer[len] 150#define RESERVE_CONFIG_BUFFER(buffer,len) char buffer[len]
147#define RESERVE_CONFIG_UBUFFER(buffer,len) unsigned char buffer[len] 151#define RESERVE_CONFIG_UBUFFER(buffer,len) unsigned char buffer[len]
148#define RELEASE_CONFIG_BUFFER(buffer) ((void)0) 152#define RELEASE_CONFIG_BUFFER(buffer) ((void)0)
149#else 153#else
150#ifdef CONFIG_FEATURE_BUFFERS_GO_IN_BSS 154#if ENABLE_FEATURE_BUFFERS_GO_IN_BSS
151#define RESERVE_CONFIG_BUFFER(buffer,len) static char buffer[len] 155#define RESERVE_CONFIG_BUFFER(buffer,len) static char buffer[len]
152#define RESERVE_CONFIG_UBUFFER(buffer,len) static unsigned char buffer[len] 156#define RESERVE_CONFIG_UBUFFER(buffer,len) static unsigned char buffer[len]
153#define RELEASE_CONFIG_BUFFER(buffer) ((void)0) 157#define RELEASE_CONFIG_BUFFER(buffer) ((void)0)
@@ -466,7 +470,7 @@ extern void bb_do_delay(int seconds);
466extern void change_identity(const struct passwd *pw); 470extern void change_identity(const struct passwd *pw);
467extern const char *change_identity_e2str(const struct passwd *pw); 471extern const char *change_identity_e2str(const struct passwd *pw);
468extern void run_shell(const char *shell, int loginshell, const char *command, const char **additional_args); 472extern void run_shell(const char *shell, int loginshell, const char *command, const char **additional_args);
469#ifdef CONFIG_SELINUX 473#if ENABLE_SELINUX
470extern void renew_current_security_context(void); 474extern void renew_current_security_context(void);
471extern void set_current_security_context(security_context_t sid); 475extern void set_current_security_context(security_context_t sid);
472#endif 476#endif
@@ -636,7 +640,7 @@ extern const char bb_default_login_shell[];
636#define DEFAULT_SHELL_SHORT_NAME (bb_default_login_shell+6) 640#define DEFAULT_SHELL_SHORT_NAME (bb_default_login_shell+6)
637 641
638 642
639#ifdef CONFIG_FEATURE_DEVFS 643#if ENABLE_FEATURE_DEVFS
640# define CURRENT_VC "/dev/vc/0" 644# define CURRENT_VC "/dev/vc/0"
641# define VC_1 "/dev/vc/1" 645# define VC_1 "/dev/vc/1"
642# define VC_2 "/dev/vc/2" 646# define VC_2 "/dev/vc/2"
diff --git a/loginutils/passwd.c b/loginutils/passwd.c
index c825c978f..5c822b190 100644
--- a/loginutils/passwd.c
+++ b/loginutils/passwd.c
@@ -276,7 +276,8 @@ int passwd_main(int argc, char **argv)
276 } 276 }
277 277
278 filename = bb_path_passwd_file; 278 filename = bb_path_passwd_file;
279 if (ENABLE_FEATURE_SHADOWPASSWDS) { 279#if ENABLE_FEATURE_SHADOWPASSWDS
280 {
280 struct spwd *sp = getspnam(name); 281 struct spwd *sp = getspnam(name);
281 if (!sp) { 282 if (!sp) {
282 /* LOGMODE_BOTH */ 283 /* LOGMODE_BOTH */
@@ -288,6 +289,7 @@ int passwd_main(int argc, char **argv)
288 pw->pw_passwd = sp->sp_pwdp; 289 pw->pw_passwd = sp->sp_pwdp;
289 } 290 }
290 } 291 }
292#endif
291 293
292 /* Decide what the new password will be */ 294 /* Decide what the new password will be */
293 newp = NULL; 295 newp = NULL;
diff --git a/loginutils/sulogin.c b/loginutils/sulogin.c
index 30f9d9350..8bcb393f5 100644
--- a/loginutils/sulogin.c
+++ b/loginutils/sulogin.c
@@ -74,13 +74,15 @@ int sulogin_main(int argc, char **argv)
74 goto auth_error; 74 goto auth_error;
75 } 75 }
76 76
77 if (ENABLE_FEATURE_SHADOWPASSWDS) { 77#if ENABLE_FEATURE_SHADOWPASSWDS
78 {
78 struct spwd *spwd = getspnam(pwd->pw_name); 79 struct spwd *spwd = getspnam(pwd->pw_name);
79 if (!spwd) { 80 if (!spwd) {
80 goto auth_error; 81 goto auth_error;
81 } 82 }
82 pwd->pw_passwd = spwd->sp_pwdp; 83 pwd->pw_passwd = spwd->sp_pwdp;
83 } 84 }
85#endif
84 86
85 while (1) { 87 while (1) {
86 /* cp points to a static buffer that is zeroed every time */ 88 /* cp points to a static buffer that is zeroed every time */