summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamba Release Account <samba-bugs@samba.org>1997-07-03 17:19:46 +0000
committerSamba Release Account <samba-bugs@samba.org>1997-07-03 17:19:46 +0000
commitfc3901122d51b76b5dd5d6a798dace35760590ad (patch)
tree99a2cb7bae187fd954764ea34b7d304cf807fa02
parent6b7ca0ddfdc8e983fe867694967607bdbbe38d66 (diff)
downloadsamba-fc3901122d51b76b5dd5d6a798dace35760590ad.tar.gz
samba-fc3901122d51b76b5dd5d6a798dace35760590ad.tar.bz2
samba-fc3901122d51b76b5dd5d6a798dace35760590ad.zip
Fixes for UnixWare 2.x with shadow passwords from
Warren Young <tkennedy@cyberport.com>. (This used to be commit 885b42b44752249c85bb924c9ceefa5b710225da)
-rw-r--r--source3/include/includes.h6
-rw-r--r--source3/smbd/password.c9
2 files changed, 15 insertions, 0 deletions
diff --git a/source3/include/includes.h b/source3/include/includes.h
index 7403fc4b64..44707673ee 100644
--- a/source3/include/includes.h
+++ b/source3/include/includes.h
@@ -968,6 +968,12 @@ typedef int mode_t;
#define HAVE_VFORK 1
#endif
+/* For UnixWare 2.x's ia_uinfo routines. (tangent@cyberport.com) */
+#ifdef IA_UINFO
+#include <iaf.h>
+#include <ia.h>
+#endif
+
/*******************************************************************
end of the platform specific sections
diff --git a/source3/smbd/password.c b/source3/smbd/password.c
index 803418c97e..2ba09f5ad9 100644
--- a/source3/smbd/password.c
+++ b/source3/smbd/password.c
@@ -887,6 +887,15 @@ BOOL password_ok(char *user,char *password, int pwlen, struct passwd *pwd)
if (spass && spass->sp_pwdp)
pass->pw_passwd = spass->sp_pwdp;
}
+#elif defined(IA_UINFO)
+ {
+ /* Need to get password with SVR4.2's ia_ functions instead of
+ get{sp,pw}ent functions. Required by UnixWare 2.x, tested on
+ version 2.1. (tangent@cyberport.com) */
+ uinfo_t uinfo;
+ if (ia_openinfo(pass->pw_name, &uinfo) != -1)
+ ia_get_logpwd(uinfo, &(pass->pw_passwd));
+ }
#endif
#ifdef SecureWare