[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: old/new password bv_len initialization causes test010 failure
At 11:14 AM 10/6/2005, Kurt D. Zeilenga wrote:
>[included opendlap-devel for discussion purposes]
>
>At 11:02 AM 10/6/2005, Howard Chu wrote:
>>Heh. Yes, since *qpw is unioned with everything else, old is also rs_reqdata for the original exop. I thought we left the rs_reqdata field in the req_pwdexop definition to prevent this overlap from occurring, but apparently not. I think adding it back in will be the easiest fix.
>
>It might be better to have something like:
> struct req_extended_s {
> ...
> union rs_exreq_u {
> req_passwdexop_s rs_passwdexop;
> }
> }
> struct slap_op {
> union o_req_u {
> ...
> req_extended_s oq_extended;
> } o_request
>#define oq_passwdexop oq_extended.rs_exreq_u.rs_passwdexop
> }
>
>And define req_password_s to only include the parsed fields
>from reqdata (e.g., fields not part of the base extended
>request -- reqoid, reqdata).
Another alternative would be leave slap_op alone,
but change req_pwdexop_s to be:
struct req_pwdexop_s {
struct req_extended_s rs_extended;
struct berval rs_old;
struct berval rs_new;
Modifications *rs_mods;
Modifications **rs_modtail;
}
Kurt