[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: (ITS#5569) smbk5pwd breaks ppolicy-mandated password changes



This is a multi-part message in MIME format.
--------------020700010705000602080304
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

bgmilne@staff.telkomsa.net wrote:
> Full_Name: Buchan Milne
> Version: 2.3.41
> OS: Linux 2.6
> URL: ftp://ftp.openldap.org/incoming/
> Submission from: (NULL) (196.207.32.38)

> I have not run this same test case on 2.4.x yet, but I remember having problems
> trying to change passwords on 2.4.10 with a very similar configuration, so I
> think it exists in 2.4.10 as well.

Please try this patch...

-- 
   -- Howard Chu
   CTO, Symas Corp.           http://www.symas.com
   Director, Highland Sun     http://highlandsun.com/hyc/
   Chief Architect, OpenLDAP  http://www.openldap.org/project/

--------------020700010705000602080304
Content-Type: text/plain;
 name="dif.txt"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="dif.txt"

Index: ppolicy.c
===================================================================
RCS file: /repo/OpenLDAP/pkg/ldap/servers/slapd/overlays/ppolicy.c,v
retrieving revision 1.115
diff -u -r1.115 ppolicy.c
--- ppolicy.c	12 Jun 2008 19:12:35 -0000	1.115
+++ ppolicy.c	8 Jul 2008 09:55:17 -0000
@@ -1401,7 +1401,7 @@
 	Attribute		*pa, *ha, at;
 	const char		*txt;
 	pw_hist			*tl = NULL, *p;
-	int			zapReset, send_ctrl = 0;
+	int			zapReset, send_ctrl = 0, pwexop = 0;
 	Entry			*e;
 	struct berval		newpw = BER_BVNULL, oldpw = BER_BVNULL,
 				*bv, cr[2];
@@ -1526,6 +1526,7 @@
 				req_pwdexop_s *qpw = sc->sc_private;
 				newpw = qpw->rs_new;
 				oldpw = qpw->rs_old;
+				pwexop = 1;
 			   	break;
 			}
 		}
@@ -1581,7 +1582,7 @@
 				}
 			}
 
-		} else if ( !is_at_operational( ml->sml_desc->ad_type ) ) {
+		} else if ( !pwexop && !is_at_operational( ml->sml_desc->ad_type ) ) {
 			mod_pw_only = 0;
 			/* modifying something other than password */
 		}

--------------020700010705000602080304--