s3-netlogon: fix type of parameters string in user delta.
authorGünther Deschner <gd@samba.org>
Mon, 10 Nov 2008 11:32:26 +0000 (12:32 +0100)
committerGünther Deschner <gd@samba.org>
Mon, 10 Nov 2008 20:46:25 +0000 (21:46 +0100)
Guenther

source3/libnet/libnet_samsync_passdb.c
source3/librpc/gen_ndr/ndr_netlogon.c
source3/librpc/gen_ndr/netlogon.h

index 1faef7b3eb1064253d09566969afce520052da41..7ace77caceb8b640b3993ae91435ef13bdf07f6a 100644 (file)
@@ -118,12 +118,12 @@ static NTSTATUS sam_account_from_delta(struct samu *account,
                        pdb_set_profile_path(account, new_string, PDB_CHANGED);
        }
 
-       if (r->parameters.string) {
+       if (r->parameters.array) {
                DATA_BLOB mung;
                char *newstr;
                old_string = pdb_get_munged_dial(account);
-               mung.length = r->parameters.length;
-               mung.data = (uint8 *) r->parameters.string;
+               mung.length = r->parameters.length * 2;
+               mung.data = (uint8_t *) r->parameters.array;
                newstr = (mung.length == 0) ? NULL :
                        base64_encode_data_blob(talloc_tos(), mung);
 
index 6575dbcb913ff290acf285154d187905783bd6a9..ac23c36a7c74580b442cc9394b8e5d9e1fc7da90 100644 (file)
@@ -2513,7 +2513,7 @@ static enum ndr_err_code ndr_push_netr_DELTA_USER(struct ndr_push *ndr, int ndr_
                NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->lm_password_present));
                NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_expired));
                NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->comment));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->parameters));
+               NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_SCALARS, &r->parameters));
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->country_code));
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->code_page));
                NDR_CHECK(ndr_push_netr_USER_PRIVATE_INFO(ndr, NDR_SCALARS, &r->user_private_info));
@@ -2540,7 +2540,7 @@ static enum ndr_err_code ndr_push_netr_DELTA_USER(struct ndr_push *ndr, int ndr_
                NDR_CHECK(ndr_push_samr_Password(ndr, NDR_BUFFERS, &r->lmpassword));
                NDR_CHECK(ndr_push_samr_Password(ndr, NDR_BUFFERS, &r->ntpassword));
                NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->comment));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->parameters));
+               NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_BUFFERS, &r->parameters));
                NDR_CHECK(ndr_push_netr_USER_PRIVATE_INFO(ndr, NDR_BUFFERS, &r->user_private_info));
                NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
                NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
@@ -2578,7 +2578,7 @@ static enum ndr_err_code ndr_pull_netr_DELTA_USER(struct ndr_pull *ndr, int ndr_
                NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->lm_password_present));
                NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_expired));
                NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->comment));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->parameters));
+               NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_SCALARS, &r->parameters));
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->country_code));
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->code_page));
                NDR_CHECK(ndr_pull_netr_USER_PRIVATE_INFO(ndr, NDR_SCALARS, &r->user_private_info));
@@ -2605,7 +2605,7 @@ static enum ndr_err_code ndr_pull_netr_DELTA_USER(struct ndr_pull *ndr, int ndr_
                NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_BUFFERS, &r->lmpassword));
                NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_BUFFERS, &r->ntpassword));
                NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->comment));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->parameters));
+               NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_BUFFERS, &r->parameters));
                NDR_CHECK(ndr_pull_netr_USER_PRIVATE_INFO(ndr, NDR_BUFFERS, &r->user_private_info));
                NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
                NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
@@ -2643,7 +2643,7 @@ _PUBLIC_ void ndr_print_netr_DELTA_USER(struct ndr_print *ndr, const char *name,
        ndr_print_uint8(ndr, "lm_password_present", r->lm_password_present);
        ndr_print_uint8(ndr, "password_expired", r->password_expired);
        ndr_print_lsa_String(ndr, "comment", &r->comment);
-       ndr_print_lsa_String(ndr, "parameters", &r->parameters);
+       ndr_print_lsa_BinaryString(ndr, "parameters", &r->parameters);
        ndr_print_uint16(ndr, "country_code", r->country_code);
        ndr_print_uint16(ndr, "code_page", r->code_page);
        ndr_print_netr_USER_PRIVATE_INFO(ndr, "user_private_info", &r->user_private_info);
index e1dc69cca03f02d51732c297f0336be1d8dbc8b7..51cca4083b47236c00073f530f5e8c3d0be5df93 100644 (file)
@@ -327,7 +327,7 @@ struct netr_DELTA_USER {
        uint8_t lm_password_present;
        uint8_t password_expired;
        struct lsa_String comment;
-       struct lsa_String parameters;
+       struct lsa_BinaryString parameters;
        uint16_t country_code;
        uint16_t code_page;
        struct netr_USER_PRIVATE_INFO user_private_info;