Add patches for bug #4866 from jiri sasek - Sun Microsystems - Prague Czech Republic...
authorJeremy Allison <jra@samba.org>
Tue, 11 Dec 2007 21:16:35 +0000 (13:16 -0800)
committerStefan Metzmacher <metze@samba.org>
Tue, 15 Jan 2008 13:02:34 +0000 (14:02 +0100)
- slightly modified - Jiri please check !  to allow Solaris to get passwords > 8 chars.
Jeremy.

(lib/replace part of 657bf8c3479d6192f269e3daef1517e77a9fa9cb metze)

source/lib/replace/getpass.m4
source/lib/replace/system/passwd.h

index 17dfdf7bf5b5384d7ce904bcfd2f0c67be50d738..c4da9aae593112aea4d2141b45692db0715a3ddb 100644 (file)
@@ -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/"
 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
        AC_DEFINE(REPLACE_GETPASS,1,[Whether getpass should be replaced])
        LIBREPLACEOBJ="${LIBREPLACEOBJ} getpass.o"
 fi
+
+fi
index 36fca7b4f8bcf325eb1a625f62407ba5ce2bedc7..cad3197ccbac4cb5471787e5d36d580efa708018 100644 (file)
 #endif
 
 #ifdef REPLACE_GETPASS
 #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
 #define getpass(prompt) rep_getpass(prompt)
 char *rep_getpass(const char *prompt);
 #endif
+#endif
 
 #ifndef NGROUPS_MAX
 #define NGROUPS_MAX 32 /* Guess... */
 
 #ifndef NGROUPS_MAX
 #define NGROUPS_MAX 32 /* Guess... */