summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDarren Tucker <dtucker@zip.com.au>2005-02-09 17:08:23 +1100
committerDarren Tucker <dtucker@zip.com.au>2005-02-09 17:08:23 +1100
commit92170a862634bf9ebe958cc75911658d18e30538 (patch)
tree397fc75d254e3227db28dc532527179f21645acb
parent96d4710e3838af8c03a55ce37913568877dd0283 (diff)
- (dtucker) [auth-passwd.c openbsd-compat/port-aix.c] Don't call
disable_forwarding() from compat library. Prevent linker errrors trying to resolve it for binaries other than sshd. ok djm@
-rw-r--r--ChangeLog7
-rw-r--r--auth-passwd.c12
-rw-r--r--openbsd-compat/port-aix.c1
3 files changed, 12 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index 98cdf96a..633d70c3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -18,6 +18,11 @@
- dtucker@cvs.openbsd.org 2005/02/08 22:24:57
[sshd.c]
Provide reason in error message if getnameinfo fails; ok markus@
+ - (dtucker) [auth-passwd.c openbsd-compat/port-aix.c] Don't call
+ disable_forwarding() from compat library. Prevent linker errrors trying
+ to resolve it for binaries other than sshd. ok djm@
+
+ when
20050208
- (dtucker) [regress/test-exec.sh] Bug #912: Set _POSIX2_VERSION for the
@@ -2107,4 +2112,4 @@
- (djm) Trim deprecated options from INSTALL. Mention UsePAM
- (djm) Fix quote handling in sftp; Patch from admorten AT umich.edu
-$Id: ChangeLog,v 1.3644 2005/02/08 22:53:48 dtucker Exp $
+$Id: ChangeLog,v 1.3645 2005/02/09 06:08:23 dtucker Exp $
diff --git a/auth-passwd.c b/auth-passwd.c
index fb14f5ce..27ece3f7 100644
--- a/auth-passwd.c
+++ b/auth-passwd.c
@@ -73,7 +73,7 @@ int
auth_password(Authctxt *authctxt, const char *password)
{
struct passwd * pw = authctxt->pw;
- int ok = authctxt->valid;
+ int result, ok = authctxt->valid;
#if defined(USE_SHADOW) && defined(HAS_SHADOW_EXPIRE)
static int expire_checked = 0;
#endif
@@ -110,14 +110,14 @@ auth_password(Authctxt *authctxt, const char *password)
#if defined(USE_SHADOW) && defined(HAS_SHADOW_EXPIRE)
if (!expire_checked) {
expire_checked = 1;
- if (auth_shadow_pwexpired(authctxt)) {
- disable_forwarding();
+ if (auth_shadow_pwexpired(authctxt))
authctxt->force_pwchange = 1;
- }
}
#endif
-
- return (sys_auth_passwd(authctxt, password) && ok);
+ result = sys_auth_passwd(authctxt, password);
+ if (authctxt->force_pwchange)
+ disable_forwarding();
+ return (result && ok);
}
#ifdef BSD_AUTH
diff --git a/openbsd-compat/port-aix.c b/openbsd-compat/port-aix.c
index 27ab0615..b1698854 100644
--- a/openbsd-compat/port-aix.c
+++ b/openbsd-compat/port-aix.c
@@ -196,7 +196,6 @@ sys_auth_passwd(Authctxt *ctxt, const char *password)
break;
case 1: /* expired, password change required */
ctxt->force_pwchange = 1;
- disable_forwarding();
break;
default: /* user can't change(2) or other error (-1) */
logit("Password can't be changed for user %s: %.100s",