]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
netapi: fix NetUserAdd() against NT4.
authorGünther Deschner <gd@samba.org>
Thu, 17 Jul 2008 23:10:31 +0000 (01:10 +0200)
committerGünther Deschner <gd@samba.org>
Fri, 18 Jul 2008 14:46:46 +0000 (16:46 +0200)
Guenther

source/lib/netapi/user.c

index 0d8065dd7f5300370d3b773cc5bb4f598a5ba088..382704769df8badb0ba11757feca8eca14683a5d 100644 (file)
@@ -241,6 +241,21 @@ WERROR NetUserAdd_r(struct libnetapi_ctx *ctx,
                                                  &user_handle,
                                                  25,
                                                  user_info);
+
+               if (NT_STATUS_EQUAL(status, NT_STATUS(DCERPC_FAULT_INVALID_TAG))) {
+
+                       user_info->info23.info = info25.info;
+
+                       encode_pw_buffer(user_info->info23.password.data,
+                                        info1->usri1_password, STR_UNICODE);
+                       SamOEMhashBlob(user_info->info23.password.data, 516,
+                                      &cli->user_session_key);
+
+                       status = rpccli_samr_SetUserInfo2(pipe_cli, ctx,
+                                                         &user_handle,
+                                                         23,
+                                                         user_info);
+               }
        } else {
                user_info->info21 = info25.info;
                status = rpccli_samr_SetUserInfo(pipe_cli, ctx,