]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
samr: filterModuleName is a lsa_String in userPwdChangeFailureInformation.
authorGünther Deschner <gd@samba.org>
Tue, 8 Nov 2011 15:00:10 +0000 (16:00 +0100)
committerKarolin Seeger <kseeger@samba.org>
Mon, 23 Jan 2012 20:27:32 +0000 (21:27 +0100)
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).
(cherry picked from commit 4d52675716997057941390c5711850c36786ef15)

librpc/idl/samr.idl
source4/torture/ndr/samr.c

index cafffc2ca1291a611ecec124b5071312a6ae372b..78afb8165ef0dcdaf5bca7797747b344fc62d1fa 100644 (file)
@@ -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(
index 803a2095d3e7c6cb582e60b388c5b2f35837d4c4..c934931f1795d53981d293c778020672e181f81e 100644 (file)
@@ -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");