From: Günther Deschner Date: Tue, 20 Oct 2009 10:50:33 +0000 (+0200) Subject: s3-lsa: implement _lsa_QueryTrustedDomainInfoByName(). X-Git-Tag: tevent-0.9.11~620 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=06245d13356bb2f7e00ec6ff020aff8758c9da32;p=thirdparty%2Fsamba.git s3-lsa: implement _lsa_QueryTrustedDomainInfoByName(). Guenther Signed-off-by: Günther Deschner --- diff --git a/source3/rpc_server/lsa/srv_lsa_nt.c b/source3/rpc_server/lsa/srv_lsa_nt.c index 5cb383c1d08..a70293aae51 100644 --- a/source3/rpc_server/lsa/srv_lsa_nt.c +++ b/source3/rpc_server/lsa/srv_lsa_nt.c @@ -1838,6 +1838,44 @@ NTSTATUS _lsa_QueryTrustedDomainInfoBySid(struct pipes_struct *p, return _lsa_Close(p, &c); } +/*************************************************************************** + _lsa_QueryTrustedDomainInfoByName + ***************************************************************************/ + +NTSTATUS _lsa_QueryTrustedDomainInfoByName(struct pipes_struct *p, + struct lsa_QueryTrustedDomainInfoByName *r) +{ + NTSTATUS status; + struct policy_handle trustdom_handle; + struct lsa_OpenTrustedDomainByName o; + struct lsa_QueryTrustedDomainInfo q; + struct lsa_Close c; + + o.in.handle = r->in.handle; + o.in.name.string = r->in.trusted_domain->string; + o.in.access_mask = SEC_FLAG_MAXIMUM_ALLOWED; + o.out.trustdom_handle = &trustdom_handle; + + status = _lsa_OpenTrustedDomainByName(p, &o); + if (!NT_STATUS_IS_OK(status)) { + return status; + } + + q.in.trustdom_handle = &trustdom_handle; + q.in.level = r->in.level; + q.out.info = r->out.info; + + status = _lsa_QueryTrustedDomainInfo(p, &q); + if (!NT_STATUS_IS_OK(status)) { + return status; + } + + c.in.handle = &trustdom_handle; + c.out.handle = &trustdom_handle; + + return _lsa_Close(p, &c); +} + /*************************************************************************** ***************************************************************************/ @@ -2976,13 +3014,6 @@ NTSTATUS _lsa_SetInfoPolicy2(struct pipes_struct *p, return NT_STATUS_NOT_IMPLEMENTED; } -NTSTATUS _lsa_QueryTrustedDomainInfoByName(struct pipes_struct *p, - struct lsa_QueryTrustedDomainInfoByName *r) -{ - p->rng_fault_state = True; - return NT_STATUS_NOT_IMPLEMENTED; -} - NTSTATUS _lsa_SetTrustedDomainInfoByName(struct pipes_struct *p, struct lsa_SetTrustedDomainInfoByName *r) {