]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
r4933: List not only the first 10 trusts with rpcclient -c enumtrust.
authorVolker Lendecke <vlendec@samba.org>
Sat, 22 Jan 2005 17:12:19 +0000 (17:12 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 15:55:08 +0000 (10:55 -0500)
Volker

source/rpcclient/cmd_lsarpc.c

index 7d60749ae2ff1395811b0557132eeb3123552483..597c950a2416eece4b66e1df98370d23d078782f 100644 (file)
@@ -278,23 +278,29 @@ static NTSTATUS cmd_lsa_enum_trust_dom(struct cli_state *cli,
        if (!NT_STATUS_IS_OK(result))
                goto done;
 
-       /* Lookup list of trusted domains */
-
-       result = cli_lsa_enum_trust_dom(cli, mem_ctx, &pol, &enum_ctx,
-                                       &num_domains,
-                                       &domain_names, &domain_sids);
-       if (!NT_STATUS_IS_OK(result) &&
-           !NT_STATUS_EQUAL(result, NT_STATUS_NO_MORE_ENTRIES) &&
-           !NT_STATUS_EQUAL(result, STATUS_MORE_ENTRIES))
-           goto done;
-
-       /* Print results: list of names and sids returned in this response. */   
-       for (i = 0; i < num_domains; i++) {
-               fstring sid_str;
+       result = STATUS_MORE_ENTRIES;
+
+       while (NT_STATUS_EQUAL(result, STATUS_MORE_ENTRIES)) {
 
-               sid_to_string(sid_str, &domain_sids[i]);
-               printf("%s %s\n", domain_names[i] ? domain_names[i] : 
-                      "*unknown*", sid_str);
+               /* Lookup list of trusted domains */
+
+               result = cli_lsa_enum_trust_dom(cli, mem_ctx, &pol, &enum_ctx,
+                                               &num_domains,
+                                               &domain_names, &domain_sids);
+               if (!NT_STATUS_IS_OK(result) &&
+                   !NT_STATUS_EQUAL(result, NT_STATUS_NO_MORE_ENTRIES) &&
+                   !NT_STATUS_EQUAL(result, STATUS_MORE_ENTRIES))
+                       goto done;
+
+               /* Print results: list of names and sids returned in this
+                * response. */  
+               for (i = 0; i < num_domains; i++) {
+                       fstring sid_str;
+
+                       sid_to_string(sid_str, &domain_sids[i]);
+                       printf("%s %s\n", domain_names[i] ? domain_names[i] : 
+                              "*unknown*", sid_str);
+               }
        }
 
  done: