The branch, v3-2-test has been updated
       via  874a0ffd7dbd993230c00c503ec6b27fbffb7745 (commit)
       via  7e178a3dc970f55ddb30b4fc467aaaa06ef35b0f (commit)
      from  71bd0bd0ea018e8c5033bbf904333c596330855a (commit)

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


- Log -----------------------------------------------------------------
commit 874a0ffd7dbd993230c00c503ec6b27fbffb7745
Author: Günther Deschner <[EMAIL PROTECTED]>
Date:   Tue Mar 11 11:30:55 2008 +0100

    Trying to fix resume_handling for srvsvc_NetShareEnumAll.
    
    Guenther

commit 7e178a3dc970f55ddb30b4fc467aaaa06ef35b0f
Author: Günther Deschner <[EMAIL PROTECTED]>
Date:   Tue Mar 11 11:29:49 2008 +0100

    Allow to send no resume_handle in rpcclient's NetShareEnum* calls.
    
    Guenther

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

Summary of changes:
 source/rpc_server/srv_srvsvc_nt.c |    6 +++++-
 source/rpcclient/cmd_srvsvc.c     |    6 ++++--
 2 files changed, 9 insertions(+), 3 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/rpc_server/srv_srvsvc_nt.c 
b/source/rpc_server/srv_srvsvc_nt.c
index eb304aa..6421efd 100644
--- a/source/rpc_server/srv_srvsvc_nt.c
+++ b/source/rpc_server/srv_srvsvc_nt.c
@@ -694,7 +694,11 @@ static WERROR init_srv_share_info_ctr(pipes_struct *p,
 
        *total_entries = alloc_entries;
        if (resume_handle_p) {
-               *resume_handle_p = num_entries;
+               if (all_shares) {
+                       *resume_handle_p = (num_entries == 0) ? 
*resume_handle_p : 0;
+               } else {
+                       *resume_handle_p = num_entries;
+               }
        }
 
        info_ctr->ctr = ctr;
diff --git a/source/rpcclient/cmd_srvsvc.c b/source/rpcclient/cmd_srvsvc.c
index f6985cb..0c447e0 100644
--- a/source/rpcclient/cmd_srvsvc.c
+++ b/source/rpcclient/cmd_srvsvc.c
@@ -269,6 +269,7 @@ static WERROR cmd_srvsvc_net_share_enum_int(struct 
rpc_pipe_client *cli,
        NTSTATUS status;
        uint32_t totalentries = 0;
        uint32_t resume_handle = 0;
+       uint32_t *resume_handle_p = NULL;
        uint32 preferred_len = 0xffffffff, i;
 
        if (argc > 3) {
@@ -282,6 +283,7 @@ static WERROR cmd_srvsvc_net_share_enum_int(struct 
rpc_pipe_client *cli,
 
        if (argc == 3) {
                resume_handle = atoi(argv[2]);
+               resume_handle_p = &resume_handle;
        }
 
        ZERO_STRUCT(info_ctr);
@@ -338,7 +340,7 @@ static WERROR cmd_srvsvc_net_share_enum_int(struct 
rpc_pipe_client *cli,
                                                            &info_ctr,
                                                            preferred_len,
                                                            &totalentries,
-                                                           &resume_handle,
+                                                           resume_handle_p,
                                                            &result);
                        break;
                case NDR_SRVSVC_NETSHAREENUMALL:
@@ -347,7 +349,7 @@ static WERROR cmd_srvsvc_net_share_enum_int(struct 
rpc_pipe_client *cli,
                                                               &info_ctr,
                                                               preferred_len,
                                                               &totalentries,
-                                                              &resume_handle,
+                                                              resume_handle_p,
                                                               &result);
                        break;
                default:


-- 
Samba Shared Repository

Reply via email to