diff options
-rw-r--r-- | source3/lib/replace/getpass.m4 | 10 | ||||
-rw-r--r-- | source3/lib/replace/system/passwd.h | 4 | ||||
-rw-r--r-- | source3/nsswitch/winbind_nss_config.h | 2 |
3 files changed, 15 insertions, 1 deletions
diff --git a/source3/lib/replace/getpass.m4 b/source3/lib/replace/getpass.m4 index 17dfdf7bf5..c4da9aae59 100644 --- a/source3/lib/replace/getpass.m4 +++ b/source3/lib/replace/getpass.m4 @@ -1,3 +1,11 @@ +AC_CHECK_FUNC(getpass, samba_cv_HAVE_GETPASS=yes) +AC_CHECK_FUNC(getpassphrase, samba_cv_HAVE_GETPASSPHRASE=yes) +if test x"$samba_cv_HAVE_GETPASS" = x"yes" -a x"$samba_cv_HAVE_GETPASSPHRASE" = x"yes"; then + AC_DEFINE(REPLACE_GETPASS_BY_GETPASSPHRASE, 1, [getpass returns <9 chars where getpassphrase returns <265 chars]) + AC_DEFINE(REPLACE_GETPASS,1,[Whether getpass should be replaced]) + LIBREPLACEOBJ="${LIBREPLACEOBJ} getpass.o" +else + AC_CACHE_CHECK([whether getpass should be replaced],samba_cv_REPLACE_GETPASS,[ SAVE_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS -I$libreplacedir/" @@ -12,3 +20,5 @@ if test x"$samba_cv_REPLACE_GETPASS" = x"yes"; then AC_DEFINE(REPLACE_GETPASS,1,[Whether getpass should be replaced]) LIBREPLACEOBJ="${LIBREPLACEOBJ} getpass.o" fi + +fi diff --git a/source3/lib/replace/system/passwd.h b/source3/lib/replace/system/passwd.h index 36fca7b4f8..cad3197ccb 100644 --- a/source3/lib/replace/system/passwd.h +++ b/source3/lib/replace/system/passwd.h @@ -68,9 +68,13 @@ #endif #ifdef REPLACE_GETPASS +#if defined(REPLACE_GETPASS_BY_GETPASSPHRASE) +#define getpass(prompt) getpassphrase(prompt) +#else #define getpass(prompt) rep_getpass(prompt) char *rep_getpass(const char *prompt); #endif +#endif #ifndef NGROUPS_MAX #define NGROUPS_MAX 32 /* Guess... */ diff --git a/source3/nsswitch/winbind_nss_config.h b/source3/nsswitch/winbind_nss_config.h index 39c4343fb2..7f0e4b92e0 100644 --- a/source3/nsswitch/winbind_nss_config.h +++ b/source3/nsswitch/winbind_nss_config.h @@ -34,9 +34,9 @@ #include "lib/replace/replace.h" #endif -#include "system/passwd.h" #include "system/filesys.h" #include "system/network.h" +#include "system/passwd.h" #include "nsswitch/winbind_nss.h" |