Author: gd
Date: 2006-05-05 08:26:34 +0000 (Fri, 05 May 2006)
New Revision: 15455

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=15455

Log:
Add rpccli_samr_query_dom_info2() and return the comment string in
samr_query_domain_info(2) for consistency reasons.

Guenther

Modified:
   branches/SAMBA_3_0/source/rpc_client/cli_samr.c
   branches/SAMBA_3_0/source/rpc_server/srv_samr_nt.c
   trunk/source/rpc_client/cli_samr.c
   trunk/source/rpc_server/srv_samr_nt.c


Changeset:
Modified: branches/SAMBA_3_0/source/rpc_client/cli_samr.c
===================================================================
--- branches/SAMBA_3_0/source/rpc_client/cli_samr.c     2006-05-05 08:22:50 UTC 
(rev 15454)
+++ branches/SAMBA_3_0/source/rpc_client/cli_samr.c     2006-05-05 08:26:34 UTC 
(rev 15455)
@@ -1124,6 +1124,48 @@
        return result;
 }
 
+/* Query domain info2 */
+
+NTSTATUS rpccli_samr_query_dom_info2(struct rpc_pipe_client *cli,
+                                    TALLOC_CTX *mem_ctx, 
+                                    POLICY_HND *domain_pol,
+                                    uint16 switch_value,
+                                    SAM_UNK_CTR *ctr)
+{
+       prs_struct qbuf, rbuf;
+       SAMR_Q_QUERY_DOMAIN_INFO2 q;
+       SAMR_R_QUERY_DOMAIN_INFO2 r;
+       NTSTATUS result = NT_STATUS_UNSUCCESSFUL;
+
+       DEBUG(10,("cli_samr_query_dom_info2\n"));
+
+       ZERO_STRUCT(q);
+       ZERO_STRUCT(r);
+
+       /* Marshall data and send request */
+
+       init_samr_q_query_domain_info2(&q, domain_pol, switch_value);
+
+       r.ctr = ctr;
+
+       CLI_DO_RPC(cli, mem_ctx, PI_SAMR, SAMR_QUERY_DOMAIN_INFO2,
+               q, r,
+               qbuf, rbuf,
+               samr_io_q_query_domain_info2,
+               samr_io_r_query_domain_info2,
+               NT_STATUS_UNSUCCESSFUL); 
+
+       /* Return output parameters */
+
+       if (!NT_STATUS_IS_OK(result = r.status)) {
+               goto done;
+       }
+
+ done:
+
+       return result;
+}
+
 /* Set domain info */
 
 NTSTATUS rpccli_samr_set_domain_info(struct rpc_pipe_client *cli,

Modified: branches/SAMBA_3_0/source/rpc_server/srv_samr_nt.c
===================================================================
--- branches/SAMBA_3_0/source/rpc_server/srv_samr_nt.c  2006-05-05 08:22:50 UTC 
(rev 15454)
+++ branches/SAMBA_3_0/source/rpc_server/srv_samr_nt.c  2006-05-05 08:26:34 UTC 
(rev 15455)
@@ -2302,6 +2302,9 @@
                        
                        init_unk_info3(&ctr->info.inf3, nt_logout);
                        break;
+               case 0x04:
+                       init_unk_info4(&ctr->info.inf4, lp_serverstring());
+                       break;
                case 0x05:
                        init_unk_info5(&ctr->info.inf5, get_global_sam_name());
                        break;

Modified: trunk/source/rpc_client/cli_samr.c
===================================================================
--- trunk/source/rpc_client/cli_samr.c  2006-05-05 08:22:50 UTC (rev 15454)
+++ trunk/source/rpc_client/cli_samr.c  2006-05-05 08:26:34 UTC (rev 15455)
@@ -1124,6 +1124,48 @@
        return result;
 }
 
+/* Query domain info2 */
+
+NTSTATUS rpccli_samr_query_dom_info2(struct rpc_pipe_client *cli,
+                                    TALLOC_CTX *mem_ctx, 
+                                    POLICY_HND *domain_pol,
+                                    uint16 switch_value,
+                                    SAM_UNK_CTR *ctr)
+{
+       prs_struct qbuf, rbuf;
+       SAMR_Q_QUERY_DOMAIN_INFO2 q;
+       SAMR_R_QUERY_DOMAIN_INFO2 r;
+       NTSTATUS result = NT_STATUS_UNSUCCESSFUL;
+
+       DEBUG(10,("cli_samr_query_dom_info2\n"));
+
+       ZERO_STRUCT(q);
+       ZERO_STRUCT(r);
+
+       /* Marshall data and send request */
+
+       init_samr_q_query_domain_info2(&q, domain_pol, switch_value);
+
+       r.ctr = ctr;
+
+       CLI_DO_RPC(cli, mem_ctx, PI_SAMR, SAMR_QUERY_DOMAIN_INFO2,
+               q, r,
+               qbuf, rbuf,
+               samr_io_q_query_domain_info2,
+               samr_io_r_query_domain_info2,
+               NT_STATUS_UNSUCCESSFUL); 
+
+       /* Return output parameters */
+
+       if (!NT_STATUS_IS_OK(result = r.status)) {
+               goto done;
+       }
+
+ done:
+
+       return result;
+}
+
 /* Set domain info */
 
 NTSTATUS rpccli_samr_set_domain_info(struct rpc_pipe_client *cli,

Modified: trunk/source/rpc_server/srv_samr_nt.c
===================================================================
--- trunk/source/rpc_server/srv_samr_nt.c       2006-05-05 08:22:50 UTC (rev 
15454)
+++ trunk/source/rpc_server/srv_samr_nt.c       2006-05-05 08:26:34 UTC (rev 
15455)
@@ -2302,6 +2302,9 @@
                        
                        init_unk_info3(&ctr->info.inf3, nt_logout);
                        break;
+               case 0x04:
+                       init_unk_info4(&ctr->info.inf4, lp_serverstring());
+                       break;
                case 0x05:
                        init_unk_info5(&ctr->info.inf5, get_global_sam_name());
                        break;

Reply via email to