Implement QueryInfoPolicy2 similar to s4: Make it the same as QueryInfoPolicy
authorVolker Lendecke <vl@samba.org>
Sun, 28 Jun 2009 20:29:06 +0000 (22:29 +0200)
committerVolker Lendecke <vl@samba.org>
Sat, 4 Jul 2009 10:54:22 +0000 (12:54 +0200)
Don't reply to it for non-pdb-ads to keep up our old behaviour

source3/rpc_server/srv_lsa_nt.c

index 02ddbf76f3f86568232de10595f18d34570937dc..fa421070b9a300a13f58cc07c7aa35b59d2cb113 100644 (file)
@@ -2324,10 +2324,22 @@ NTSTATUS _lsa_RetrievePrivateData(pipes_struct *p, struct lsa_RetrievePrivateDat
        return NT_STATUS_NOT_IMPLEMENTED;
 }
 
-NTSTATUS _lsa_QueryInfoPolicy2(pipes_struct *p, struct lsa_QueryInfoPolicy2 *r)
+NTSTATUS _lsa_QueryInfoPolicy2(pipes_struct *p,
+                              struct lsa_QueryInfoPolicy2 *r2)
 {
-       p->rng_fault_state = True;
-       return NT_STATUS_NOT_IMPLEMENTED;
+       struct lsa_QueryInfoPolicy r;
+
+       if ((pdb_capabilities() & PDB_CAP_ADS) == 0) {
+               p->rng_fault_state = True;
+               return NT_STATUS_NOT_IMPLEMENTED;
+       }
+
+       ZERO_STRUCT(r);
+       r.in.handle = r2->in.handle;
+       r.in.level = r2->in.level;
+       r.out.info = r2->out.info;
+
+       return _lsa_QueryInfoPolicy(p, &r);
 }
 
 NTSTATUS _lsa_SetInfoPolicy2(pipes_struct *p, struct lsa_SetInfoPolicy2 *r)