summaryrefslogtreecommitdiff
path: root/source4/lib/replace
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2007-12-11 13:16:35 -0800
committerStefan Metzmacher <metze@samba.org>2008-01-15 14:02:34 +0100
commit645c6518d75c683865a29d1b8c49247a092399da (patch)
treefe2ad19a42cb765b8924d1dc6eaa9571c87ba678 /source4/lib/replace
parentbab53c5e53bac25b7031838953de6083dbbfbc5d (diff)
downloadsamba-645c6518d75c683865a29d1b8c49247a092399da.tar.gz
samba-645c6518d75c683865a29d1b8c49247a092399da.tar.bz2
samba-645c6518d75c683865a29d1b8c49247a092399da.zip
Add patches for bug #4866 from jiri sasek - Sun Microsystems - Prague Czech Republic <Jiri.Sasek@Sun.COM>
- slightly modified - Jiri please check ! to allow Solaris to get passwords > 8 chars. Jeremy. (lib/replace part of 657bf8c3479d6192f269e3daef1517e77a9fa9cb metze) (This used to be commit 9f5c443972a09a70de7c8d6695b08c3730484c6c)
Diffstat (limited to 'source4/lib/replace')
-rw-r--r--source4/lib/replace/getpass.m410
-rw-r--r--source4/lib/replace/system/passwd.h4
2 files changed, 14 insertions, 0 deletions
diff --git a/source4/lib/replace/getpass.m4 b/source4/lib/replace/getpass.m4
index 17dfdf7bf5..c4da9aae59 100644
--- a/source4/lib/replace/getpass.m4
+++ b/source4/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/source4/lib/replace/system/passwd.h b/source4/lib/replace/system/passwd.h
index 36fca7b4f8..cad3197ccb 100644
--- a/source4/lib/replace/system/passwd.h
+++ b/source4/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... */