diff options
-rw-r--r-- | source3/rpc_server/lsa/srv_lsa_nt.c | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/source3/rpc_server/lsa/srv_lsa_nt.c b/source3/rpc_server/lsa/srv_lsa_nt.c index d235a6542c..1a43b197aa 100644 --- a/source3/rpc_server/lsa/srv_lsa_nt.c +++ b/source3/rpc_server/lsa/srv_lsa_nt.c @@ -1531,12 +1531,32 @@ NTSTATUS _lsa_CreateTrustedDomainEx(struct pipes_struct *p, } /*************************************************************************** + _lsa_CreateTrustedDomain ***************************************************************************/ NTSTATUS _lsa_CreateTrustedDomain(struct pipes_struct *p, struct lsa_CreateTrustedDomain *r) { - return NT_STATUS_ACCESS_DENIED; + struct lsa_CreateTrustedDomainEx2 c; + struct lsa_TrustDomainInfoInfoEx info; + struct lsa_TrustDomainInfoAuthInfoInternal auth_info; + + ZERO_STRUCT(auth_info); + + info.domain_name = r->in.info->name; + info.netbios_name = r->in.info->name; + info.sid = r->in.info->sid; + info.trust_direction = LSA_TRUST_DIRECTION_OUTBOUND; + info.trust_type = LSA_TRUST_TYPE_DOWNLEVEL; + info.trust_attributes = 0; + + c.in.policy_handle = r->in.policy_handle; + c.in.info = &info; + c.in.auth_info = &auth_info; + c.in.access_mask = r->in.access_mask; + c.out.trustdom_handle = r->out.trustdom_handle; + + return _lsa_CreateTrustedDomainEx2(p, &c); } /*************************************************************************** |