diff options
author | Günther Deschner <gd@samba.org> | 2011-11-08 16:00:10 +0100 |
---|---|---|
committer | Karolin Seeger <kseeger@samba.org> | 2011-11-14 20:05:33 +0100 |
commit | 4d52675716997057941390c5711850c36786ef15 (patch) | |
tree | 97859a1348d9b10c637c284c69b707653113038c | |
parent | 9c7925120a06a3511f88d768fd9c459023d3c0fe (diff) | |
download | samba-4d52675716997057941390c5711850c36786ef15.tar.gz samba-4d52675716997057941390c5711850c36786ef15.tar.xz samba-4d52675716997057941390c5711850c36786ef15.zip |
samr: filterModuleName is a lsa_String in userPwdChangeFailureInformation.
The entire marshalling of samr_ChangePasswordUser3 broke with c2685cdedb430ae75a94e86f34484292b4269363.
Matthias, the bad effect of this change was that actually all failed password
change attempts will always return NT_STATUS_OK because the last 4 bytes (the
resulting status code) were not marshalled anymore.
Guenther
Autobuild-User: Günther Deschner <gd@samba.org>
Autobuild-Date: Wed Nov 9 00:41:13 CET 2011 on sn-devel-104
(cherry picked from commit 8a18edf1c2d553105cfcadec4d892e4e5a0fdba1)
The last 2 patches address bug #8591 (samr_ChangePasswordUser3 IDL incorrect).
-rw-r--r-- | librpc/idl/samr.idl | 2 | ||||
-rw-r--r-- | source4/torture/ndr/samr.c | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/librpc/idl/samr.idl b/librpc/idl/samr.idl index cafffc2ca12..78afb8165ef 100644 --- a/librpc/idl/samr.idl +++ b/librpc/idl/samr.idl @@ -1455,7 +1455,7 @@ import "misc.idl", "lsa.idl", "security.idl"; typedef struct { samPwdChangeReason extendedFailureReason; - [string,charset(UTF16)] uint16 *filterModuleName; + lsa_String filterModuleName; } userPwdChangeFailureInformation; [public] NTSTATUS samr_ChangePasswordUser3( diff --git a/source4/torture/ndr/samr.c b/source4/torture/ndr/samr.c index 803a2095d3e..c934931f179 100644 --- a/source4/torture/ndr/samr.c +++ b/source4/torture/ndr/samr.c @@ -297,6 +297,8 @@ static bool samr_changepassworduser3_w2k8r2_out_check(struct torture_context *tc torture_assert_u64_equal(tctx, dominfo->min_password_age, 0x0000000000000000, "min_password_age"); torture_assert_int_equal(tctx, reject->extendedFailureReason, SAM_PWD_CHANGE_NOT_COMPLEX, "extendedFailureReason"); + torture_assert_int_equal(tctx, reject->filterModuleName.length, 0, "filterModuleName.length"); + torture_assert_int_equal(tctx, reject->filterModuleName.size, 0, "filterModuleName.size"); torture_assert_ntstatus_equal(tctx, r->out.result, NT_STATUS_PASSWORD_RESTRICTION, "result"); |