The branch, v3-2-test has been updated
       via  d9cec295bf55b3a7e16f548cc4bf64ce474b41e9 (commit)
       via  a9ff6760901a489ff8877717bdd5a2218154498f (commit)
       via  5bfa5cac639fc0821bfe38b4cd1f50b372c2330e (commit)
      from  c6d9650930510982ef4e4759272dba573fc81067 (commit)

http://gitweb.samba.org/?samba.git;a=shortlog;h=v3-2-test


- Log -----------------------------------------------------------------
commit d9cec295bf55b3a7e16f548cc4bf64ce474b41e9
Author: Günther Deschner <[EMAIL PROTECTED]>
Date:   Tue Feb 12 18:21:52 2008 +0100

    Use every

commit a9ff6760901a489ff8877717bdd5a2218154498f
Author: Günther Deschner <[EMAIL PROTECTED]>
Date:   Tue Feb 12 18:13:30 2008 +0100

    Use rpccli_samr_QueryUserInfo in net and winbindd.
    
    Guenther

commit 5bfa5cac639fc0821bfe38b4cd1f50b372c2330e
Author: Günther Deschner <[EMAIL PROTECTED]>
Date:   Tue Feb 12 18:04:07 2008 +0100

    Use rpccli_samr_QueryUserInfo() in rpcclient.
    
    Guenther

-----------------------------------------------------------------------

Summary of changes:
 source/libnet/libnet_join.c    |   11 +++--
 source/rpcclient/cmd_samr.c    |  116 ++++++++++++++++------------------------
 source/utils/net_domain.c      |   10 +++-
 source/utils/net_rpc.c         |   83 +++++++++++++++--------------
 source/winbindd/winbindd_pam.c |   12 ++--
 source/winbindd/winbindd_rpc.c |   18 ++++---
 6 files changed, 119 insertions(+), 131 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/libnet/libnet_join.c b/source/libnet/libnet_join.c
index e6fcc76..996b9e6 100644
--- a/source/libnet/libnet_join.c
+++ b/source/libnet/libnet_join.c
@@ -831,11 +831,12 @@ static NTSTATUS libnet_join_unjoindomain_rpc(TALLOC_CTX 
*mem_ctx,
        NTSTATUS status = NT_STATUS_UNSUCCESSFUL;
        char *acct_name;
        uint32 user_rid;
-       SAM_USERINFO_CTR ctr, *qctr = NULL;
+       SAM_USERINFO_CTR ctr;
        SAM_USER_INFO_16 p16;
        struct lsa_String lsa_acct_name;
        struct samr_Ids user_rids;
        struct samr_Ids name_types;
+       union samr_UserInfo *info = NULL;
 
        status = cli_full_connection(&cli, NULL,
                                     r->in.dc_name,
@@ -904,8 +905,10 @@ static NTSTATUS libnet_join_unjoindomain_rpc(TALLOC_CTX 
*mem_ctx,
                goto done;
        }
 
-       status = rpccli_samr_query_userinfo(pipe_hnd, mem_ctx,
-                                           &user_pol, 16, &qctr);
+       status = rpccli_samr_QueryUserInfo(pipe_hnd, mem_ctx,
+                                          &user_pol,
+                                          16,
+                                          &info);
        if (!NT_STATUS_IS_OK(status)) {
                rpccli_samr_Close(pipe_hnd, mem_ctx, &user_pol);
                goto done;
@@ -915,7 +918,7 @@ static NTSTATUS libnet_join_unjoindomain_rpc(TALLOC_CTX 
*mem_ctx,
        ctr.switch_value = 16;
        ctr.info.id16 = &p16;
 
-       p16.acb_info = qctr->info.id16->acb_info | ACB_DISABLED;
+       p16.acb_info = info->info16.acct_flags | ACB_DISABLED;
 
        status = rpccli_samr_set_userinfo2(pipe_hnd, mem_ctx, &user_pol, 16,
                                           &cli->user_session_key, &ctr);
diff --git a/source/rpcclient/cmd_samr.c b/source/rpcclient/cmd_samr.c
index c644c15..57f0758 100644
--- a/source/rpcclient/cmd_samr.c
+++ b/source/rpcclient/cmd_samr.c
@@ -32,97 +32,73 @@ static void init_lsa_String(struct lsa_String *name, const 
char *s)
 }
 
 /****************************************************************************
- display sam_user_info_7 structure
+ display samr_user_info_7 structure
  ****************************************************************************/
-static void display_sam_user_info_7(SAM_USER_INFO_7 *usr)
+static void display_samr_user_info_7(struct samr_UserInfo7 *r)
 {
-       fstring temp;
-
-       unistr2_to_ascii(temp, &usr->uni_name, sizeof(temp));
-       printf("\tUser Name   :\t%s\n", temp);
+       printf("\tUser Name   :\t%s\n", r->account_name.string);
 }
 
 /****************************************************************************
- display sam_user_info_9 structure
+ display samr_user_info_9 structure
  ****************************************************************************/
-static void display_sam_user_info_9(SAM_USER_INFO_9 *usr)
+static void display_samr_user_info_9(struct samr_UserInfo9 *r)
 {
-       printf("\tPrimary group RID   :\tox%x\n", usr->rid_group);
+       printf("\tPrimary group RID   :\tox%x\n", r->primary_gid);
 }
 
 /****************************************************************************
- display sam_user_info_16 structure
+ display samr_user_info_16 structure
  ****************************************************************************/
-static void display_sam_user_info_16(SAM_USER_INFO_16 *usr)
+static void display_samr_user_info_16(struct samr_UserInfo16 *r)
 {
-       printf("\tAcct Flags   :\tox%x\n", usr->acb_info);
+       printf("\tAcct Flags   :\tox%x\n", r->acct_flags);
 }
 
 /****************************************************************************
- display sam_user_info_21 structure
+ display samr_user_info_21 structure
  ****************************************************************************/
-static void display_sam_user_info_21(SAM_USER_INFO_21 *usr)
+static void display_samr_user_info_21(struct samr_UserInfo21 *r)
 {
-       fstring temp;
-
-       unistr2_to_ascii(temp, &usr->uni_user_name, sizeof(temp));
-       printf("\tUser Name   :\t%s\n", temp);
-
-       unistr2_to_ascii(temp, &usr->uni_full_name, sizeof(temp));
-       printf("\tFull Name   :\t%s\n", temp);
-
-       unistr2_to_ascii(temp, &usr->uni_home_dir, sizeof(temp));
-       printf("\tHome Drive  :\t%s\n", temp);
-
-       unistr2_to_ascii(temp, &usr->uni_dir_drive, sizeof(temp));
-       printf("\tDir Drive   :\t%s\n", temp);
-
-       unistr2_to_ascii(temp, &usr->uni_profile_path, sizeof(temp));
-       printf("\tProfile Path:\t%s\n", temp);
-
-       unistr2_to_ascii(temp, &usr->uni_logon_script, sizeof(temp));
-       printf("\tLogon Script:\t%s\n", temp);
-
-       unistr2_to_ascii(temp, &usr->uni_acct_desc, sizeof(temp));
-       printf("\tDescription :\t%s\n", temp);
-
-       unistr2_to_ascii(temp, &usr->uni_workstations, sizeof(temp));
-       printf("\tWorkstations:\t%s\n", temp);
-
-       unistr2_to_ascii(temp, &usr->uni_comment, sizeof(temp));
-       printf("\tUnknown Str :\t%s\n", temp);
-
-       unistr2_to_ascii(temp, &usr->uni_munged_dial, sizeof(temp));
-       printf("\tRemote Dial :\t%s\n", temp);
+       printf("\tUser Name   :\t%s\n", r->account_name.string);
+       printf("\tFull Name   :\t%s\n", r->full_name.string);
+       printf("\tHome Drive  :\t%s\n", r->home_directory.string);
+       printf("\tDir Drive   :\t%s\n", r->home_drive.string);
+       printf("\tProfile Path:\t%s\n", r->profile_path.string);
+       printf("\tLogon Script:\t%s\n", r->logon_script.string);
+       printf("\tDescription :\t%s\n", r->description.string);
+       printf("\tWorkstations:\t%s\n", r->workstations.string);
+       printf("\tComment     :\t%s\n", r->comment.string);
+       printf("\tRemote Dial :\t%s\n", r->parameters.string);
 
        printf("\tLogon Time               :\t%s\n",
-              http_timestring(nt_time_to_unix(usr->logon_time)));
+              http_timestring(nt_time_to_unix(r->last_logon)));
        printf("\tLogoff Time              :\t%s\n",
-              http_timestring(nt_time_to_unix(usr->logoff_time)));
+              http_timestring(nt_time_to_unix(r->last_logoff)));
        printf("\tKickoff Time             :\t%s\n",
-              http_timestring(nt_time_to_unix(usr->kickoff_time)));
+              http_timestring(nt_time_to_unix(r->acct_expiry)));
        printf("\tPassword last set Time   :\t%s\n",
-              http_timestring(nt_time_to_unix(usr->pass_last_set_time)));
+              http_timestring(nt_time_to_unix(r->last_password_change)));
        printf("\tPassword can change Time :\t%s\n",
-              http_timestring(nt_time_to_unix(usr->pass_can_change_time)));
+              http_timestring(nt_time_to_unix(r->allow_password_change)));
        printf("\tPassword must change Time:\t%s\n",
-              http_timestring(nt_time_to_unix(usr->pass_must_change_time)));
+              http_timestring(nt_time_to_unix(r->force_password_change)));
 
        printf("\tunknown_2[0..31]...\n"); /* user passwords? */
 
-       printf("\tuser_rid :\t0x%x\n"  , usr->user_rid ); /* User ID */
-       printf("\tgroup_rid:\t0x%x\n"  , usr->group_rid); /* Group ID */
-       printf("\tacb_info :\t0x%08x\n", usr->acb_info ); /* Account Control 
Info */
+       printf("\tuser_rid :\t0x%x\n"  , r->rid); /* User ID */
+       printf("\tgroup_rid:\t0x%x\n"  , r->primary_gid); /* Group ID */
+       printf("\tacb_info :\t0x%08x\n", r->acct_flags); /* Account Control 
Info */
 
-       printf("\tfields_present:\t0x%08x\n", usr->fields_present); /* 0x00ff 
ffff */
-       printf("\tlogon_divs:\t%d\n", usr->logon_divs); /* 0x0000 00a8 which is 
168 which is num hrs in a week */
-       printf("\tbad_password_count:\t0x%08x\n", usr->bad_password_count);
-       printf("\tlogon_count:\t0x%08x\n", usr->logon_count);
+       printf("\tfields_present:\t0x%08x\n", r->fields_present); /* 0x00ff 
ffff */
+       printf("\tlogon_divs:\t%d\n", r->logon_hours.units_per_week); /* 0x0000 
00a8 which is 168 which is num hrs in a week */
+       printf("\tbad_password_count:\t0x%08x\n", r->bad_password_count);
+       printf("\tlogon_count:\t0x%08x\n", r->logon_count);
 
        printf("\tpadding1[0..7]...\n");
 
-       if (usr->ptr_logon_hrs) {
-               printf("\tlogon_hrs[0..%d]...\n", usr->logon_hrs.len);
+       if (r->logon_hours.bits) {
+               printf("\tlogon_hrs[0..%d]...\n", 
r->logon_hours.units_per_week/8);
        }
 }
 
@@ -314,7 +290,7 @@ static NTSTATUS cmd_samr_query_user(struct rpc_pipe_client 
*cli,
        NTSTATUS result = NT_STATUS_UNSUCCESSFUL;
        uint32 info_level = 21;
        uint32 access_mask = MAXIMUM_ALLOWED_ACCESS;
-       SAM_USERINFO_CTR *user_ctr;
+       union samr_UserInfo *info = NULL;
        fstring server;
        uint32 user_rid = 0;
 
@@ -384,26 +360,26 @@ static NTSTATUS cmd_samr_query_user(struct 
rpc_pipe_client *cli,
        if (!NT_STATUS_IS_OK(result))
                goto done;
 
-       ZERO_STRUCT(user_ctr);
-
-       result = rpccli_samr_query_userinfo(cli, mem_ctx, &user_pol,
-                                        info_level, &user_ctr);
+       result = rpccli_samr_QueryUserInfo(cli, mem_ctx,
+                                          &user_pol,
+                                          info_level,
+                                          &info);
 
        if (!NT_STATUS_IS_OK(result))
                goto done;
 
-       switch (user_ctr->switch_value) {
+       switch (info_level) {
        case 7:
-               display_sam_user_info_7(user_ctr->info.id7);
+               display_samr_user_info_7(&info->info7);
                break;
        case 9:
-               display_sam_user_info_9(user_ctr->info.id9);
+               display_samr_user_info_9(&info->info9);
                break;
        case 16:
-               display_sam_user_info_16(user_ctr->info.id16);
+               display_samr_user_info_16(&info->info16);
                break;
        case 21:
-               display_sam_user_info_21(user_ctr->info.id21);
+               display_samr_user_info_21(&info->info21);
                break;
        default:
                printf("Unsupported infolevel: %d\n", info_level);
diff --git a/source/utils/net_domain.c b/source/utils/net_domain.c
index c545fd9..820b3ae 100644
--- a/source/utils/net_domain.c
+++ b/source/utils/net_domain.c
@@ -57,11 +57,12 @@ NTSTATUS netdom_leave_domain( TALLOC_CTX *mem_ctx, struct 
cli_state *cli,
        NTSTATUS status = NT_STATUS_UNSUCCESSFUL;
        char *acct_name;
        uint32 user_rid;
-       SAM_USERINFO_CTR ctr, *qctr = NULL;
+       SAM_USERINFO_CTR ctr;
        SAM_USER_INFO_16 p16;
        struct lsa_String lsa_acct_name;
        struct samr_Ids user_rids;
        struct samr_Ids name_types;
+       union samr_UserInfo *info = NULL;
 
        /* Open the domain */
        
@@ -123,7 +124,10 @@ NTSTATUS netdom_leave_domain( TALLOC_CTX *mem_ctx, struct 
cli_state *cli,
        
        /* Get user info */
 
-       status = rpccli_samr_query_userinfo(pipe_hnd, mem_ctx, &user_pol, 16, 
&qctr);
+       status = rpccli_samr_QueryUserInfo(pipe_hnd, mem_ctx,
+                                          &user_pol,
+                                          16,
+                                          &info);
        if ( !NT_STATUS_IS_OK(status) ) {
                rpccli_samr_Close(pipe_hnd, mem_ctx, &user_pol);
                goto done;
@@ -135,7 +139,7 @@ NTSTATUS netdom_leave_domain( TALLOC_CTX *mem_ctx, struct 
cli_state *cli,
        ctr.switch_value = 16;
        ctr.info.id16 = &p16;
 
-       p16.acb_info = qctr->info.id16->acb_info | ACB_DISABLED;
+       p16.acb_info = info->info16.acct_flags | ACB_DISABLED;
 
        status = rpccli_samr_set_userinfo2(pipe_hnd, mem_ctx, &user_pol, 16, 
                                        &cli->user_session_key, &ctr);
diff --git a/source/utils/net_rpc.c b/source/utils/net_rpc.c
index 403cb19..700e98b 100644
--- a/source/utils/net_rpc.c
+++ b/source/utils/net_rpc.c
@@ -881,6 +881,7 @@ static NTSTATUS rpc_user_rename_internals(const DOM_SID 
*domain_sid,
        SAM_USER_INFO_7 info7;
        struct samr_Ids user_rids, name_types;
        struct lsa_String lsa_acct_name;
+       union samr_UserInfo *info = NULL;
 
        if (argc != 2) {
                d_printf("Old and new username must be specified\n");
@@ -940,8 +941,10 @@ static NTSTATUS rpc_user_rename_internals(const DOM_SID 
*domain_sid,
        }
 
        /* Query user info */
-       result = rpccli_samr_query_userinfo(pipe_hnd, mem_ctx, &user_pol,
-                                        info_level, &user_ctr);
+       result = rpccli_samr_QueryUserInfo(pipe_hnd, mem_ctx,
+                                          &user_pol,
+                                          info_level,
+                                          &info);
 
        if (!NT_STATUS_IS_OK(result)) {
                goto done;
@@ -1507,24 +1510,24 @@ static NTSTATUS rpc_sh_user_show_internals(TALLOC_CTX 
*mem_ctx,
                                           int argc, const char **argv)
 {
        NTSTATUS result;
-       SAM_USERINFO_CTR *ctr;
-       SAM_USER_INFO_21 *info;
+       union samr_UserInfo *info = NULL;
 
        if (argc != 0) {
                d_fprintf(stderr, "usage: %s show <username>\n", ctx->whoami);
                return NT_STATUS_INVALID_PARAMETER;
        }
 
-       result = rpccli_samr_query_userinfo(pipe_hnd, mem_ctx, user_hnd,
-                                           21, &ctr);
+       result = rpccli_samr_QueryUserInfo(pipe_hnd, mem_ctx,
+                                          CONST_DISCARD(struct policy_handle 
*, user_hnd),
+                                          21,
+                                          &info);
        if (!NT_STATUS_IS_OK(result)) {
                return result;
        }
 
-       info = ctr->info.id21;
-
-       d_printf("user rid: %d, group rid: %d\n", info->user_rid,
-                info->group_rid);
+       d_printf("user rid: %d, group rid: %d\n",
+               info->info21.rid,
+               info->info21.primary_gid);
 
        return result;
 }
@@ -1540,7 +1543,7 @@ static NTSTATUS rpc_sh_user_show(TALLOC_CTX *mem_ctx,
 
 #define FETCHSTR(name, rec) \
 do { if (strequal(ctx->thiscmd, name)) { \
-       oldval = rpcstr_pull_unistr2_talloc(mem_ctx, &usr->uni_##rec); } \
+       oldval = talloc_strdup(mem_ctx, info->info21.rec.string); } \
 } while (0);
 
 #define SETSTR(name, rec, flag) \
@@ -1561,6 +1564,7 @@ static NTSTATUS rpc_sh_user_str_edit_internals(TALLOC_CTX 
*mem_ctx,
        SAM_USER_INFO_21 *usr;
        const char *username;
        const char *oldval = "";
+       union samr_UserInfo *info = NULL;
 
        if (argc > 1) {
                d_fprintf(stderr, "usage: %s <username> [new value|NULL]\n",
@@ -1568,22 +1572,22 @@ static NTSTATUS 
rpc_sh_user_str_edit_internals(TALLOC_CTX *mem_ctx,
                return NT_STATUS_INVALID_PARAMETER;
        }
 
-       result = rpccli_samr_query_userinfo(pipe_hnd, mem_ctx, user_hnd,
-                                           21, &ctr);
+       result = rpccli_samr_QueryUserInfo(pipe_hnd, mem_ctx,
+                                          CONST_DISCARD(struct policy_handle 
*, user_hnd),
+                                          21,
+                                          &info);
        if (!NT_STATUS_IS_OK(result)) {
                return result;
        }
 
-       usr = ctr->info.id21;
-
-       username = rpcstr_pull_unistr2_talloc(mem_ctx, &usr->uni_user_name);
+       username = talloc_strdup(mem_ctx, info->info21.account_name.string);
 
        FETCHSTR("fullname", full_name);
-       FETCHSTR("homedir", home_dir);
-       FETCHSTR("homedrive", dir_drive);
+       FETCHSTR("homedir", home_directory);
+       FETCHSTR("homedrive", home_drive);
        FETCHSTR("logonscript", logon_script);
        FETCHSTR("profilepath", profile_path);
-       FETCHSTR("description", acct_desc);
+       FETCHSTR("description", description);
 
        if (argc == 0) {
                d_printf("%s's %s: [%s]\n", username, ctx->thiscmd, oldval);
@@ -1646,6 +1650,7 @@ static NTSTATUS 
rpc_sh_user_flag_edit_internals(TALLOC_CTX *mem_ctx,
        const char *oldval = "unknown";
        uint32 oldflags, newflags;
        bool newval;
+       union samr_UserInfo *info = NULL;
 
        if ((argc > 1) ||
            ((argc == 1) && !strequal(argv[0], "yes") &&
@@ -1657,17 +1662,17 @@ static NTSTATUS 
rpc_sh_user_flag_edit_internals(TALLOC_CTX *mem_ctx,
 
        newval = strequal(argv[0], "yes");
 
-       result = rpccli_samr_query_userinfo(pipe_hnd, mem_ctx, user_hnd,
-                                           21, &ctr);
+       result = rpccli_samr_QueryUserInfo(pipe_hnd, mem_ctx,
+                                          CONST_DISCARD(struct policy_handle 
*, user_hnd),
+                                          21,
+                                          &info);
        if (!NT_STATUS_IS_OK(result)) {
                return result;
        }
 
-       usr = ctr->info.id21;
-
-       username = rpcstr_pull_unistr2_talloc(mem_ctx, &usr->uni_user_name);
-       oldflags = usr->acb_info;
-       newflags = usr->acb_info;
+       username = talloc_strdup(mem_ctx, info->info21.account_name.string);
+       oldflags = info->info21.acct_flags;
+       newflags = info->info21.acct_flags;
 
        HANDLEFLG("disabled", DISABLED);
        HANDLEFLG("pwnotreq", PWNOTREQ);
@@ -1817,12 +1822,10 @@ static NTSTATUS rpc_group_delete_internals(const 
DOM_SID *domain_sid,
        /* char **names; */
        int i;
        /* DOM_GID *user_gids; */
-       SAM_USERINFO_CTR *user_ctr;
-       fstring temp;
 
        struct samr_Ids group_rids, name_types;
        struct lsa_String lsa_acct_name;
-
+       union samr_UserInfo *info = NULL;
 
        if (argc < 1) {
                d_printf("specify group\n");
@@ -1907,23 +1910,23 @@ static NTSTATUS rpc_group_delete_internals(const 
DOM_SID *domain_sid,
                                        rids->rids[i]);
                                goto done;
                        }
-       
-                       ZERO_STRUCT(user_ctr);
 
-                       result = rpccli_samr_query_userinfo(pipe_hnd, mem_ctx, 
&user_pol,
-                                                        21, &user_ctr);
-       
+                       result = rpccli_samr_QueryUserInfo(pipe_hnd, mem_ctx,
+                                                          &user_pol,
+                                                          21,
+                                                          &info);
+
                        if (!NT_STATUS_IS_OK(result)) {
                                d_fprintf(stderr, "Unable to lookup userinfo 
for group member %d\n",
                                        rids->rids[i]);
                                goto done;
                        }
-       
-                       if (user_ctr->info.id21->group_rid == group_rid) {
-                               unistr2_to_ascii(temp, 
&(user_ctr->info.id21)->uni_user_name, 
-                                               sizeof(temp));
-                               if (opt_verbose) 
-                                       d_printf("Group is primary group of 
%s\n",temp);
+
+                       if (info->info21.primary_gid == group_rid) {
+                               if (opt_verbose) {
+                                       d_printf("Group is primary group of 
%s\n",
+                                               
info->info21.account_name.string);
+                               }
                                group_is_primary = True;
                         }
 
diff --git a/source/winbindd/winbindd_pam.c b/source/winbindd/winbindd_pam.c
index 759adb3..dd27ad6 100644
--- a/source/winbindd/winbindd_pam.c
+++ b/source/winbindd/winbindd_pam.c
@@ -1324,12 +1324,10 @@ NTSTATUS winbindd_dual_pam_auth_samlogon(struct 
winbindd_domain *domain,
 
                struct rpc_pipe_client *samr_pipe;
                POLICY_HND samr_domain_handle, user_pol;
-               SAM_USERINFO_CTR *user_ctr;
+               union samr_UserInfo *info = NULL;
                NTSTATUS status_tmp;
                uint32 acct_flags;
 
-               ZERO_STRUCT(user_ctr);
-
                status_tmp = cm_connect_sam(contact_domain, state->mem_ctx, 
                                            &samr_pipe, &samr_domain_handle);
 
@@ -1351,8 +1349,10 @@ NTSTATUS winbindd_dual_pam_auth_samlogon(struct 
winbindd_domain *domain,
                        goto done;
                }
 
-               status_tmp = rpccli_samr_query_userinfo(samr_pipe, 
state->mem_ctx, 
-                                                       &user_pol, 16, 
&user_ctr);
+               status_tmp = rpccli_samr_QueryUserInfo(samr_pipe, 
state->mem_ctx,
+                                                      &user_pol,
+                                                      16,
+                                                      &info);
 
                if (!NT_STATUS_IS_OK(status_tmp)) {
                        DEBUG(3, ("could not query user info on SAMR pipe: 
%s\n",
@@ -1361,7 +1361,7 @@ NTSTATUS winbindd_dual_pam_auth_samlogon(struct 
winbindd_domain *domain,
                        goto done;
                }
 
-               acct_flags = user_ctr->info.id16->acb_info;
+               acct_flags = info->info16.acct_flags;
 
                if (acct_flags == 0) {
                        rpccli_samr_Close(samr_pipe, state->mem_ctx, &user_pol);
diff --git a/source/winbindd/winbindd_rpc.c b/source/winbindd/winbindd_rpc.c
index fa9c1bc..2703f2f 100644
--- a/source/winbindd/winbindd_rpc.c
+++ b/source/winbindd/winbindd_rpc.c
@@ -409,7 +409,7 @@ static NTSTATUS query_user(struct winbindd_domain *domain,
 {
        NTSTATUS result = NT_STATUS_UNSUCCESSFUL;
        POLICY_HND dom_pol, user_pol;
-       SAM_USERINFO_CTR *ctr;
+       union samr_UserInfo *info = NULL;


-- 
Samba Shared Repository

Reply via email to