[1173] in Kerberos-V5-bugs

home help back first fref pref prev next nref lref last post

krb5b4pl3: kdc/kdc_util.c: client with expired key should be able to get PWCHANGE ticket

daemon@ATHENA.MIT.EDU (Jonathan I. Kamens)
Tue Mar 14 14:55:43 1995

From: "Jonathan I. Kamens" <jik@cam.ov.com>
Date: Tue, 14 Mar 1995 14:58:47 -0500
To: krb5-bugs@MIT.EDU

A client with an expired key should be able to get an initial ticket
for any password-changing service.

--- kdc/kdc_util.c	1995/03/09 15:18:26	1.1
+++ kdc/kdc_util.c	1995/03/14 19:56:10
@@ -738,8 +738,10 @@
 	return KRB_AP_ERR_BADADDR;
     }
     
-    /* The client's password must not be expired */
-    if (client.pw_expiration && client.pw_expiration < kdc_time) {
+    /* The client's password must not be expired, unless the server is
+       a KRB5_KDC_PWCHANGE_SERVICE. */
+    if (client.pw_expiration && client.pw_expiration < kdc_time &&
+	!isflagset(server.attributes, KRB5_KDB_PWCHANGE_SERVICE)) {
 	*status = "CLIENT KEY EXPIRED";
 #ifdef KRBCONF_VAGUE_ERRORS
 	return(KRB_ERR_GENERIC);

home help back first fref pref prev next nref lref last post