From: Volker Lendecke Date: Sun, 28 Jun 2009 20:29:06 +0000 (+0200) Subject: Implement QueryInfoPolicy2 similar to s4: Make it the same as QueryInfoPolicy X-Git-Tag: talloc-2.0.0~769 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=8666e79f8fc3fd05fabefeeadc2bd6a2a6f1c18a;p=thirdparty%2Fsamba.git Implement QueryInfoPolicy2 similar to s4: Make it the same as QueryInfoPolicy Don't reply to it for non-pdb-ads to keep up our old behaviour --- diff --git a/source3/rpc_server/srv_lsa_nt.c b/source3/rpc_server/srv_lsa_nt.c index 02ddbf76f3f..fa421070b9a 100644 --- a/source3/rpc_server/srv_lsa_nt.c +++ b/source3/rpc_server/srv_lsa_nt.c @@ -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)