# OpenBSD has a real setreuid(2) starting with 3.3 but
# we will use setresuid(2) instead.
SKIP_SETREUID=yes
- CHECKSHADOW="false"
+
# OpenBSD >= 3.0 supports BSD auth
if test -z "$with_bsdauth"; then
if test "$OSMAJOR" -ge 3; then
fi
: ${with_logincap='maybe'}
+ # Newer OpenBSD only fills in pw_password for getpwnam_shadow()
+ shadow_funcs="getpwnam_shadow"
+
# Examples go in share/examples/sudo
if test X"$with_exampledir" = X""; then
exampledir='$(datarootdir)/examples/$(PACKAGE_TARNAME)'
+
# OpenBSD has a real setreuid(2) starting with 3.3 but
# we will use setresuid(2) instead.
SKIP_SETREUID=yes
- CHECKSHADOW="false"
+
# OpenBSD >= 3.0 supports BSD auth
if test -z "$with_bsdauth"; then
if test "$OSMAJOR" -ge 3; then
fi
: ${with_logincap='maybe'}
+ # Newer OpenBSD only fills in pw_password for getpwnam_shadow()
+ shadow_funcs="getpwnam_shadow"
+
# Examples go in share/examples/sudo
if test X"$with_exampledir" = X""; then
exampledir='$(datarootdir)/examples/$(PACKAGE_TARNAME)'
AH_TEMPLATE(HAVE_FNMATCH, [Define to 1 if you have the `fnmatch' function.])
AH_TEMPLATE(HAVE_FWTK, [Define to 1 if you use the FWTK authsrv daemon.])
AH_TEMPLATE(HAVE_GETPRPWNAM, [Define to 1 if you have the `getprpwnam' function. (SecureWare-style shadow passwords).])
+AH_TEMPLATE(HAVE_GETPWNAM_SHADOW, [Define to 1 if you have the `getpwnam_shadow' function.])
AH_TEMPLATE(HAVE_GETSPNAM, [Define to 1 if you have the `getspnam' function (SVR4-style shadow passwords).])
AH_TEMPLATE(HAVE_GSS_KRB5_CCACHE_NAME, [Define to 1 if you have the `gss_krb5_ccache_name' function.])
AH_TEMPLATE(HAVE_HEIMDAL, [Define to 1 if your Kerberos is Heimdal.])
goto done;
#endif /* HAVE_ISCOMSEC */
+#ifdef HAVE_GETPWNAM_SHADOW
+ {
+ struct passwd *spw;
+
+ if ((spw = getpwnam_shadow(pw->pw_name)) != NULL)
+ epw = spw->pw_passwd;
+ }
+#endif /* HAVE_GETPWNAM_SHADOW */
#ifdef HAVE_GETPRPWNAM
{
struct pr_passwd *spw;