summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGünther Deschner <gd@samba.org>2011-11-08 16:00:10 +0100
committerGünther Deschner <gd@samba.org>2011-11-09 00:41:13 +0100
commit8a18edf1c2d553105cfcadec4d892e4e5a0fdba1 (patch)
tree9bdecb1a18644efdf5ccb22fc744962bb0ca5394
parentbfe084bd8bbdfa0a0fa31521584f3bc142785fb8 (diff)
downloadsamba-8a18edf1c2d553105cfcadec4d892e4e5a0fdba1.tar.gz
samba-8a18edf1c2d553105cfcadec4d892e4e5a0fdba1.tar.bz2
samba-8a18edf1c2d553105cfcadec4d892e4e5a0fdba1.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
-rw-r--r--librpc/idl/samr.idl2
-rw-r--r--source4/torture/ndr/samr.c2
2 files changed, 3 insertions, 1 deletions
diff --git a/librpc/idl/samr.idl b/librpc/idl/samr.idl
index 4113a5432d..b9d1d34ae3 100644
--- a/librpc/idl/samr.idl
+++ b/librpc/idl/samr.idl
@@ -1448,7 +1448,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 ce4d76c326..91bb4d7d54 100644
--- a/source4/torture/ndr/samr.c
+++ b/source4/torture/ndr/samr.c
@@ -298,6 +298,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");